Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Transactions ====== ===== ACID ===== * Atomicity: All ops happen, or none * Consistency: Data will be consistent, no constraints violated * Isolation: One transaction cannot read from another non-completed one. If t2 reads write from t1, needs to wait. * Durability: Changes have been recorded ===== CAP ===== "In presence of a network partition, one has to choose between **consistency** and **availability**". ==== Consistency ==== * Strong consistency * Timeline consistency: Typically async master-slave replication. * Eventual consistency: Temporarily inconsistent ====== Scenario ====== Scaling out NOSQL across regions/public clouds. Partitioned db across clusters. How to ensure that transaction is commited on all nodes. Ensuring atomicity: Multi-phase commit, pessimistic read-write locking But: Network partitions distributed_computing/transactions.txt Last modified: 2019/05/17 21:22by phreazer