distributed_computing:transactions

Transactions

  • 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

“In presence of a network partition, one has to choose between consistency and availability”.

  • 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:22
  • by phreazer