Ordering at Scale: What To Do When Total Order Breaks

Ordering at Scale: What To Do When Total Order Breaks A workflow diagram generated by Archify. 01 / Decision 02 / Total Order 03 / Per-Key Order 04 / No Causal Link 05 / Causal Order Event Ordering Needed · total order = consensus · Decision Event Ordering Needed total order = consensus Single Node Ordering? · one node must order all · Decision Single Node Ordering? one node must order all Same-Object Updates? · ordering only per key · Decision Same-Object Updates? ordering only per key Causal Order Needed? · or are events unlinked? · Decision Causal Order Needed? or are events unlinked? Reference Seen State? · log seen state, cite ID · Decision Reference Seen State? log seen state, cite ID Total Order Log · single leader; simplest · Total Order · capped throughput Total Order Log single leader; simplest capped throughput Shard by Object ID · one shard per key · Per-Key Order · no cross-shard order Shard by Object ID one shard per key no cross-shard order Order Arbitrarily · no causal link · No Causal Link · concurrent is fine Order Arbitrarily no causal link concurrent is fine Causal References · record the dependency · Causal Order · cite the seen event Causal References record the dependency cite the seen event Logical Timestamps · handle out-of-order · Causal Order · side effects unsafe Logical Timestamps handle out-of-order side effects unsafe no yes no yes no yes no yes assess Legend Agent logic Context / trace External system