What Would You Give for Speed: Trade-offs in Eventually Consistent Systems at Fly.io by Somtochi Onyekwere
ScyllaDB
0 views
30 slides
Oct 15, 2025
Slide 1 of 30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
About This Presentation
Drawing on examples from engineering Corrosion (an source distributed system designed to handle fast eventual consistency across Fly.io's cloud platform), this talk examines the nuanced relationship between speed and consistency in eventually consistent databases, what that means for developers ...
Drawing on examples from engineering Corrosion (an source distributed system designed to handle fast eventual consistency across Fly.io's cloud platform), this talk examines the nuanced relationship between speed and consistency in eventually consistent databases, what that means for developers in practice, and how to build resilient, high-speed applications that embrace—or carefully mitigate—the quirks of eventual consistency.
Size: 1.53 MB
Language: en
Added: Oct 15, 2025
Slides: 30 pages
Slide Content
A ScyllaDB Community
What Would You Give for Speed:
Trade-offs in Eventually Consistent
Systems at Fly.io
Somtochi Onyekwere
Software Engineer
<Somtochi Onyekwere> (she/her)
Software Developer, @ Fly.io
■Working on distributed systems and
networking software
■Recently watched: Last of us and Severance
■Learning espanol
The need for speed
(Else) (Latency) or (Consistency)
CAP -> PACELC
(Else) (Latency) or (Consistency)
It takes time to agree
-Two phase commits
-Quorum reads/writes
-Whenever nodes have to
reach out to other nodes to
agree
Conflict-free Replicated Data Types
CRDTs
■Any replica can be modified without coordinating with another replicas;
CRDTs
■Any replica can be modified without coordinating with another replicas.
■When any two replicas have received the same set of updates, they reach the
same state.
CRDTs
■Any replica can be modified without coordinating with another replicas.
■When any two replicas have received the same set of updates, they reach the
same state.
■The data type (+ an algorithm) takes care of any conflict during merge
Corrosion
Corrosion
■Global replication system for sqlite data
Corrosion
■Global replication system for sqlite data
■CRDTs for conflict resolution
Corrosion
■Global replication system for sqlite data
■CRDTs for conflict resolution
■Gossip for data dissemination
Gossip-Style
Dissemination
Corrosion
■Global replication system for sqlite data
■CRDTs for conflict resolution
■Gossip for data dissemination
■Custom syncing protocol
Corrosion
■Global replication system for sqlite data
■CRDTs for conflict resolution
■Gossip for data dissemination
■Custom syncing protocol
■SWIM for membership protocol
Measuring latency
How quickly are we
processing changes
How long does it take for
change to get everywhere