Pangkalan data perhubungan direka bentuk dengan kebolehpercayaan dan konsistensi pada terasnya. Jurutera yang membangunkannya menumpukan pada model transaksi yang memastikan bahawa empat prinsip model ACID sentiasa dipelihara. Walau bagaimanapun, kemunculan model pangkalan data tidak berstruktur baharu menjadikan ACID di atas kepalanya. Model pangkalan data NoSQL mengelakkan model hubungan berstruktur tinggi dan memihak kepada pendekatan stor kunci/nilai yang fleksibel. Pendekatan tidak berstruktur kepada data ini memerlukan alternatif kepada model ACID: model BASE.
Pedoman Asas Model ACID
Terdapat empat prinsip asas model ACID:
- atomicity transaksi memastikan bahawa setiap transaksi pangkalan data adalah unit tunggal yang menggunakan pendekatan "semua atau tiada" untuk pelaksanaan. Jika mana-mana penyata dalam urus niaga gagal, keseluruhan transaksi akan ditarik balik.
- Pangkalan data perhubungan juga memastikan konsisten setiap transaksi dengan peraturan perniagaan pangkalan data. Jika mana-mana elemen transaksi atom akan mengganggu ketekalan pangkalan data, keseluruhan transaksi gagal.
- Enjin pangkalan data menguatkuasakan pengasingan antara berbilang transaksi yang berlaku pada atau hampir pada masa yang sama. Setiap urus niaga berlaku sama ada sebelum atau selepas setiap transaksi lain, dan pandangan pangkalan data yang dilihat oleh transaksi pada permulaannya hanya diubah oleh transaksi itu sendiri sebelum penutupnya. Tiada transaksi boleh melihat produk perantaraan transaksi lain.
- Prinsip ACID terakhir, ketahanan, memastikan bahawa setelah transaksi dikomitkan kepada pangkalan data, ia dipelihara secara kekal melalui penggunaan sandaran dan log transaksi. Sekiranya berlaku kegagalan, mekanisme ini boleh digunakan untuk memulihkan transaksi yang dilakukan.
Prinsip Teras BASE
Pangkalan data NoSQL, sebaliknya, menerima situasi di mana model ACID berlebihan atau akan, sebenarnya, menghalang operasi pangkalan data. Sebaliknya, NoSQL bergantung pada model yang lebih lembut yang dikenali, dengan sewajarnya, sebagai model BASE. Model ini menampung fleksibiliti yang ditawarkan oleh NoSQL dan pendekatan serupa kepada pengurusan dan penyusunan data tidak berstruktur. BASE terdiri daripada tiga prinsip:
- Ketersediaan Asas Pendekatan pangkalan data NoSQL memfokuskan pada ketersediaan data walaupun terdapat banyak kegagalan. Ia mencapai ini dengan menggunakan pendekatan teragih tinggi kepada pengurusan pangkalan data. Daripada mengekalkan satu stor data yang besar dan memfokuskan pada toleransi kesalahan kedai itu, pangkalan data NoSQL menyebarkan data merentasi banyak sistem storan dengan tahap replikasi yang tinggi. Sekiranya berlaku kegagalan yang mengganggu akses kepada segmen data, ini tidak semestinya mengakibatkan gangguan pangkalan data yang lengkap.
- Keadaan Lembut. Pangkalan data BASE meninggalkan keperluan ketekalan model ACID sepenuhnya. Salah satu konsep asas di sebalik BASE ialah ketekalan data ialah masalah pembangun dan tidak seharusnya dikendalikan oleh pangkalan data.
- Ketekalan Akhirnya Satu-satunya keperluan yang ada pada pangkalan data NoSQL berkenaan dengan konsistensi ialah menghendaki bahawa pada satu ketika pada masa hadapan, data akan menumpu kepada keadaan yang konsisten. Walau bagaimanapun, tiada jaminan dibuat mengenai bila ini akan berlaku. Itu adalah perlepasan sepenuhnya daripada keperluan ketekalan segera ACID yang melarang transaksi daripada dilaksanakan sehingga transaksi sebelumnya selesai dan pangkalan data telah menumpu kepada keadaan yang konsisten.
Dalam BASE, ketersediaan asas mungkin bermakna anda tidak pun mengawal sumber data. Sebagai contoh, anda boleh memautkan kepada set data awam untuk sebahagian daripada usaha anda.
Kes Penggunaan Relatif
Model BASE tidak sesuai untuk setiap situasi, tetapi ia sememangnya alternatif yang fleksibel kepada model ACID untuk pangkalan data yang tidak memerlukan pematuhan ketat kepada model hubungan.
Kes penggunaan optimum untuk pangkalan data menggunakan ACID bergantung pada data berstruktur tinggi dengan input dan output yang boleh diramal. Oleh itu, pangkalan data sumber manusia, pangkalan data runcit dan rekod perubatan elektronik mendapat manfaat daripada semakan konsistensi dalaman yang mantap yang ditawarkan oleh ACID.
Walau bagaimanapun, penyelesaian BASE adalah lebih baik untuk subjek kabur seperti analisis sentimen. Sebagai contoh, projek berstruktur BASE boleh mengimbas suapan Twitter mencari perkataan yang membayangkan emosi berdasarkan hashtag tertentu. Suapan Twitter tidak berstruktur dengan baik atau instantiated tempatan, tetapi strim data menawarkan maklumat yang diprogramkan ke dalam pertanyaan walaupun skop dan sifat data tersebut tidak terikat dengan bersih.