ACID Nglindhungi Data Database Sampeyan
Model ACID desain basis data minangka salah sawijining konsep pangkalan data paling tuwa lan paling penting. Ngadhepi papat gol sing saben sistem manajemen basis data kudu usaha kanggo entuk: atom, konsistensi, terisolasi lan daya tahan. A database hubungan sing gagal ketemu papat iki ora bisa dianggep dipercaya. Database sing nduweni ciri kasebut dianggep ACID.
ACID Ditetepake
Ayo njupuk wektu kanggo mriksa saben ciri kasebut kanthi rinci:
- Atom sing nyatakake yen modifikasi database kudu ngetrapake aturan "kabeh utawa ora". Saben transaksi diarani "atom." Yen salah siji bagéan transaksi gagal, kabeh transaksi gagal. Iku penting banget yen sistem manajemen basis data njaga sipat atom saka transaksi ing sembarang DBMS, sistem operasi utawa kegagalan hardware.
- Konsistensi nyatakake yen data bener bakal ditulis ing database. Yen, sakperangan alesan, transaksi dieksekusi sing nglanggar aturan konsistensi basis data, kabeh transaksi bakal digulung, lan basis data bakal dibalekake menyang negara sing konsisten karo aturan kasebut. Saliyane, yen transaksi bisa dileksanakake, bakal njupuk database saka siji negara sing konsisten karo aturan menyang negara liyane sing uga konsisten karo aturan.
- Isolasi mbutuhake pirang-pirang transaksi ing wektu sing padha ora ngetokake eksekusi saben liyane. Contone, yen Joe ngetokake transaksi marang basis data bebarengan, yen Mary ngetokake transaksi sing beda, loro transaksi kudu dioperasikake ing basis data kanthi cara sing terisolasi. Basis data kudu nindakake kabeh transaksi Joe sadurunge nindakake Mary, utawa kosok balene. Iki ngalangi transaksi Joe saka maca data intermediate diprodhuksi minangka efek sisih bagian saka transaksi Mary sing ora pungkasanipun bakal setya ing database. Elinga yen properti sing ora dipisahake ora njamin transaksi sing bakal dileksanakake dhisik - namung transaksi sing ora bakal ngganggu
- Ketahanan njamin yen transaksi sing komit marang database ora bakal ilang. Durability dipertahankan liwat panggunaan backups database lan log transaksi sing nggampangake pemugaran transaksi komitment sanajan ana piranti lunak utawa kegagalan hardware sabanjure.
Carane ACID Bener ing Practice
Administrator basis data nggunakake sawetara strategi kanggo ngenalaken ACID.
Salah siji sing digunakake kanggo ngleksanakake atomicity lan daya tahan yaiku logging (WAL) ing sadhuwure, ing ngendi rinci kabeh transaksi wis ditulis ing log sing kalebu informasi redo lan mbatalake. Iki mesthekake yen diwenehake kegagalan database saka sembarang urutan, database bisa mriksa log lan mbandhingaké isine menyang negara basis data.
Cara liya sing digunakake kanggo alamat atomicity lan daya tahan yaiku shadow-paging kang nggawe kaca bayangan nalika data diowahi. Nganyari pitakonan ditampilake ing kaca bayangan tinimbang data nyata ing basis data. Basis data dhewe mung diowahi nalika wis diowahi.
Strategi liyane diarani protokol rong tahap tumindak , utamané migunani ing sistem basis data sing disebarake. Protokol iki misahake panjalukan kanggo ngowahi data dadi rong tahapan: phase-koma request lan phase laku. Ing phase request, kabeh DBMSs ing jaringan sing kena pengaruh transaksi kudu konfirmasi yen wis ditampa lan duwe kapasitas kanggo nindakake transaksi kasebut. Sawise konfirmasi ditampa saka kabeh DBMS sing cocog, phase komit rampung ing data kasebut bener-bener dimodifikasi.