Just over 10 years ago, Daniel Abadi proposed a new way of thinking about the engineering tradeoffs behind building scalable, distributed systems. According to Abadi, this new model, known as the PACELC theorem, comes closer to explaining the design of NoSQL systems than the well-known CAP theorem.
Watch this webinar to hear Daniel’s reflections on PACELC ten years later, explore the impact of this evolution and learn how ScyllaDB Cloud takes a unique approach to support modern applications with extreme performance and low latency at scale.
2. Agenda ■ The PACELC Theorem
■ ScyllaDB Cloud in Context
• Benchmarking PACELC
• Benchmark Set Up & Results
■ About ScyllaDB Cloud
■ Questions
2
3. 3
Dr. Daniel Abadi
Daniel Abadi is the Darnell-Kanal Professor of Computer
Science at University of Maryland, College Park and was
named an ACM Fellow in 2020. His primary area of
research is database systems, and his publications have
been cited more than 23,000 times. He is known for his
contributions to distributed databases, column-store
databases, deterministic databases, graph databases, and
stream databases.
4. Every modern data store replicates data for
performance and availability.
DB 1 DB 2
network
5. What should we do if replicas can’t
communicate with each other?
DB 1 DB 2
network
partition
6. CAP Theorem says tradeoff:
Consistency vs. Availability
DB 1 DB 2
network
partition
7. CAP Theorem says tradeoff:
Consistency vs. Availability
DB 1 DB 2
network
partition
According to the CAP theorem every system
would be both consistent and available at all
times except during a network partition.
9. Having siloed / localized version of
applications no longer acceptable
10. No replication 🡪 bad latency and availability
Write Read
Write
Read
10ms
400 ms
11. Synchronous replication hurts latency
Write
Read
400ms
Write
Read
Replication / consensus
400ms
10ms 10ms
We get consistency, at expense of latency
(e.g. Spanner, CockroachDB)
12. Alternative: Give each item a primary location,
consistent reads/writes directed there
Write Read
10ms
Write Read
10ms
e.g. CockroachDB (with its geo-partitioning
feature), SLOG, PNUTS
Read
Write
Write
Read
400 ms
400 ms
13. Asynchronous replication hurts consistency
Write Read
10ms
Write Read
10ms
Asynchronously replicate writes
We get latency, at expense of consistency
14. PACELC
• In the case of a partition (P), does the system choose availability (A) or consistency (C)?
• Else (E), does the system choose latency (L) or consistency (C)?
• PA/EL
• Systems that replicate asynchronously (e.g. Dynamo, Cassandra, COPS, Jessy, Walter, Scylla, …)
• PC/EC
• Partitioned systems and systems that replicate synchronously (e.g., Spanner, CockroachDB, Calvin, SLOG, …)
• PA/EC
• Systems that replicate synchronously except during a partition
• PC/EL: No good reason to exist
14
15. CockroachDB: PC/EC
Goal: Consistency
+ CockroachDB provides near strong-1SR consistency
(Jepsen)
+ Support ACID transactions
+ Provides high availability the same way ScyllaDB
does — with redundancy
+ Maintains consistency across replicas while serving
concurrent operations
+ Hybrid transaction scheduler makes reads
linearization cost-free
+ Written in Go--susceptible to garbage collection
spikes
Comparing Consistency and Latency
15
ScyllaDB: PA/EL
Goal: Availability and low latency
+ Async computing model
+ Supports a million lambda functions (“continuations”)
per second, per core
+ Offers an API for stronger consistency that leverages
lightweight transactions (LWT).*
+ From an ACID perspective, does not provide isolation
+ Written in C++, no garbage collection
*Scylla 5 will introduce Raft support, which will provide a
stronger type of consistency that is sometimes referred to as
“immediate consistency”.
19. The industry’s fastest, safest, and most scalable distributed database
ScyllaDB Cloud
19
+ Built in C++ for low-level control
+ Fully asynchronous runtime
+ Millions of OPS per node
+ p99 latency less than 1ms
+ AWS and Google Cloud: Wide range of instance types
+ Isolated, dedicated instances for performance and security
+ Fully managed, even in your own AWS account
21. United States
2445 Faber St, Suite #200
Palo Alto, CA USA 94303
Israel
Maskit 4
Herzliya, Israel 4673304
www.scylladb.com
@scylladb
Questions and Answers