Virtual Storage Access Method

aus Wikipedia, der freien Enzyklopadie
Zur Navigation springen Zur Suche springen

Virtual Storage Access Method ( VSAM , ?Methode fur Zugriff auf virtuellen Speicher “) ist eine Zugriffsmethode auf Dateien, die auf IBM -Großrechnersystemen seit den 1970er Jahren verwendet wird. Die Namensgebung basiert auf der Idee, Dateiinhalte wie Zellen im ( virtuellen ) Hauptspeicher adressieren zu konnen, was mit Hilfe einer RBA ( Relative Byte Address , ?relative Byte-Adresse“) unterstutzt wird. Erstmals wurde es dadurch moglich, auf physikalische Eigenschaften der Speichermedien (z. B. Plattenzylinder ) keine Rucksicht mehr nehmen zu mussen. VSAM ist weit verbreitet unter den Betriebssystemen z/OS und z/VSE .

Technisch besteht eine VSAM-Datei aus Eintragen in einem Katalog, einem VVDS (VSAM Volume Data Set) mit Metadaten und mindestens einer physischen Datei auf einer oder mehreren Platten. VSAM-Dateien werden daher auch als Cluster (sinngemaß Datenhaufen) bezeichnet. Es gibt verschiedene Formen von VSAM-Clustern:

KSDS
( Key sequential Dataset ) Bei dieser Dateiform greift VSAM uber einen Index auf die Daten zu, der auf Betriebssystemebene in einem eigenen Dataset gespeichert wird. Gleichermaßen wird der sequentielle Zugriff unterstutzt. Diese Organisationsform entspricht im Wesentlichen einem Index Sequential Access Method (ISAM) organisierten Dateiformat . [1]
ESDS
( Entry sequential Dataset ) Bei dieser Dateiform greift VSAM sequentiell auf den Datenbestand der Datei zu. Die Datensatze werden also einer nach dem anderen genau in der Reihenfolge gelesen, in der sie in der Datei stehen. Mit Hilfe von Alternativindizes kann nachtraglich ein Direktzugriff mit Hilfe von Indizes (Schlusselfelder) ermoglicht werden.
RRDS
( Relative Record Dataset ) VSAM greift mit Hilfe von logischen Satznummern auf die Daten zu.
LDS
( Linear Dataset ) VSAM verwaltet die Daten als unstrukturierten Bytestrom, der aber beliebig von der Anwendungssoftware interpretierbar ist.

VSAM-Dateien werden unter z/OS mit Hilfe des Utilitys IDCAMS angelegt und verwaltet. Sie konnen mit allen dort gangigen Programmiersprachen verarbeitet werden.

Datenbanksysteme wie IMS (unter z/VSE: DL/I), oder DB2 benutzen VSAM-Cluster zur Speicherung ihrer Daten. Die Kataloge des z/OS-Katalogsystems (ICF, Integrated Catalog System) sind VSAM-Dateien. Ebenso nutzen weitere zentrale Systemkomponenten VSAM-Dateien (in der Regel LDS) als Datenablage. Beispiele:

  • die Hardwarekonfiguration (HCD)
  • der Systemlogger
  • das zSeries-Dateisystem zFS

Beispiel: Nutzung eines VSAM-KSDS

[ Bearbeiten | Quelltext bearbeiten ]

Da der Schlussel ( Key ) meist aus mehreren Informationen, wie etwa ?Buchungsdatum, Artikel, Menge“ besteht und der VSAM-Cluster nach dem Key sortiert ist, ergibt sich eine leistungsfahige und schnelle Zugriffsmoglichkeit auf alle Records , die mit einem Teilschlussel beginnen.

Beispielsweise sollen alle Datensatze ( Records ) ausgewahlt werden, deren Buchungsdatum im Januar 2003 war. Dafur bietet VSAM die Option GENKEY , was fur Generic Key (?generischer Schlussel“) steht. Beim ersten Lesen ubergibt man dem READ -Befehl einen Schlussel, der nur aus 6 Bytes besteht (?JJJJMM“). Von dort aus kann man sequenziell weiterlesen, bis die ersten 6 Bytes des Schlussels nicht mehr ubereinstimmen. In Pseudocode konnte das so aussehen:

  • Setze ENDE auf 'N'
  • Offne die Datei in einer VSAM-Umgebung mit generischem Key.
  • Lies den ersten Datensatz, dessen Key mit "200301" beginnt.
  • Solange ENDE ungleich 'J':
    • Schreibe Datensatz auf den Drucker
    • Lies den nachsten Datensatz
    • Wenn Dateiende erreicht oder der Anfang des Keys des eben gelesenen Datensatzes nicht mehr ubereinstimmt:
      • Setze ENDE auf 'J'
  • Schließe die Datei

Einzelnachweise

[ Bearbeiten | Quelltext bearbeiten ]
  1. VSAM - Introduction. Abgerufen am 13. Marz 2022 (englisch).