Distributed Database
Distributed SQL databases replicate data across nodes/regions with full ACID SQL. CockroachDB (Cockroach Labs, source-available core (CockroachDB Software License), v25.4 LTS, May 2026) defaults to SERIALIZABLE over Raft. YugabyteDB (Apache 2.0, v2025.2 LTS, June 2026) lets you pick isolation per query, SERIALIZABLE to READ COMMITTED β both clone Spanner's design with Postgres wire compatibility. TiDB (PingCAP, Apache 2.0, v8.5.6 LTS, April 2026) targets MySQL, splitting TiKV (row, Raft) from TiFlash (columnar) for HTAP. Google Spanner uses TrueTime + Paxos for external consistency, billed per processing unit (1000 PU=1 node) across Standard/Enterprise/Enterprise Plus editions, with optional Postgres dialect. Amazon Aurora DSQL (GA May 2025), serverless and Postgres 16-compatible, offers snapshot isolation, not SERIALIZABLE, via optimistic concurrency, DPU-metered billing, active-active multi-region same continent only.
Pick CockroachDB when you need Postgres-wire compatibility plus zero-touch multi-region survivability and can live with source-available licensing (no CockroachDB-as-a-service from a competitor). Pick TiDB instead if your app is already MySQL and you want HTAP without bolting on a separate warehouse. Skip Aurora DSQL for anything needing true SERIALIZABLE isolation β AWS ships snapshot isolation only, a gap its own docs flag as a migration gotcha for apps written against strict Postgres semantics. YugabyteDB's per-query isolation flexibility is real but shifts correctness burden onto app developers. Known weakness: Aurora DSQL β the newest entrant, GA May 2025 β supports only snapshot isolation (no SERIALIZABLE, no READ COMMITTED) and forbids cross-continent multi-region clusters, constraints AWS states directly in its own docs rather than a critic's inference.