Netflix operates out of multiple AWS regions to ensure availability
4
Single Master Single Point of Failure
5
Read replicas
6
Slave Promotion
7
We needed something better...
8
But it's not perfect, especially for a financial system
9
So how do you build a financial system on top of it?
10
Lightweight Transactions in Cassandra
11
Update Consistency With Optimistic Locking
12
Two Scenarios
13
With Cassandra, last write wins
14
How does Cassandra achieve fault tolerance?
15
Local Quorum vs Each Quorum
16
Insert Consistency
17
Some things to consider
18
Minimizing inconsistencies
19
Building a financial system on top of Cassandra
20
Our object model needed relations
21
We built a poor man's relational schema
22
Understand performance implications before using collection types
23
Querying across rows
24
Recap
Description:
Explore the challenges and solutions of building financial systems on eventually consistent databases in this conference talk from Strange Loop. Dive into Netflix's approach to managing billing for millions of global customers across multiple AWS regions. Learn about the tradeoffs between availability and consistency when using multi-master databases, and discover how the Billing Engineering platform developed a scalable, available, and strongly consistent solution. Examine techniques such as lightweight transactions in Cassandra, update consistency with optimistic locking, and fault tolerance strategies. Gain insights into building a financial system on top of Cassandra, including object modeling, creating a relational schema, and understanding performance implications. This talk provides valuable lessons for engineers working on large-scale financial systems in distributed environments.
Building Financial Systems on Eventually Consistent DBs