Virtual Storage Access MethodVirtual Storage Access Method (VSAM, „Methode für 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 können, was mit Hilfe einer RBA (Relative Byte Address, „relative Byte-Adresse“) unterstützt wird. Erstmals wurde es dadurch möglich, auf physikalische Eigenschaften der Speichermedien (z. B. Plattenzylinder) keine Rücksicht mehr nehmen zu müssen. VSAM ist weit verbreitet unter den Betriebssystemen z/OS und z/VSE. ÜberblickTechnisch besteht eine VSAM-Datei aus Einträgen 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 (sinngemäß Datenhaufen) bezeichnet. Es gibt verschiedene Formen von VSAM-Clustern:
VSAM-Dateien werden unter z/OS mit Hilfe des Utilitys IDCAMS angelegt und verwaltet. Sie können mit allen dort gängigen 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:
Beispiel: Nutzung eines VSAM-KSDSDa der Schlüssel (Key) meist aus mehreren Informationen, wie etwa „Buchungsdatum, Artikel, Menge“ besteht und der VSAM-Cluster nach dem Key sortiert ist, ergibt sich eine leistungsfähige und schnelle Zugriffsmöglichkeit auf alle Records, die mit einem Teilschlüssel beginnen. Beispielsweise sollen alle Datensätze (Records) ausgewählt werden, deren Buchungsdatum im Januar 2003 war. Dafür bietet VSAM die Option GENKEY, was für Generic Key („generischer Schlüssel“) steht. Beim ersten Lesen übergibt man dem READ-Befehl einen Schlüssel, der nur aus 6 Bytes besteht („JJJJMM“). Von dort aus kann man sequenziell weiterlesen, bis die ersten 6 Bytes des Schlüssels nicht mehr übereinstimmen. In Pseudocode könnte das so aussehen:
Literatur
Einzelnachweise
|
Portal di Ensiklopedia Dunia