Transaksi dan konkurensi
Untuk tambahan model data mereka, database yang paling praktis ("database transaksional") berusaha untuk melakukan transaksi database . Idealnya, program database harus mengikuti peraturan ACID, dirangkum di sini:- Atomicity : Semua tugas dalam suatu transaksi harus terjadi, atau tak satu pun dari mereka. Transaksi ini harus diselesaikan, atau yang lain itu harus dibatalkan (rolling back).
- Consistency (Konsistensi): Setiap transaksi harus menjaga batasan integritas - menyatakan aturan konsistensi - dari database. Tidak bisa meninggalkan data dalam keadaan kontradiktif.
- Isolation (Pemisahan): Dua transaksi simultan tidak dapat mencampuri satu sama lain. Hasil intermediate dalam transaksi harus tetap terlihat dengan transaksi lainnya.
- Durability (Daya Tahan): Transaksi yang telah diselesaikan tidak dapat dibatalkan atau hasil mereka dibuang. Mereka harus bertahan melalui (misalnya) merestart DBMS setelah crash.
Dalam prakteknya, banyak DBMS memungkinkan relaksasi selektif sebagian besar peraturan-peraturan tersebut - untuk performa yang lebih baik.
Kendali konkurensi memastikan bahwa transaksi mengeksekusi secara aman dan mengikuti aturan ACID. DBMS harus dapat memastikan bahwa mereka serializable, jadwal recoverable digenerate, dan tidak adanya tindakan transaksi yang dilakukan akan hilang saat transaksi dibatalkan.
0 komentar: