ACID
অ্যাসিড
Transaction-এর চার প্রতিশ্রুতি — Atomicity, Consistency, Isolation, Durability; ভাঙলে কোনটা যায় তা-ই database design-এর কেন্দ্রীয় প্রশ্ন।
also: acid-properties
- Atomicity — all-or-nothing; undo log/WAL rollback
- Consistency — constraint ভাঙা transaction বাঁচতে পারে না (C আসলে application+DB একসঙ্গের দায়)
- Isolation — concurrent execution মনে হয় serial; degree থাকে — isolation level তাই
- Durability — commit ack = বিদ্যুৎ গেলেও বাঁচবে; WAL fsync-এর প্রতিশ্রুতি
BEGIN;
UPDATE accounts SET bal = bal - 100 WHERE id = 1;
UPDATE accounts SET bal = bal + 100 WHERE id = 2; -- crash here? no partial state
COMMIT;
NoSQL জগৎ-এ A, C, I আলগা করে trade — CAP/PACELC-র ভাষায় একই গল্পের অন্য অধ্যায়।