Skip to main content

Model ACID za sisteme za upravljanje baz podatkov

Anonim

ACID model oblikovanja baz podatkov je eden najstarejših in najpomembnejših konceptov teorije baz podatkov. Določa štiri cilje, ki jih mora vsak sistem za upravljanje baz podatkov prizadevati doseči: atomičnost, doslednost, izoliranost in trajnost. Relacijska podatkovna baza, ki ne izpolnjuje katerega od teh štirih ciljev, ni mogoče šteti za zanesljivo. Podatkovna baza, ki ima te značilnosti, velja za ACID-compliant.

ACID Defined

Vzemimo si trenutek, da podrobno preučimo vsako od teh značilnosti:

  • Atomicnost navaja, da morajo spremembe baze podatkov slediti pravilu "vse ali nič". Vsaka transakcija naj bi bila "atomska". Če en del transakcije ne uspe, celotna transakcija ne uspe. Ključnega pomena je, da sistem vodenja baze podatkov vzdržuje atomsko naravo transakcij kljub vsem morebitnim pomanjkljivostim sistema, operacijskega sistema ali strojne opreme.
  • Usklajenost navaja, da bodo v bazo podatkov zapisani samo veljavni podatki. Če se iz nekega razloga izvede transakcija, ki krši pravila skladnosti baze podatkov, bo celotna transakcija vrnjena nazaj in baza podatkov bo obnovljena v stanje, ki je skladno s temi pravili. Po drugi strani pa, če se transakcija uspešno izvede, bo zbirko podatkov vzela iz ene države, ki je skladna s pravili, v drugo državo, ki je tudi v skladu s pravili.
  • Izolacija zahteva, da večkratni posli, ki se zgodijo hkrati, ne vplivajo na izvršitev drugega. Če na primer Joe izda transakcijo proti bazi podatkov ob istem času, ko Mary izda drugačno transakcijo, morata obe transakciji delovati v bazi podatkov na izoliran način. Baza podatkov bi morala bodisi opraviti Joejevo celotno transakcijo pred izvršitvijo Mary's, ali obratno. To preprečuje, da bi Joeova transakcija bral vmesnih podatkov, ki so nastali kot stranski učinek dela transakcije Mary, ki se sčasoma ne bo zavezala k bazi podatkov. Upoštevajte, da izolacijska lastnost ne zagotavlja, katere transakcije bodo izvedle najprej - zgolj, da se transakcije ne bodo vmešavale med seboj
  • Trajnost zagotavlja, da nobena transakcija, ki je namenjena bazi podatkov, ne bo izgubljena. Trajnost je zagotovljena z uporabo varnostnih kopij baze podatkov in dnevnikov transakcij, ki olajšajo obnovitev storjenih transakcij kljub kakršnim koli naknadnim napakam programske opreme ali strojne opreme.

Kako ACID deluje v praksi

Skrbniki baz podatkov uporabljajo več strategij za uveljavljanje ACID.

Uporablja se za uveljavljanje atomnosti in trajnosti zapisovanje vnaprej (WAL), v katerem so podrobnosti o transakcijah najprej zapisane v dnevnik, ki vključuje podatke o ponovnem ponastavljanju in razveljavitvi. To zagotavlja, da lahko baza podatkov zaradi neuspeha baze podatkov preveri dnevnik in primerja njeno vsebino z baze podatkov.

Druga metoda, ki se uporablja za obravnavo atomnosti in trajnosti, je iskanje v senci, v kateri se spremeni podatki s sence. Posodobitve poizvedbe so zapisane na strani s senci in ne na dejanske podatke v bazi podatkov. Sama baza podatkov se spremeni samo, ko je urejanje končano.

Druga strategija se imenuje v dveh fazah protokol, še posebej uporaben v sistemih porazdeljene baze podatkov. Ta protokol ločuje zahtevo za spreminjanje podatkov v dve fazi: faza zahteve za prevzem in faza obveščanja. V fazi zahtevka morajo vsi DBMS v omrežju, na katere vpliva transakcija, potrditi, da so ga prejeli in imeti zmogljivost za izvedbo transakcije. Ko je potrditev prejeta iz vseh ustreznih DBMS, se zaključi faza obveščanja, v kateri so podatki dejansko spremenjeni.