ACID verndar gögn gagnagrunnsins þíns
The ACID líkan af hönnun gagnasafn er einn af elstu og mikilvægustu hugtökum gagnagrunns kenningar. Það setur fram fjórar markmið sem hvert gagnasafnstjórnunarkerfi verður að leitast við að ná: lotukerfi, samkvæmni, einangrun og endingu. Venslagagnagrunnur sem ekki uppfyllir einhverjar af þessum fjórum markmiðum er ekki hægt að líta á áreiðanlegar. Gagnagrunnur sem býr yfir þessum eiginleikum er talinn vera ACID-samhæfður.
Sýrur skilgreindur
Við skulum taka smá stund til að skoða hvert af þessum einkennum í smáatriðum:
- Atomicity segir að gagnabreytingar verða að fylgja reglu "allt eða ekkert". Hver viðskipti er sagður vera "atóm". Ef einn hluti viðskiptanna mistakast, þá fellur allt viðskiptin ekki. Það er mikilvægt að gagnagrunnsstjórnunarkerfið haldi atóminum viðskiptum þrátt fyrir hvaða DBMS, stýrikerfi eða vélbúnaðarbilun.
- Samræmi segir að aðeins gilt gögn verði skrifuð í gagnagrunninn. Ef af einhverri ástæðu er viðskiptin framkvæmd sem brýtur í bága við reglur um samkvæmni gagnagrunnsins, verður allt viðskiptin velt aftur og gagnagrunnurinn verður endurheimtur í ríki sem samræmist þeim reglum. Á hinn bóginn, ef viðskipti eiga sér stað með góðum árangri, mun það taka gagnagrunninn frá einu ríki sem er í samræmi við reglur í öðru ríki sem einnig er í samræmi við reglurnar.
- Einangrun krefst þess að margar færslur sem eiga sér stað á sama tíma hafi ekki áhrif á framkvæmd hvers annars. Til dæmis, ef Joe gefur út viðskipt gegn gagnagrunni á sama tíma og María gefur út aðra færslu, skulu báðir viðskiptin starfa á gagnagrunninum á einangruðu hátt. Gagnagrunnurinn ætti annaðhvort að sinna öllu viðskiptum Joe áður en hann framkvæmir Maríu, eða öfugt. Þetta kemur í veg fyrir að viðskiptum Jósefs sé að lesa millistigsgögn sem eru framleidd sem hliðaráhrif hluti af viðskiptum Maríu sem að lokum verði ekki skuldbundinn í gagnagrunninn. Athugaðu að einangrunareiginleikinn tryggir ekki hvaða viðskipti munu framkvæma fyrst - eingöngu þessi viðskipti munu ekki trufla hvert annað
- Varanleiki tryggir að öll viðskipti sem framin eru í gagnagrunninum munu ekki glatast. Varanleika er tryggt með því að nota gagnagrunna og viðskiptaskrár sem auðvelda endurreisn skuldbundinna viðskipta þrátt fyrir síðari hugbúnað eða vélbúnaðartruflanir.
Hvernig sýrður vinnur í æfingum
Gagnasafnsstjórarnir nota nokkrar aðferðir til að framfylgja ACID.
Einn sem er notaður til að framfylgja kjarnorku og endingu er skrifa fyrirfram skógarhögg (WAL) þar sem allar upplýsingar um viðskipti eru fyrst skrifaðar í dagskrá sem inniheldur bæði endurreisa og afturkalla upplýsingar. Þetta tryggir að gagnagrunnurinn getur athugað gagnagrunninn Log og bera saman innihald hennar við stöðu gagnagrunnsins.
Önnur aðferð sem notuð er til að takast á við lotukerfinu og endingu er skuggasíðuleit þar sem skuggasíða er búin til þegar gögn verða breytt. Uppfærslur fyrirspurnarinnar eru skrifaðar á skuggasíðuna frekar en raunveruleg gögn í gagnagrunninum. Gagnagrunnurinn sjálf er aðeins breytt þegar breytingin er lokið.
Önnur stefna er kallað tveggja fasa skuldbindingar siðareglur, sérstaklega gagnleg í dreifðum gagnagrunni kerfum. Þessi samskiptaregla skilur beiðni um að breyta gögnum í tvo áföngum: skuldbindingar um skuldbindingar og skuldbindingarfasa. Í beiðni áfangans verða öll DBMS á neti sem verða fyrir viðskiptum að staðfesta að þeir hafi fengið það og geti framkvæmt viðskiptin. Þegar staðfesting hefur borist frá öllum viðeigandi DBMSs lýkur skuldbindingartímabilið þar sem gögnin eru í raun breytt.