ACID zure datu-basearen datuak babesten ditu
Datuen diseinuaren ACID eredua datu baseen teoriaren kontzeptu zaharren eta garrantzitsuenetariko bat da. Datu baseen kudeaketa sistema guztietan lortu beharreko lau helburuak ezartzen ditu: atomikotasuna, koherentzia, isolamendua eta iraunkortasuna. Lau helburuetako bat betetzen ez duen datu base erlazional bat ezin da fidagarria izan. Ezaugarri horiek dituen datu-basea ACID-a betetzen dela uste da.
ACID definitua
Aztertu xehetasun hauetako bakoitza xehetasunez:
- Atomikotasunaren arabera, datu-baseko aldaketak "guztiak edo ezer" arau bat jarraitu behar dute. Transakzio bakoitza "atomikoa" dela esaten da. Transakzio baten zati bat huts egiten badu, transakzio osoa huts egingo du. Kritikoa da datu-basearen kudeaketarako sistemak transakzioen izaera atomikoa mantentzen duela DBMS, sistema eragilea edo hardware porrota izan arren.
- Koherentziak datu baliogabeak bakarrik idatziko ditu. Datu-basearen koherentzia arauak urratzen dituen transakzio bat exekutatzen bada, transakzio osoa itzuliko da, eta datu-basea berrezarri egingo da erregelamendu horri koherentea den estatu batera. Bestalde, transakzio bat behar bezala exekutatzen bada, datu-basea arauekin koherentea izango den estatuko beste egoera batera koherentea izango da.
- Isolamendua aldi berean gertatzen diren transakzio anitzek ez dute elkarri eragiten. Adibidez, Joe-k datu-base baten aurkako transakzioa egiten badu, Mary-k beste transakzio bat igortzen badu, bi eragiketak datu isolatu batean funtzionatu beharko lituzke. Datu-baseak Joe-ren transakzio osoa egin beharko luke Mary-en exekuzioa egin aurretik edo alderantziz. Honek Joe transakzioa eragozten du bitarteko datuen irakurketa, Mary-en transakzioaren zati bat izan ezik, azkenean datu-basearekin konprometituta egongo ez dena. Kontuan izan isolamenduko propietateak ez duela ziurtatzen zein transakzio egingo den lehenbailehen - transakzio hori ez da elkarri eragingo
- Iraunkortasuna bermatzen du datu-basearekin konprometitutako edozein transakzio ez dela galduko. Iraunkortasuna bermatzen da datu-baseen segurtasun kopiak eta transakzio-erregistroak erabiltzea, konpromisoak konpromisoak berreskuratzeko erraztuz, edozein software edo hardware hutsegite izan arren.
Nola funtzionatzen duen ACID Praktikan
Datu-basearen kudeatzaileak hainbat estrategia erabiltzen ditu ACIDa betearazteko.
Atomikotasunari eta iraunkortasunari aurre egiteko erabiltzen da idazketa aurretik (WAL), zeinetan edozein transakzio-xehetasun lehen aldiz erregistratzen den, bai birkargatzen baita informazioa desegin. Horrela, datu-basearen hutsegite bat eman daiteke datu baseak egiazta dezakeela Erregistroa eta bere edukiak datu-basearen egoera alderatzeko.
Atomikotasunari eta iraunkortasunari aurre egiteko erabiltzen den beste metodo bat itzalaren orrialde bat da, datuak aldatu behar direnean. Kontsulta-eguneratzeak itzalaren orrian idatziko dira, datu-baseko datu errealak baino. Datu-basea bera editatzen denean soilik editatzen da.
Beste estrategia bat bi fase konpromisoa protokolo deitzen da, bereziki erabilgarria banatutako datu-base sistemetan. Protokolo honek datuak bi faseetan aldatzeko eskaera bat bereizten du: konpromisoa eskatzeko fasean eta konpromiso fasean. Eskaera-fasean, transakzioek eragindako sarean dauden DBMSak guztiek berretsi dute hori jaso dutela eta transakzioa egiteko gaitasuna duela. Beharrezko baieztapena DBMS garrantzitsu guztietatik jasotzen den egunetik aurrera, konpromisoa bete egiten da datu horiek benetan aldatzen direnean.