I-ACID ikhusela i-Data Database yakho
Imodeli ye-ACID yoyilo lweenkcukacha zezona nkcukacha zezona zinto zidala kwaye zibaluleke kakhulu kwi-theory yedatha. Ibeka phambili iinjongo ezine zonke iinkqubo zolawulo lweenkcukacha kufuneka zizame ukufezekisa: i-atomicity, i-consistency, i-isolation kunye nokuzinza. Idatha yolwazi ehlulekayo ukuhlangabezana nayo nayiphi na iinjongo ezine ayikwazi kuthathwa njengokwethenjelwa. Idatha eneenkcukacha ziqwalaselwa njenge-ACID-iyathobela.
ACID ichazwe
Makhe sithathe isikhashana sihlolisise nganye yale mpawu ngokubanzi:
- I-Atomicity ithi ukulungiswa kwedatha kufuneka kulandelele "umthetho okanye konke". Intengiso nganye kuthiwa "i-atomic." Ukuba enye inxalenye yomthengi ihluleka, yonke into eyenziwa ngayo iyaphela. Kubaluleke ukuba inkqubo yokulawula i-database igcine uhlobo lwe-athomu lwentengiso nangona naluphi na iDBMS, inkqubo yokusebenza okanye ukuhluleka kwe-hardware.
- Ukubambisana kuthi kuphela idatha echanekileyo iya kubhalwa kwiziko ledatha. Ukuba, ngenxa yesizathu esithile, ukuthengiselana kuqhutyelwayo okuphula imithetho ye-database, i-transaction iya kugqitywa, kwaye i-database iya kubuyiselwa kwimeko ehambelana nale mithetho. Ngakolunye uhlangothi, ukuba ukuthengiswa ngempumelelo kwenziwa, kuya kuthatha isiseko kwiziko elilodwa elihambelana nemimiselo kolunye uhlangothi oluhambelana nemigaqo.
- Ukuqhawulwa kwemfuneko kudinga ukuba ukuthengiselana okukodwa kwenzeke ngexesha elifanayo kungakhange kuthinteke omnye nomnye. Ngokomzekelo, ukuba uJoe unika ukuthengiselana kunye nedatha ngexesha elifanayo ukuba uMariya uphatha umthengiso ohlukeneyo, zombini ukuthengiselana kufuneka kusebenze kwiziko leenkcukacha ngendlela ekhethiweyo. Isiseko kufuneka senze yonke intsebenzo kaJoe ngaphambi kokuba enze uMariya, okanye u-vice-versa. Oku kuvimbela ukuthengiswa kukaJoe ekufundeni ulwazi oluphakathi oluveliswe njengempembelelo yecandelo lento yokuthengiswa kukaMariya engeyikugqitywa ekugcineni kwi-database. Qaphela ukuba isakhiwo sokuzihlalisa asiqinisekisi ukuba yiyiphi intsebenziswano eya kwenza kuqala - nje ukuba ukuthengiselana akuyi kuphazamisana
- Ukuzinza kuqinisekisa ukuba nayiphi na intsebenzo ezinikele kwi database ayiyi kulahleka. Ukungaqiniseki kuqinisekiswa ngokusebenzisa ukusetyenziswa kweenkcukacha zokugcinwa kweenkcukacha kunye neengxelo zokuthengisa ezenza lula ukubuyiswa kwemisebenzi eyenziwe ngokubhekisele kuyo nayiphi na isofthiwe okanye i-hardware.
Indlela i-ACID isebenza ngayo kwi-Practice
Abalawuli beDatabase basebenzisa izicwangciso eziliqela zokunyanzelisa i-ACID.
Omnye osetyenziselwa ukunyanzelisa i-atomicity kunye nokuzinza kubhala phambili-ukungena ngemvume (WAL) apho nayiphi na inkcazelo yokuthengiselana ibhalwa kwilogi equka kokubili ukubuyisela nokulungisa ulwazi. log kunye nokuthelekisa okukuyo kwimeko yolwazi.
Enye indlela esetyenziselwa ukujongana ne-atomicity kunye nokuhlala i- shadow-paging apho iphepha lezithunzi lidalwa xa idatha iya kuguqulwa. Izibuyekezo zombuzo zibhalwa kwiphepha lesithunzi kunokuba zifumane idatha yangempela kwisiseko. Idatha ngokwalo iguqulwa kuphela xa ukuhlela kuphelile.
Elinye icebo libizwa ngokuba yi -phase-commit commitments protocol, ingakumbi kuluncedo kwiinkqubo zeenkcukacha ezikhoyo. Le protocol ihlukanisa isicelo sokuguqula idatha kwizigaba ezibini: isigaba sokucela isicelo kunye nesigaba sokuzibophezela. Kwisigaba sesicelo, zonke ii-DBMS kwi-intanethi ezithintekisiwe yintengiso kufuneka ziqinisekise ukuba zifumene kwaye zinamandla okuqhuba. Xa isiqinisekiso sifunyenwe kuzo zonke i-DBMS ezichaphazelekayo, isigaba sokuzibophezela sigqityiweyo apho idatha ishintshiwe ngokwenene.