Metod för virtuell lagringsåtkomst

Metod för virtuell lagringsåtkomst ( VSAM , "metod för åtkomst till virtuellt minne ") är en metod för åtkomst till filer som används på IBM-system. Namngivningen baseras på idén att kunna adressera filinnehåll som celler i (virtuellt) huvudminne, vilket stöds med hjälp av en RBA ( Relative Byte Address ). Detta gjorde det möjligt att för första gången att inte längre måste beakta de fysikaliska egenskaperna hos lagringsmediet ( plåtcylindrar, till exempel). VSAM används ofta i operativsystemen z / OS och z / VSE .

Tekniskt sett består en VSAM-fil av poster i en katalog, en VVDS (VSAM Volume Data Set) med metadata och minst en fysisk fil på en eller flera diskar. VSAM-filer kallas därför också för kluster (datahögar). Det finns olika former av VSAM-kluster:

KSDS
( Key sequential dataset ) Med detta filformat får VSAM åtkomst till data via ett index som lagras i en separat dataset på operativsystemsnivå . Sekventiell åtkomst stöds också.
ESDS
( Entry sequential dataset ) Med denna filtyp får VSAM åtkomst till datasetet för filen sekventiellt. Dataposterna läses efter varandra i exakt den ordning de är i filen. Med hjälp av alternativa index kan direktåtkomst möjliggöras med hjälp av index (nyckelfält).
RRDS
( Relativ postdatauppsättning ) VSAM får åtkomst till data med hjälp av logiska postnummer.
LDS
( Linjär datauppsättning ) VSAM hanterar data som en ostrukturerad byteflöde, som dock kan tolkas av applikationsprogramvaran.

VSAM-filer skapas och hanteras under z / OS med hjälp av IDCAMS-verktyget . De kan bearbetas med alla de programmeringsspråk som vanligtvis används där.

Databasesystem som IMS (under z / VSE: DL / I) eller DB2 använder VSAM-kluster för att lagra deras data. Katalogerna för z / OS-katalogsystemet (ICF, Integrated Catalog System) är VSAM-filer. Andra centrala systemkomponenter använder också VSAM-filer (vanligtvis LDS) som datalagring. Exempel:

  • hårdvarukonfigurationen (HCD)
  • systemloggaren
  • zSeries-filsystemet zFS

Exempel: Användning av en VSAM-KSDS

Eftersom nyckeln ( nyckel ) vanligtvis består av flera uppgifter som "datum för inmatning, artikel, kvantitet" är och VSAM-kluster sorteras efter nyckeln finns det en kraftfull och enkel åtkomst till alla poster som börjar med en partiell nyckel. .

Till exempel, om alla poster ( Records ) skulle väljas, var det ett bokningsdatum i januari 2003. VSAM erbjuder alternativet GENKEY för detta , som står för Generic Key . När du läser för första gången får du LÄS- kommandot en nyckel som bara består av 6 byte ("ÅÅÅÅM"). Därifrån kan du fortsätta läsa sekventiellt tills nyckelns första 6 byte inte längre matchar. I pseudokod kan det se ut så här:

  • Ställ END till 'N'
  • Öppna filen i en VSAM-miljö med en generisk nyckel.
  • Läs den första skivan vars nyckel börjar med "200301".
  • Så länge END inte är lika med 'J':
    • Skriv posten till skrivaren
    • Läs nästa post
    • När slutet på filen har uppnåtts eller början på nyckeln till dataposten bara läser inte längre matchar:
      • Ställ SLUT på 'J'
  • Stäng filen

litteratur