SLIDE 3 [AntidoteDB & Just-Right Consistency]
The developer-friendly
Preserve sequential data invariant patterns Transactional Causal Consistency (TCC)
- Maintains AP-compatible invariants
- Strongest form of consistency that is AP
CAP-sensitive: Synchronise only when strictly necessary for application ⟹ tools No specialised infrastructure, no lock-in
11
.org
[AntidoteDB & Just-Right Consistency]
Data model: registers?
Concurrent, asynchronous updates
- Standard register model: assignments ⟹ CP
- AP ⟹ concurrent updates merged
CRDT: register, counter, set, map, sequence
- Extends sequential type
- Encapsulates convergent merge
12
cnt ≔ 1 cnt ≔ 1 cnt = 0 cnt ≔ 2 cnt ≔ 2 cnt = 0 add-med(1) add-med(2) cnt = 2 cnt = 1
[AntidoteDB & Just-Right Consistency]
AP data model: CRDTs
Concurrent, asynchronous updates
- Standard register model: assignments ⟹ CP
- AP ⟹ concurrent updates merged
CRDT: register, counter, set, map, sequence
- Extends sequential type
- Encapsulates convergent merge
13
cnt += 1 cnt += 1 cnt = 0 cnt += 2 cnt += 2 cnt = 0 add-med(1) add-med(2) cnt = 3 cnt = 3
[AntidoteDB & Just-Right Consistency]
CRDT API
CRDT: register, counter, set, map, sequence
- Extends sequential type
- Encapsulates convergent merge
antidote:update_objects ([{
{meds, antidote_crdt_set, bucket}, add, {"Causatin", client1} }], TxId1).
14
.org