Menghilangkan ACID dalam Mendukung BASE dalam Rekayasa Database

Database relasional dirancang dengan keandalan dan konsistensi pada intinya. Para insinyur yang mengembangkannya fokus pada model transaksional yang memastikan bahwa empat prinsip model ACID akan selalu dipertahankan. Namun, munculnya model database tidak terstruktur baru mengubah ACID di atas kepalanya. Model database NoSQL menjauhkan model relasional yang sangat terstruktur demi pendekatan toko kunci / nilai fleksibel. Pendekatan tidak terstruktur terhadap data ini membutuhkan alternatif untuk model ACID: model BASE.

Tenets Dasar dari Model ACID

Ada empat prinsip dasar dari model ACID:

The atomicity transaksi memastikan bahwa setiap transaksi database adalah unit tunggal yang mengadopsi pendekatan "semua atau tidak sama sekali" untuk eksekusi. Jika ada pernyataan dalam transaksi gagal, seluruh transaksi dibatalkan.

Database relasional juga memastikan konsistensi setiap transaksi dengan aturan bisnis database. Jika ada unsur transaksi atom akan mengganggu konsistensi database, seluruh transaksi gagal.

Mesin database memberlakukan isolasi antara beberapa transaksi yang terjadi pada atau mendekati waktu yang sama. Setiap transaksi terjadi baik sebelum atau sesudah setiap transaksi lainnya dan tampilan database yang dilihat transaksi pada awalnya hanya diubah oleh transaksi itu sendiri sebelum kesimpulannya. Tidak ada transaksi yang seharusnya melihat produk antara dari transaksi lain.

Prinsip ACID terakhir, daya tahan , memastikan bahwa setelah transaksi berkomitmen ke basis data, itu diawetkan secara permanen melalui penggunaan backup dan log transaksi. Jika terjadi kegagalan, mekanisme ini dapat digunakan untuk memulihkan transaksi yang dilakukan.

Prinsip Inti dari BASE

NoSQL database, di sisi lain, merangkul situasi di mana model ACID berlebihan atau akan, pada kenyataannya, menghambat operasi dari database. Sebaliknya, NoSQL bergantung pada model yang lebih lunak yang dikenal, tepat, sebagai model BASE. Model ini mengakomodasi fleksibilitas yang ditawarkan oleh NoSQL dan pendekatan serupa untuk manajemen dan kurasi data tidak terstruktur. BASE terdiri dari tiga prinsip:

Ketersediaan Dasar . Pendekatan database NoSQL berfokus pada ketersediaan data bahkan di hadapan beberapa kegagalan. Ini mencapai ini dengan menggunakan pendekatan yang sangat terdistribusi untuk manajemen basis data. Alih-alih mempertahankan satu penyimpanan data besar dan berfokus pada toleransi kesalahan dari toko itu, basis data NoSQL menyebarkan data di banyak sistem penyimpanan dengan tingkat replikasi yang tinggi. Dalam kejadian yang tidak mungkin bahwa kegagalan mengganggu akses ke segmen data, ini tidak selalu menghasilkan pemutusan basis data yang lengkap.

Soft State . Database BASE meninggalkan persyaratan konsistensi model ACID cukup banyak sekali. Salah satu konsep dasar di balik BASE adalah bahwa konsistensi data adalah masalah pengembang dan tidak boleh ditangani oleh database.

Konsistensi Akhirnya . Satu-satunya persyaratan bahwa database NoSQL memiliki konsistensi adalah untuk mengharuskan bahwa di beberapa titik di masa depan, data akan menyatu ke keadaan yang konsisten. Namun tidak ada jaminan yang dibuat tentang kapan hal ini akan terjadi. Itu adalah keberangkatan lengkap dari persyaratan konsistensi ACID langsung yang melarang transaksi dari mengeksekusi sampai transaksi sebelumnya telah selesai dan database telah konvergen ke keadaan yang konsisten.

Model BASE tidak sesuai untuk setiap situasi, tetapi tentu saja merupakan alternatif yang fleksibel untuk model ACID untuk database yang tidak memerlukan kepatuhan yang ketat terhadap model relasional.