Functional
- Get, put, conditional update, and delete opaque values by key.
- Choose a consistency level per dataset or operation.
- Continue through node, zone, and selected regional failures.
Serve keys near users while balancing consistency, conflicts, and regional failure.
Use stable hash partitioning and continuous rebalancing.
Regional coordinators and replicated partitions scale independently.
Synchronous global quorum is too slow for every dataset.
Metadata for versions/conflicts is a meaningful fraction.
These are reference assumptions, not universal facts. In an interview or architecture review, change them when the product context changes.
/v1/kv/{key}?consistency=Read with strong, quorum, session, or eventual policy./v1/kv/{key}Write value with version precondition and idempotency token./v1/kv/{key}Write a versioned tombstone retained through repair horizon.key, value/tombstone, version_vector or HLC, origin, expires_atCausal metadata distinguishes newer from concurrent updates.token_range, epoch, replicas by region/zoneEpoch fences coordinators using stale topology.Select region using health and locality
Execute consistency policy
Store and version keys
Run anti-entropy and reconcile conflicts
Strong keys route writes to a home-region consensus group. Local-latency keys accept regional writes and replicate asynchronously, using conditional versions or domain-specific merge for concurrency. Expose semantics as named policies, not raw R/W knobs.
Last-write-wins is acceptable only when lost concurrent updates are harmless. Sets, counters, and carts can use mergeable structures; account balance or uniqueness requires a single authority or transaction.
Merkle/range hashes find divergence, then stream only mismatched keys. During regional failover, advance a placement epoch and fence the old authority. Re-entry happens gradually after repair, not by immediately restoring traffic.
Continue only the operations permitted by the data invariant and record reconciliation metadata.
Use logical or hybrid versions and never use wall time alone for correctness.
Move here when: Low-latency scalable key access.
Move here when: Global users need local reads.
Move here when: Regional write continuity is worth reconciliation complexity.
Strong answer signal: When concurrent updates carry independent information or clocks cannot establish causality.
Strong answer signal: Carry a session/version token and wait, route, or fail explicitly.
Strong answer signal: Fence old epochs, repair divergence, then restore placement deliberately.