Ang ACID Database Model

Pinoprotektahan ng ACID ang Data ng iyong Database

Ang ACID modelo ng disenyo ng database ay isa sa mga pinakalumang at pinakamahalagang konsepto ng database theory. Nagtatakda ito ng apat na mga layunin na dapat sinisikap ng bawat sistema ng pamamahala ng database na makamit ang: atomicity, consistency, isolation at durability. Ang isang database ng pamanggit na nabigo upang matugunan ang alinman sa mga apat na layunin na ito ay hindi maaaring ituring na maaasahan. Ang isang database na nagtataglay ng mga katangiang ito ay itinuturing na sumusunod sa ACID.

Tinukoy ang ACID

Kumuha ng isang sandali upang masuri ang bawat isa sa mga katangiang ito nang detalyado:

Paano gumagana ang ACID sa Practice

Ang mga administrator ng database ay gumagamit ng ilang mga estratehiya upang ipatupad ang ACID.

Ang isa na ginagamit upang ipatupad ang atomicity at tibay ay write-ahead na pag-log (WAL) kung saan ang anumang detalye ng transaksyon ay unang isinulat sa isang log na kinabibilangan ng parehong redo at i-undo ang impormasyon. Tinitiyak nito na, bibigyan ng isang kabiguan ng database ng anumang uri, maaaring masuri ng database ang log at ihambing ang mga nilalaman nito sa estado ng database.

Ang isa pang paraan na ginagamit upang matugunan ang atomicity at tibay ay anino-paging kung saan ang isang pahina ng anino ay nilikha kapag ang data ay mabago. Ang mga update sa query ay isinulat sa pahina ng anino sa halip na sa tunay na data sa database. Ang database mismo ay binago lamang kapag ang pag-edit ay kumpleto na.

Ang isa pang istratehiya ay tinatawag na two-phase commit protocol, lalo na kapaki-pakinabang sa mga sistema ng database na ipinamamahagi. Ang protocol na ito ay naghihiwalay ng isang kahilingan upang baguhin ang data sa dalawang phases: isang phase ng gumawa-request at isang bahagi na gumawa. Sa phase ng kahilingan, ang lahat ng DBMS sa isang network na apektado ng transaksyon ay dapat kumpirmahin na natanggap nila ito at may kapasidad na gawin ang transaksyon. Sa sandaling natanggap ang kumpirmasyon mula sa lahat ng may-katuturang mga DBMS, ang bahagi ng komit ay nakumpleto kung saan ang data ay binago nang aktwal.