„Virtual Storage Access Method“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K Revert auf Version von Benutzer:DumZiBoT (11:01 Uhr, 12. Mai 2009). Grund: keine Verbesserung des Artikels |
Aka (Diskussion | Beiträge) K →Literatur: https |
||
(13 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Virtual Storage Access Method''' ('''VSAM''', „Methode für Zugriff auf |
'''Virtual Storage Access Method''' ('''VSAM''', „Methode für Zugriff auf [[Virtueller Speicher|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 ([[Virtuelle Speicherverwaltung|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. [[Festplattenlaufwerk#Logische Struktur der Scheiben|Plattenzylinder]]) keine Rücksicht mehr nehmen zu müssen. VSAM ist weit verbreitet unter den Betriebssystemen [[z/OS]] und [[z/VSE]]. |
||
VSAM ist weit verbreitet unter den Betriebssystemen [[z/OS]] und [[z/VSE]]. |
|||
== Überblick == |
|||
Technisch 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. |
Technisch 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: |
||
; KSDS: (''Key sequential Dataset'') Bei dieser Dateiform greift VSAM über einen [[Datenbankindex|Index]] auf die Daten zu, der auf Betriebssystemebene in einem eigenen [[Dataset]] gespeichert wird. Gleichermaßen wird der sequentielle Zugriff unterstützt. |
; KSDS: (''Key sequential Dataset'') Bei dieser Dateiform greift VSAM über einen [[Datenbankindex|Index]] auf die Daten zu, der auf Betriebssystemebene in einem eigenen [[Dataset (IBM-Großrechner)|Dataset]] gespeichert wird. Gleichermaßen wird der sequentielle Zugriff unterstützt. Diese Organisationsform entspricht im Wesentlichen einem [[Index Sequential Access Method]] (ISAM) organisierten [[Dateiformat]].<ref>{{Internetquelle |url=https://www.ibmmainframer.com/vsam-tutorial/vsam-introduction/ |titel=VSAM - Introduction |abruf=2022-03-13 |sprache=en}}</ref> |
||
; ESDS: (''Entry sequential Dataset'') Bei dieser Dateiform greift VSAM sequentiell auf den Datenbestand der Datei zu. Die Datensätze werden also einer nach dem anderen genau in der Reihenfolge gelesen, in der sie in der Datei stehen. Mit Hilfe von Alternativindizes kann nachträglich ein Direktzugriff mit Hilfe von Indizes (Schlüsselfelder) ermöglicht werden. |
; ESDS: (''Entry sequential Dataset'') Bei dieser Dateiform greift VSAM sequentiell auf den Datenbestand der Datei zu. Die Datensätze werden also einer nach dem anderen genau in der Reihenfolge gelesen, in der sie in der Datei stehen. Mit Hilfe von Alternativindizes kann nachträglich ein Direktzugriff mit Hilfe von Indizes (Schlüsselfelder) ermöglicht werden. |
||
; RRDS: (''Relative Record Dataset'') VSAM greift mit Hilfe von logischen Satznummern auf die Daten zu. |
; RRDS: (''Relative Record Dataset'') VSAM greift mit Hilfe von logischen Satznummern auf die Daten zu. |
||
Zeile 17: | Zeile 17: | ||
== Beispiel: Nutzung eines VSAM-KSDS == |
== Beispiel: Nutzung eines VSAM-KSDS == |
||
Da der [[Schlüssel (Informatik)|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 [[ |
Da der [[Schlüssel (Informatik)|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 [[Verbund (Datentyp)|Records]], die mit einem Teilschlüssel beginnen. |
||
Beispielsweise sollen alle [[Datensatz|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: |
Beispielsweise sollen alle [[Datensatz|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: |
||
Zeile 31: | Zeile 31: | ||
== Literatur == |
== Literatur == |
||
* IBM Redbook [ |
* IBM Redbook [https://www.redbooks.ibm.com/abstracts/sg246105.html?Open VSAM Demystified] |
||
== Einzelnachweise == |
|||
<references /> |
|||
[[Kategorie:Dateisystem]] |
[[Kategorie:Dateisystem]] |
||
[[Kategorie:IBM]] |
[[Kategorie:IBM]] |
||
[[en:Virtual storage access method]] |
|||
[[es:Virtual Storage Access Method]] |
|||
[[fr:Virtual Storage Access Method]] |
|||
[[it:VSAM]] |
|||
[[ja:Virtual Storage Access Method]] |
|||
[[nl:VSAM]] |
|||
[[pl:VSAM]] |
Aktuelle Version vom 10. Dezember 2023, 12:55 Uhr
Virtual 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.
Überblick
[Bearbeiten | Quelltext bearbeiten]Technisch 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:
- KSDS
- (Key sequential Dataset) Bei dieser Dateiform greift VSAM über einen Index auf die Daten zu, der auf Betriebssystemebene in einem eigenen Dataset gespeichert wird. Gleichermaßen wird der sequentielle Zugriff unterstützt. 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 Datensätze werden also einer nach dem anderen genau in der Reihenfolge gelesen, in der sie in der Datei stehen. Mit Hilfe von Alternativindizes kann nachträglich ein Direktzugriff mit Hilfe von Indizes (Schlüsselfelder) ermöglicht 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 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:
- die Hardwarekonfiguration (HCD)
- der Systemlogger
- das zSeries-Dateisystem zFS
Beispiel: Nutzung eines VSAM-KSDS
[Bearbeiten | Quelltext bearbeiten]Da 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:
- Setze ENDE auf 'N'
- Öffne 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 nächsten Datensatz
- Wenn Dateiende erreicht oder der Anfang des Keys des eben gelesenen Datensatzes nicht mehr übereinstimmt:
- Setze ENDE auf 'J'
- Schließe die Datei
Literatur
[Bearbeiten | Quelltext bearbeiten]- IBM Redbook VSAM Demystified
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ VSAM - Introduction. Abgerufen am 13. März 2022 (englisch).