Skip to main content

Model ACID untuk Sistem Pengurusan Pangkalan Data

JPN usul diwujudkan bank data DNA (April 2025)

JPN usul diwujudkan bank data DNA (April 2025)
Anonim

Reka bentuk pangkalan data ACID adalah salah satu konsep pangkalan data tertua dan paling penting dalam teori pangkalan data. Ia menetapkan keempat tujuan agar setiap sistem pengurusan pangkalan data harus berusaha untuk mencapai: atom, konsistensi, pengasingan, dan ketahanan. Pangkalan data relasi yang gagal memenuhi mana-mana daripada empat matlamat ini tidak boleh dipercayai. Pangkalan data yang mempunyai ciri-ciri ini dianggap mematuhi ACID.

ACID ditakrifkan

Mari kita luangkan sedikit masa untuk memeriksa setiap ciri-ciri ini secara terperinci:

  • Atomicity menyatakan bahawa pengubahsuaian pangkalan data mesti mengikut peraturan "semua atau tidak". Setiap transaksi dikatakan sebagai "atom." Jika satu bahagian transaksi gagal, keseluruhan transaksi gagal. Adalah penting bahawa sistem pengurusan pangkalan data mengekalkan sifat urus niaga atom walaupun mana-mana DBMS, sistem operasi, atau kegagalan perkakasan.
  • Ketekalan menyatakan bahawa hanya data yang sah akan ditulis ke pangkalan data. Jika, atas sebab tertentu, urus niaga dilaksanakan yang melanggar peraturan konsistensi pangkalan data, keseluruhan urusniaga akan dilancarkan kembali, dan pangkalan data akan dipulihkan kepada negara yang selaras dengan peraturan tersebut. Sebaliknya, jika transaksi berjaya dilaksanakan, ia akan mengambil pangkalan data dari satu negara yang konsisten dengan peraturan ke negara lain yang juga konsisten dengan peraturan.
  • Pengasingan memerlukan banyak transaksi yang berlaku pada masa yang sama tidak mempengaruhi pelaksanaan masing-masing. Contohnya, jika Joe mengeluarkan transaksi terhadap pangkalan data pada masa yang sama bahawa Mary mengeluarkan transaksi yang berbeza, kedua-dua urus niaga itu harus beroperasi pada pangkalan data secara terpencil. Pangkalan data sama ada melakukan keseluruhan transaksi Joe sebelum melaksanakan Mary, atau sebaliknya. Ini menghalang transaksi Joe daripada membaca data perantaraan yang dihasilkan sebagai kesan sampingan sebahagian daripada transaksi Mary yang tidak akan berkomitmen pada pangkalan data. Perhatikan bahawa harta pengasingan tidak memastikan transaksi mana yang akan dilaksanakan terlebih dahulu - hanya transaksi yang tidak akan mengganggu satu sama lain
  • Ketahanan memastikan bahawa sebarang transaksi yang dilakukan ke pangkalan data tidak akan hilang. Ketahanan dipastikan melalui penggunaan sandaran pangkalan data dan log transaksi yang memudahkan pemulihan urus niaga komited meskipun terdapat sebarang kegagalan perisian atau perkakasan.

Bagaimana ACID Bekerja dalam Amalan

Pentadbir pangkalan data menggunakan beberapa strategi untuk menguatkuasakan ACID.

Yang digunakan untuk menguatkuasakan atom dan ketahanan adalah pembalakan menulis-hadapan (Waljamaah), di mana sebarang perincian urusniaga pertama ditulis pada log yang termasuk kedua-dua maklumat redo dan membatalkan. Ini memastikan bahawa, memandangkan kegagalan pangkalan data apa-apa jenis, pangkalan data boleh menyemak log dan membandingkan kandungannya kepada keadaan pangkalan data.

Kaedah lain yang digunakan untuk menangani atom dan ketahanan adalah bayangan, di mana halaman bayangan dibuat apabila data diubah. Kemas kini pertanyaan ditulis ke halaman bayangan dan bukannya data sebenar dalam pangkalan data. Pangkalan data itu sendiri diubah suai apabila penyuntingan selesai.

Strategi lain dipanggil komitmen dua fasa protokol, terutamanya berguna dalam sistem pangkalan data diedarkan. Protokol ini memisahkan permintaan untuk memodifikasi data ke dalam dua fasa: fasa permintaan-permintaan dan fasa komit. Dalam fasa permintaan, semua DBMS di rangkaian yang dipengaruhi oleh transaksi mesti mengesahkan bahawa mereka telah menerimanya dan mempunyai keupayaan untuk melakukan transaksi. Sebaik sahaja pengesahan diterima daripada semua DBMS yang berkaitan, fasa komitmen selesai di mana data sebenarnya diubah suai.