Metode til adgang til virtuel opbevaring

Virtual Storage Access Method ( VSAM , "metode til at få adgang til virtuel hukommelse ") er en metode til at få adgang til filer, der bruges på IBM mainframe-systemer. Navngivningen er baseret på ideen om at kunne adressere filindhold som celler i (virtuel) hovedhukommelse, som understøttes ved hjælp af en RBA ( Relative Byte Address ). Dette gjorde det muligt for første gang at ikke længere behøver at tage hensyn til de fysiske egenskaber af de lagringsmedier ( pladecylinderen, for eksempel). VSAM bruges i vid udstrækning i z / OS- og z / VSE- operativsystemerne .

Teknisk set består en VSAM-fil af poster i et katalog, en VVDS (VSAM Volume Data Set) med metadata og mindst en fysisk fil på en eller flere diske. VSAM-filer omtales derfor også som klynger (datahopper). Der er forskellige former for VSAM-klynger:

KSDS
( Sekventielt nøgledatasæt ) Med denne filtype får VSAM adgang til dataene via et indeks, der er gemt i et separat datasæt på operativsystemniveau . Sekventiel adgang understøttes også.
ESDS
( Indgang sekventielt datasæt ) Med denne filtype får VSAM adgang til filens data sekventielt. Dataposterne læses efter hinanden i nøjagtig den rækkefølge, som de er i filen. Ved hjælp af alternative indekser kan direkte adgang muliggøres ved hjælp af indekser (nøglefelter).
RRDS
( Relativ postdatasæt ) VSAM får adgang til dataene ved hjælp af logiske postnumre.
LDS
( Lineært datasæt ) VSAM styrer dataene som en ustruktureret byte-stream, der kan fortolkes af applikationssoftwaren efter behov.

VSAM-filer oprettes og administreres under z / OS ved hjælp af hjælpeværktøjet IDCAMS . De kan behandles med alle de programmeringssprog, der ofte bruges der.

Databasesystemer som IMS (under z / VSE: DL / I) eller DB2 bruger VSAM-klynger til at gemme deres data. Katalogerne til z / OS-katalogsystemet (ICF, Integrated Catalog System) er VSAM-filer. Andre centrale systemkomponenter bruger også VSAM-filer (normalt LDS) som datalagring. Eksempler:

  • hardwarekonfigurationen (HCD)
  • systemloggeren
  • zSeries-filsystemet zFS

Eksempel: Brug af en VSAM-KSDS

Da nøglen ( nøgle ) normalt består af flere oplysninger såsom "dato for indtastning, vare, antal" er, og VSAM-klyngen sorteres efter nøglen, er der en kraftig og nem adgang til alle poster, der begynder med en delvis nøgle .

For eksempel, hvis alle optegnelser ( optegnelser ) vælges, var en udstationeringsdato i januar 2003. VSAM tilbyder GENKEY- indstillingen til dette , som står for Generic Key . Når du læser for første gang, får READ- kommandoen en nøgle, der kun består af 6 bytes ("ÅÅÅÅMM"). Derfra kan du fortsætte med at læse sekventielt, indtil de første 6 byte i nøglen ikke længere stemmer overens. I pseudokode kunne det se sådan ud:

  • Indstil END til 'N'
  • Åbn filen i et VSAM-miljø med en generisk nøgle.
  • Læs den første post, hvis nøgle begynder med "200301".
  • Så længe END ikke er lig med 'J':
    • Skriv posten til printeren
    • Læs den næste post
    • Når slutningen af ​​filen er nået, eller begyndelsen af ​​nøglen til dataposten, der lige er læst, stemmer ikke længere overens:
      • Indstil END til 'J'
  • Luk filen

litteratur