Building Financial Systems on Eventually Consistent DBs
summary
Billing platform for Netflix migrates from MySQL to Cassandra to gain horizontal scale and multi‑region availability for 125M+ customers, trading ACID for latency and complexity. Engineers use lightweight transactions and local quorum to limit conflicts, generate keys with UUID v5 invariants to dedupe SQS at‑least‑once delivery, and replicate writes to Kafka plus nightly Hive snapshots for OLAP. Result: 99% of traffic on the new system by July 2018, roughly 2× the processed volume in half the time, with operational monitoring to catch inconsistencies.
AI-written summary · about
chapters (23)
- 0:00Intro
- 1:28Billing Engineering
- 3:53Netflix operates out of multiple AWS regions to ensure availability
- 4:46Single Master Single Point of Failure
- 5:05Read replicas
- 5:33Slave Promotion
- 6:07We needed something better...
- 7:16But it's not perfect, especially for a financial system
- 7:53So how do you build a financial system on top of it?
- 8:31Lightweight Transactions in Cassandra
- 9:22Update Consistency With Optimistic Locking
- 10:08Two Scenarios
- 10:45With Cassandra, last write wins
- 11:40How does Cassandra achieve fault tolerance?
- 12:21Local Quorum vs Each Quorum
- 13:29Insert Consistency
- 15:12Some things to consider
- 16:20Minimizing inconsistencies
- 18:38Building a financial system on top of Cassandra
- 19:44We built a poor man's relational schema
- 20:16Understand performance implications before using collection types
- 22:13Querying across rows
- 23:06Recap
related talks
46mCassandra Serving Netflix @ Scale
49mData Platform Architecture, Evolution, and Philosophy
35mThe What and Why of Cassandra Datamodelling at Scale
32mMigrating Workloads from Mainframes to Cassandra - Problems, Experience and Learnings
34mHow Netflix Delivers Key-Value and Time-Series Storage at Any Scale
46mApache Cassandra: 8 years in production
45mMigrating Mission Critical Workloads from Mainframe to Open...
35mA Customer’s Journey: Migrating from NoSQL to a Cloud Native Distributed SQL Database
