Metode til virtuel lageradgang - Virtual Storage Access Method
Virtual Opbevaring Access Method ( VSAM ) er en IBM DASD fil opbevaring adgang metode , første gang brugt i OS / VS1 , OS / VS2 Release 1 (SVS) og Release 2 (MVS) operativsystemer, senere anvendes i hele Multiple Virtual Lager (MVS ) arkitektur og nu i z / OS . Oprindeligt en rekord-orienterede filsystem , omfatter VSAM fire datasæt organisationer : key-sekventeret (KSDS), relativ rekord (RRDS), post-sekventeret (ESDS) og lineære (LDS). KSDS-, RRDS- og ESDS-organisationerne indeholder poster, mens LDS-organisationen (tilføjet senere til VSAM) simpelthen indeholder en sekvens af sider uden iboende poststruktur til brug som en hukommelseskortet fil .
Oversigt
En IBM Redbook med navnet "VSAM PRIMER" (især når den bruges med "Virtual Storage Access Method (VSAM) Options for Advanced Applications") forklarer de begreber, der er nødvendige for at gøre brug af VSAM. IBM bruger udtrykket datasæt i officiel dokumentation som et synonym for fil og direkte adgangslager ( DASD ), fordi det understøttede andre enheder, der ligner diskdrev .
VSAM-poster kan have en fast eller variabel længde. De er organiseret i blokke i fast størrelse kaldet Control Intervals (CIs) og derefter i større divisioner kaldet Control Areas (CA'er). Kontrolintervallstørrelser måles i byte - for eksempel 4 kilobyte - mens kontrolarealstørrelser måles i diskspor eller cylindre. Kontrolintervaller er enhederne til overførsel mellem disk og computer, så en læseanmodning læser et komplet kontrolinterval. Kontrolområder er enhederne, der tildeles, så når et VSAM-datasæt defineres, tildeles et integreret antal kontrolområder.
Access Method Services-hjælpeprogrammet IDCAMS bruges ofte til at manipulere ("slette og definere") VSAM-datasæt. Brugerdefinerede programmer kan få adgang til VSAM-datasæt via Data Definition (DD) -erklæringer i Job Control Language (JCL), via dynamisk tildeling eller i online-regioner såsom i Customer Information Control System (CICS).
Både IMS / DB og DB2 er implementeret oven på VSAM og bruger dens underliggende datastrukturer .
VSAM filer
Den fysiske organisering af VSAM-datasæt adskiller sig betydeligt fra de organisationer, der anvendes af andre adgangsmetoder, som følger.
En VSAM-fil er defineret som en klynge af VSAM-komponenter, f.eks. For KSDS en DATA-komponent og en INDEX-komponent.
Kontrolintervaller og kontrolområder
VSAM-komponenter består af fysiske blokke med fast længde grupperet i kontrolintervaller med fast længde (CI) og kontrolområder (CA). Størrelsen af CI og CA bestemmes af AMS ( Access Method Services ), og den måde, de bruges på, er normalt ikke synlig for brugeren. Der vil være et fast antal kontrolintervaller i hvert kontrolområde.
Et kontrolinterval indeholder normalt flere poster. Optegnelserne lagres inden for kontrolintervallet fra den lave adresse og opad. Kontrolinformation gemmes i den anden ende af kontrolintervallet, startende fra den høje adresse og bevæger sig nedad. Mellemrummet mellem posterne og kontrolinformationen er ledig plads. Kontrolinformationen omfatter to typer indtastning: et kontrolinterval deskriptorfelt (CIDF), der altid er til stede, og record deskriptorfelter (RDF), der er til stede, når der er poster inden for kontrolintervallet og beskriver længden af den tilknyttede post. Fri plads inden for et CI er altid sammenhængende.
Når poster indsættes i et kontrolinterval, placeres de i den rigtige rækkefølge i forhold til andre poster. Dette kan kræve, at poster flyttes ud af vejen inden for kontrolintervallet. Omvendt, når en post slettes, flyttes senere poster ned, så den ledige plads forbliver sammenhængende. Hvis der ikke er nok ledig plads i et kontrolinterval til, at en post kan indsættes, opdeles kontrolintervallet. Omtrent halvdelen af posterne er gemt i det oprindelige kontrolinterval, mens de resterende poster flyttes ind i et nyt kontrolinterval. Det nye kontrolinterval er taget fra en pool af gratis kontrolintervaller inden for det samme kontrolområde som det oprindelige kontrolinterval. Hvis der ikke er noget resterende frit kontrolinterval inden for dette kontrolområde, deles selve kontrolområdet, og kontrolintervallerne fordeles ligeligt mellem det gamle og det nye kontrolområde.
Du kan bruge tre typer rekordorienteret filorganisation med VSAM (indholdet af lineære datasæt har ingen rekordstruktur):
Sekventiel VSAM-organisation
Et ESDS kan have et indeks defineret for at muliggøre adgang via taster ved at definere et alternativt indeks. Optegnelser i ESDS opbevares i den rækkefølge, som de skrives ved adresseadgang. Records indlæses uanset deres indhold, og deres byte-adresser kan ikke ændres.
Indekseret VSAM-organisation
En KSDS har to dele: indekskomponenten og datakomponenten. Disse kan gemmes på separate diskvolumener.
Mens en grundlæggende KSDS kun har en nøgle (den primære nøgle), kan alternative indekser defineres for at tillade brug af yderligere felter som sekundære nøgler. Et alternativt indeks (AIX) er i sig selv et KSDS.
Datastrukturen, der bruges af et KSDS, er i dag kendt som et B + -træ .
Relativ VSAM-organisation
En RRDS kan have et indeks defineret for at muliggøre adgang via taster ved at definere et alternativt indeks.
Lineær VSAM-organisation
En LDS er et ustruktureret VSAM-datasæt med en kontrolintervalstørrelse på et multipel af 4K. Det bruges af visse systemtjenester.
VSAM dataadgangsteknikker
Der er fire typer adgangsteknikker til VSAM-data:
- Local Shared Resources (LSR) er optimeret til "tilfældig" eller direkte adgang. LSR-adgang er let at opnå fra CICS .
- Global Shared Resources (GSR)
- Ikke-delte ressourcer (NSR), som er optimeret til sekventiel adgang. NSR-adgang har historisk været lettere at bruge end LSR til batchprogrammer.
- Distribueret filstyring (DFM), en implementering af en distribueret datastyringsarkitekturserver , gør det muligt for programmer på eksterne computere at oprette, administrere og få adgang til VSAM-filer.
Deling af VSAM-data
Deling af VSAM-data mellem CICS-regioner kan ske ved VSAM Record-Level Sharing (RLS). Dette tilføjer record caching og vigtigere, record locking. Logning og behandling af forpligtelser forbliver CICSs ansvar, hvilket betyder, at deling af VSAM-data uden for et CICS-miljø er stærkt begrænset.
Deling mellem CICS-regioner og batchjob kræver Transaktionel VSAM , DFSMStvs. Dette er et valgfrit program, der bygger på VSAM RLS ved at tilføje logning og tofasetagning ved hjælp af underliggende z / OS-systemtjenester. Dette tillader generaliseret deling af VSAM-data.
Historie
VSAM blev introduceret som erstatning for ældre adgangsmetoder og var beregnet til at tilføje funktion, være lettere at bruge og overvinde problemer med ydeevne og enhedsafhængighed. VSAM blev introduceret i 1970'erne, da IBM annoncerede virtuelle lagringsoperativsystemer (DOS / VS, OS / VS1 og OS / VS2) til sin nye System / 370-serie, som efterfølgere af DOS / 360 og OS / 360- operativsystemerne, der kører på dets System / 360 computerserie. Mens bagudkompatibilitet blev opretholdt, led de ældre adgangsmetoder af ydeevneproblemer på grund af den adresseoversættelse, der kræves til virtuel lagring.
KSDS-organisationen var designet til at erstatte ISAM , den indekserede sekventielle adgangsmetode. Ændringer i diskteknologi havde betydet, at søgning efter data i ISAM-datasæt var blevet meget ineffektiv. Det var også vanskeligt at flytte ISAM-datasæt, da der var indlejrede markører til fysiske diskplaceringer, som blev ugyldige, hvis datasættet blev flyttet. IBM leverede også en kompatibilitetsgrænseflade til at tillade programmer kodet at bruge ISAM til at bruge en KSDS i stedet.
RRDS-organisationen blev designet til at erstatte BDAM , Basic Direct Access Method. I nogle tilfælde indeholdt BDAM-datasæt indlejrede markører, der forhindrede dem i at blive flyttet. De fleste BDAM-datasæt gjorde det dog ikke, og incitamentet til at flytte fra BDAM til VSAM RRDS var meget mindre overbevisende end at flytte fra ISAM til VSAM KSDS.
Lineære datasæt blev tilføjet senere efterfulgt af VSAM RLS og derefter Transaktionel VSAM.
Se også
- Job Control Language (JCL)
- IBM mainframe-hjælpeprogrammer
- ISAM
- Genève ERS
- Record Management Services , et lignende system udviklet af Digital Equipment Corporation