Cosmos DB consistency: Strong, Bounded, Session or Eventual?

Verdict: RPO 0 means Strong - single write region only. A tenant-wide K-versions or T-seconds bound means Bounded staleness. Read-your-own-writes at the lowest RU cost means Session, the default. Multi-write accounts cannot run Strong.

Criterionstrong consistencybounded stalenesssession consistencyeventual consistency
GuaranteeLinearisable - always the latest committed writeLag bounded by K versions or T seconds, whichever firstRead-your-writes inside one session tokenNo ordering or freshness bound
RPO in region outage0K and T (minimums 100,000 ops / 300 seconds multi-region)Under 15 minutesUnder 15 minutes
Read RU cost2x2x (two-replica reads)1x - same as Eventual1x
Cost elsewhereWrite latency grows with inter-region round tripNear-strong for single-write multi-regionCross-session reads can be staleHighest throughput
Choose whenTrading, ledgers - staleness unacceptableGlobal reporting, one write region, many read regionsUser-facing web apps - the default for a reasonCounters, telemetry, likes

Rules

Traps