Index szekvenciális hozzáférési módszer

Az Index Sequential Access Method ( ISAM ) az IBM által a hatvanas évek végén kifejlesztett hozzáférési módszer egy fájl fájlrekordjaihoz, amely (rendezett) szekvenciális és véletlenszerű ( véletlenszerű ) indexalapú hozzáférést egyaránt lehetővé tesz.

Egy fájlnak többféle indexe lehet. Minden index a rekordok eltérő sorrendjét határozza meg , attól függően, hogy milyen információkat keresnek. Például egy ügyfélfájl lehet rendezni ábécé szerint a vezetéknév szerint, vagy számszerűen az irányítószám szerint, feltéve, hogy léteznek megfelelő indexek.

Az adatbázis-rendszerekben is használt index-szekvenciális hozzáférési módszer lehetővé teszi a hozzáférési sebesség optimalizálását a feladattól függően . Az 1970 körüli első COBOL szabványok óta az ISAM része a COBOL nyelv szabványának a fájlkezelő bekezdésben. Az ISAM nagyon korai továbbfejlesztése, szintén az IBM-től, de nem szabványosítva, a virtuális tárhely-hozzáférési módszer (VSAM).

Tárolási szerkezet

Image
Index szekvenciális fájlok szervezése: Egyszintű index

Az adatrekordok tömbökbe vagy oldalakba vannak csoportosítva. Egy egyszerű index a fő fájl egyik adatblokkjának legalacsonyabb kulcsára utal , amelyet növekvő sorrendben rendeznek. Egy egyszerű, egyszintű indexfájl olyan indexbejegyzésekből áll, amelyek a fő fájl adatblokkjaira utalnak. Általános szabály, hogy az index többszintű, az indexszintek viszont index-sorrendben szerveződnek.

  • Keresés egy ISAM-fájlban: Keresse meg a kulcsot egymás után az indexfájlban, amíg meg nem találja, vagy az index nagyobb lesz, mint a keresett kulcs. A második esetben többszintű index esetén már ismert, hogy a keresett kulcs melyik index oldalon lehet. A keresési folyamat ott folytatódik, amíg a kulcs megtalálható vagy nem található.
  • Beszúrás : Először keres , majd ellenőrizze, hogy az új mondat elfér-e az oldalon. Ha igen, szúrja be rendezve, ha nem, akkor helyezzen be új rekordot a következő vagy túlcsorduló oldalra, és frissítse az indexoldalakat.
  • Törlés : Először keres , majd jelölje meg a mondatot töröltként . Ha ez volt az első mondat az oldalon, vagy az oldal most üres, állítsa be az indexoldalakat.

Az ISAM fájlszervezés hátránya látható a beszúrás és törlés műveletekből. A fő fájl és az index statikus, az új rekordokat gyakran túlcsorduló blokkokban tárolják, és ez lelassítja a kereséseket. A gyorsan növekvő vagy változó fájlokat ezért rendszeresen át kell szervezni, ami időigényes.

2. módszer

A fenti módszert nem nagyon használták. Az utódlás fa / levélszerkezet alapú módszer volt. Ez néhány összehasonlítással lehetővé tette, hogy a keresett mondatot hová illesszék be vagy kell beilleszteni.

Az Isam fájl kulcsának felépítése (index).

 *****************************************************************
 *   BLATT-NR                  *                 VATER           *
 *****************************************************************
 *                                                               *
 *                  BLATTINHALT (KEY)                            *
 *                                                               *
 *****************************************************************
 *   LINKER SOHN               *             RECHTER SOHN        *
 *****************************************************************

Első bejegyzés a fájl elején ( gyökér ).

Példa COBOL

Image
Fájlvezérlő bekezdés kerettel

A képen a fájl vezérlörészt ISAM fájlt egy modern COBOL - fordító :

  • SELECT ... ASSIGN TO: Külső fájlnév hozzárendelése belső fájlnévhez
  • Sűrítéssel | Titkosítással: opcionálisan tömörítéssel vagy titkosítással
  • A SZERVEZET INDEXES
  • A HOZZÁFÉRÉSI MÓD SOROS | RANDOM | DYNAMIC: alternatív megoldásként a három hozzáférési módszer egyike. Szekvenciálisan, indexenként, vagy mindkettő, azaz H. alkalommal indexen keresztül, egymástól ettől a kiindulási ponttól és fordítva.
  • A RECORD KEY IS kulcsnév [= seg-név ...] [[NEM] DUPLIKÁTUMOKKAL]] ...: Az (elsődleges) kulcs több szegmensből állhat, azaz. H. az adatrekord egyes mezõiben megengedett a duplikált kulcs. Azokat a mezőket, amelyeknek csak részei használhatók (részleges) indexként, a COBOL-ban megszokott módon a FÁJL LEÍRÁSBAN kell meghatározni.
  • ALTERNATER RECORD KEY IS ...: további indexek definiálhatók.
  • A ZÁRMÓD KIZÁRÓLAG | AUTOMATIKUS KÉZIKÖNYV:
  • FOGLALÁS {szám} ALTERNÁT TERÜLET:
  • A SEQUENCE IS ábécé neve:

ISAM ma

"Az ISAM fájlokat ma is használják, nevezetesen amikor a relációs adatbázis használata nem igazán érdemes (adatmennyiség, szerkezet, teljesítmény, költségek stb.)." Valószínűleg még mindig több adat van tárolva az ISAM fájlokban, mint relációs adatbázisokban. Ez nem csak a COBOL adatok környezetben, de főleg UNIX alatt, az index-szekvenciális hozzáférés már széles körben alkalmazzák az átállás során mainframe UNIX rendszerek bevezetésének köszönhetően a C-ISAM származó Informix . Az ISAM alapján fejlesztették ki a MyISAM adatbázis-rendszert is , amelyet a széles körben használt MySQL adatbázis-kezelő rendszerben valósítanak meg . Ezenkívül a Microsoft Extensible Storage Engine (ESE, más néven Jet Blue ) az ISAM-ra épül. Az ESE szolgálja (e) z. B. a Microsoft Active Directory és az Exchange adatbázisaként .

web Linkek