Part 8 · 1 chapters · ~8 min

An Honest Comparison

Cassandra, MongoDB, Postgres and MySQL compared with a decision framework, Jepsen findings read critically, when a document database is a relational database with weaker constraints, polyglot persistence and the consistency tax between stores, and what most fintech workloads actually need.

12

Choosing with mechanism, not fashion

needbest fitwhy
money: ledgers, balances, invariantsPostgres or MySQL (or a NewSQL system at global scale)transactions, constraints, joins, mature tooling
very high write throughput, time series, multi-region always-writableCassandra or ScyllaDBLSM writes, leaderless replication, tunable consistency
self-contained aggregates with flexible shape (catalogues, content, KYC submissions)MongoDB, or Postgres JSONBdocuments read and written whole
event history and audit trails at scaleCassandra, or Kafka plus a warehouseappend-heavy, time-partitioned
caching and ephemeral stateRedismemory speed (course 7)

Jepsen (jepsen.io) has tested both systems repeatedly; past reports found issues under particular configurations (for example, MongoDB reads and writes below majority concerns, and Cassandra lightweight transaction bugs), most since fixed. Read reports for the configuration you run, and set concerns deliberately. Polyglot persistence adds a consistency tax: every additional store needs CDC or outbox plumbing to stay in sync (Scaling course P7). Start with one relational database and add stores when a measured need appears.