ISAM - ISAM
ISAM (an lyhenne varten indeksoitu Sequential Access Method ) on tapa luoda, ylläpitää, ja manipuloimalla atk-tiedostojen datan niin, että tietueet voidaan noutaa peräkkäin tai satunnaisesti yksi tai useampi avaimia . Avainkenttien hakemistoja ylläpidetään, jotta vaaditut tiedostotiedot voidaan hakea nopeasti indeksoiduista tiedostoista . IBM kehitti alun perin ISAM: n suurtietokoneille , mutta toteutuksia on saatavana useimmille tietokonejärjestelmille.
ISAM- termiä käytetään useisiin asiaan liittyviin käsitteisiin:
- IBM ISAM -tuote ja sen käyttämä algoritmi .
- Tietokanta järjestelmä, jossa sovelluskehittäjä suoraan käyttää ohjelmointirajapinta etsiä indeksit paikantamiseksi kirjaa tiedostoihin. Sitä vastoin relaatiotietokanta käyttää kyselyn optimoijaa, joka valitsee indeksit automaattisesti.
- Indeksointialgoritmi, joka sallii tietojen peräkkäisen ja avainkäsittelyn. Useimmat tietokannat käyttävät tätä tarkoitusta varten jonkin verran B-puun muunnelmia , vaikka alkuperäiset IBM ISAM- ja VSAM- toteutukset eivät tehneet niin.
- Yleisimmin mikä tahansa tietokannan hakemisto. Indeksejä käyttävät melkein kaikki tietokannat.
Organisaatio
Eräässä ISAM järjestelmässä, data on jaettu tietueet , jotka koostuvat kiinteän pituuden kenttien, alun perin tallennettu peräkkäin näppäinyhdistelmä. Toissijainen tietuejoukko (tunnisteet), jotka tunnetaan nimellä hakemistot , sisältävät viitteitä kunkin tietueen sijaintiin, jolloin yksittäiset tietueet voidaan noutaa ilman, että heidän on tehtävä hakuja koko tietojoukosta. Tämä eroaa nykyisistä navigointitietokannoista , joissa muiden tietueiden osoittimet tallennettiin itse tietueisiin. ISAM: n keskeinen parannus on, että hakemistot ovat pieniä ja että niitä voidaan hakea nopeasti, mahdollisesti kokonaan muistista, jolloin tietokanta sallii pääsyn vain tarvitsemiinsa tietueisiin. Lisämuutokset tietoihin eivät vaadi muutoksia muihin tietoihin, vain kyseiseen taulukkoon ja hakemistoihin.
Kun ISAM-tiedosto luodaan, hakemistosolmut korjataan, eikä niiden osoittimet muutu myöhemmin tapahtuvien lisäysten ja poistojen aikana (vain lehtisolmujen sisältö muuttuu jälkikäteen). Tämän seurauksena, jos insertit johonkin lehtisolmuun ylittävät solmun kapasiteetin, uudet tietueet tallennetaan ylivuotoketjuihin. Jos taulukosta on paljon enemmän lisäyksiä kuin poistoja, näistä ylivuotoketjuista voi vähitellen tulla erittäin suuria, mikä vaikuttaa tietueen hakemiseen tarvittavaan aikaan.
Relaatiotietokannat voidaan helposti rakentaa ISAM-kehykselle lisäämällä logiikkaa taulukkojen välisten linkkien pätevyyden ylläpitämiseksi. Tyypillisesti linkkinä käytettävä kenttä, vieras avain , indeksoidaan nopeaa hakua varten. Vaikka tämä on hitaampaa kuin pelkän osoittimen tallentaminen siihen liittyviin tietoihin suoraan tietueisiin, se tarkoittaa myös sitä, että tietojen fyysisen asettelun muutokset eivät vaadi osoittimien päivitystä - merkintä on edelleen kelvollinen.
ISAM on helppo ymmärtää ja toteuttaa, koska se koostuu ensisijaisesti suorasta pääsystä tietokantatiedostoon. Kompromissi on, että jokaisen asiakaskoneen on hallittava oma yhteys kuhunkin tiedostoon, jota se käyttää. Tämä puolestaan johtaa ristiriitaisiin lisäyksiin kyseisiin tiedostoihin, mikä johtaa epäjohdonmukaiseen tietokantatilaan. Tämän estämiseksi jotkut ISAM-toteutukset tarjoavat koko tiedoston tai yksittäisen tietueen lukitustoiminnon . Useiden tietueiden lukitseminen johtaa umpikujaan, ellei umpikujan estojärjestelmää noudateta tiukasti. Lukituksen ja umpikujan ongelmat ratkaistaan tyypillisesti lisäämällä asiakas-palvelin- kehys, joka järjestää asiakkaan tilaamaan tilauksen. Jotkut ISAM-asiakas-palvelin-toteutukset tarjoavat täyden ACID- tapahtumanhallintajärjestelmän. Nämä ovat tietokannan hallintajärjestelmän (DBMS) peruskäsitteet , joka on asiakaskerros taustalla olevan tietovaraston päällä.
ISAM korvattiin IBM: llä menetelmällä nimeltä VSAM (virtuaalinen tallennustilan käyttömenetelmä). Vielä myöhemmin, IBM kehitti SQL / DS: n ja sitten DB2: n, joita IBM markkinoi vuodesta 2004 lähtien ensisijaisena tietokantojen hallintajärjestelmänä . VSAM on fyysinen käyttömenetelmä, jota käytetään DB2: ssa.
OpenVMS
OpenVMS -käyttöjärjestelmä käyttää tiedostojen-11 tiedostojärjestelmä yhdessä RMS ( Record Management Services ). RMS tarjoaa lisäkerroksen sovelluksen ja levyllä olevien tiedostojen välillä, joka tarjoaa yhdenmukaisen menetelmän tietojen järjestämiseen ja pääsyyn useilla 3GL- ja 4GL-kielillä. RMS tarjoaa neljä erilaista tapaa käyttää tietoja; peräkkäinen, suhteellinen tietueiden käyttöoikeus, tietuetiedostojen osoitteiden käyttö ja indeksoitu käyttöoikeus.
Datan lukemisen tai kirjoittamisen indeksoitu käyttömenetelmä tarjoaa toivotun lopputuloksen vain, jos itse asiassa tiedosto on järjestetty ISAM-tiedostoksi sopivilla, aiemmin määritetyillä avaimilla. Tietoihin pääsy aiemmin määriteltyjen avainten avulla on erittäin nopea. Tuetaan useita avaimia, päällekkäisiä avaimia ja tiivistetaulukoiden avainkompressiota. Mukana on apuohjelma, jolla määritetään / määritellään uudelleen avaimet olemassa olevissa tiedostoissa. Tietueet voidaan poistaa, vaikka "roskien keräys" tapahtuu erillisen apuohjelman kautta.
Suunnittelussa huomioonotettavia seikkoja
ISAM kehitettiin aikana, jolloin tietokoneen muisti oli niukka resurssi. Vastaavasti IBM suunnitteli järjestelmän käyttämään mahdollisimman vähän muistia. Kompromissi oli se, että tulo- / lähtökanava , ohjausyksikkö ja levy pidettiin kiireisempinä. ISAM-tiedosto koostuu kokoelmasta tietueita ja kahdesta tai kolmesta indeksitasosta. Kappale indeksi sisältää suurimman avain kunkin levyn kappale on sylinterin se indeksoi. Sylinteri indeksi tallentaa korkeimman avain sylinterin, ja levy osoite vastaavan radan indeksi. Valinnainen pääindeksi , jota käytetään yleensä vain suuriin tiedostoihin, sisältää sylinterihakemistoraidan korkeimman avaimen ja kyseisen sylinterihakemiston levyosoitteen. Kun tiedosto on ladattu, tietueita ei siirretä; lisätyt tietueet sijoitetaan erilliselle ylivuotoalueelle . Tietueen löytämiseksi avaimella levyltä olevat hakemistot etsivät monimutkainen itsemodifioiva kanavaohjelma . Tämä lisäsi kanavan, ohjausyksikön ja levyn varattua aikaa. Fyysisen ja virtuaalisen muistikoon kasvaessa myöhemmissä järjestelmissä tämän katsottiin olevan tehotonta, ja VSAM kehitettiin muuttamaan muistin käytön ja levyn toiminnan välistä kompromissia.
ISAM: n itsensä muokkaavien kanavaohjelmien käyttö aiheutti myöhemmin vaikeuksia OS / 360 : n CP-67- tuelle , koska CP-67 kopioi koko kanavaohjelman kiinteään muistiin, kun I / O-toiminto aloitettiin, ja käänsi virtuaaliset osoitteet todellisiin osoitteisiin.
ISAM-tyyliset toteutukset
- Advantage Database Server -tietokannan hallinta
- Berkeley DB
- Btrieve
- FairCom DB
- C-ISAM
- DataFlexin oma tietokanta
- dBase ja siihen liittyvät tuotteet Clipper ja Foxpro
- Digital Equipment Corporation - tietueiden hallintapalvelut
- Vahvista on jäsennelty HP Tandem -tiedostojen käyttömenetelmä
- Laajennettava säilytysmoottori
- Access Database Engine (ACE ja aiemmin JET), jota Microsoft Access käyttää
- MySQL toteuttaa ja laajentaa ISAMia MyISAMina
- Paradoksi
- pblIsam GPL -toteutus kirjoitettu kielellä C
- Raima- tietokannan hallinta
- Superbase tietokanta perhe
- dbm DBM- ja Flat File -tietokannat toimivat yhdessä
Katso myös
- Peräkkäinen käyttömuisti (SAM)
- Virtuaalisen tallennustilan käyttömenetelmä (VSAM)
- Litteä tiedosto
- NoSQL
- dbm