Database relasional dirancang dengan keandalan dan konsistensi pada intinya. Para insinyur yang mengembangkannya berfokus pada model transaksional yang memastikan bahwa keempat prinsip model ACID selalu dipertahankan. Namun, munculnya model database baru yang tidak terstruktur mengubah ACID. Model database NoSQL menghindari model relasional yang sangat terstruktur demi pendekatan penyimpanan kunci/nilai yang fleksibel. Pendekatan data yang tidak terstruktur ini memerlukan alternatif model ACID: model BASE.
Prinsip Dasar Model ACID
Ada empat prinsip dasar model ACID:
- The atomicity transaksi memastikan bahwa setiap transaksi database adalah satu unit yang mengadopsi pendekatan "semua atau tidak sama sekali" untuk dieksekusi. Jika ada pernyataan dalam transaksi yang gagal, seluruh transaksi dibatalkan.
- Database relasional juga memastikan konsistensi setiap transaksi dengan aturan bisnis database. Jika salah satu elemen dari transaksi atom akan mengganggu konsistensi database, seluruh transaksi akan gagal.
- Mesin database memberlakukan isolasi antara beberapa transaksi yang terjadi pada atau hampir bersamaan. 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. Transaksi tidak boleh melihat produk perantara dari transaksi lain.
- Prinsip ACID terakhir, durability, memastikan bahwa setelah transaksi di-commit ke database, transaksi tersebut akan disimpan secara permanen melalui penggunaan backup dan log transaksi. Jika terjadi kegagalan, mekanisme ini dapat digunakan untuk memulihkan transaksi yang dilakukan.
Prinsip Inti BASE
NoSQL database, di sisi lain, merangkul situasi di mana model ACID berlebihan atau akan, pada kenyataannya, menghambat pengoperasian database. Sebaliknya, NoSQL bergantung pada model yang lebih lembut yang dikenal sebagai model BASE. Model ini mengakomodasi fleksibilitas yang ditawarkan oleh NoSQL dan pendekatan serupa untuk pengelolaan dan kurasi data tidak terstruktur. BASE terdiri dari tiga prinsip:
- Ketersediaan Dasar Pendekatan basis data NoSQL berfokus pada ketersediaan data bahkan di hadapan banyak kegagalan. Ini mencapai ini dengan menggunakan pendekatan yang sangat terdistribusi untuk manajemen database. Alih-alih mempertahankan satu penyimpanan data besar dan berfokus pada toleransi kesalahan penyimpanan itu, database NoSQL menyebarkan data ke banyak sistem penyimpanan dengan tingkat replikasi yang tinggi. Jika tidak mungkin terjadi kegagalan yang mengganggu akses ke segmen data, hal ini tidak serta merta mengakibatkan pemadaman basis data yang lengkap.
- Kondisi Lunak. Basis data BASE mengabaikan persyaratan konsistensi model ACID sepenuhnya. 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 yang dimiliki database NoSQL mengenai konsistensi adalah mengharuskan bahwa di beberapa titik di masa depan, data akan menyatu ke keadaan yang konsisten. Namun, tidak ada jaminan yang dibuat tentang kapan ini akan terjadi. Itu adalah penyimpangan lengkap dari persyaratan konsistensi segera dari ACID yang melarang transaksi untuk dieksekusi sampai transaksi sebelumnya selesai dan database telah konvergen ke keadaan yang konsisten.
Dalam BASE, ketersediaan dasar dapat berarti bahwa Anda bahkan tidak mengontrol sumber data. Misalnya, Anda dapat menautkan ke kumpulan data publik sebagai bagian dari upaya Anda.
Kasus Penggunaan Relatif
Model BASE tidak sesuai untuk setiap situasi, tetapi tentu saja merupakan alternatif fleksibel untuk model ACID untuk database yang tidak memerlukan kepatuhan ketat terhadap model relasional.
Kasus penggunaan optimal untuk database yang menggunakan ACID bergantung pada data yang sangat terstruktur dengan input dan output yang dapat diprediksi. Dengan demikian, basis data sumber daya manusia, basis data ritel, dan rekam medis elektronik mendapat manfaat dari pemeriksaan konsistensi internal yang kuat yang ditawarkan ACID.
Namun, solusi BASE lebih baik untuk subjek kabur seperti analisis sentimen. Misalnya, proyek terstruktur BASE dapat memindai umpan Twitter untuk mencari kata-kata yang menyiratkan emosi berdasarkan tagar tertentu. Umpan Twitter tidak terstruktur dengan baik atau dibuat secara lokal, tetapi aliran data menawarkan informasi yang diprogram ke dalam kueri meskipun cakupan dan sifat data tersebut tidak dibatasi secara jelas.