Building a Cloud-Native SQL Database
summary
Cloud-native SQL database built as a single Go binary that shards data into 64 MB ranges, replicates each range (default three copies) and runs Raft per range for strong consistency; transactions default to serializable isolation using optimistic concurrency with short waits to reduce aborts. System scales linearly (tested to 64 nodes) and hit ~100,000 QPS on YCSB; gossip drives automatic rebalancing, Kubernetes/Helm deploys are provided, and two Jepsen-found bugs were fixed with no remaining known consistency issues.
AI-written summary · about
chapters (22)
- 0:00Intro
- 1:15No sequel databases
- 3:24Availability and scalability
- 4:30Choosing a database
- 4:59Cockroach DB
- 5:28How the system works
- 5:44Three main areas
- 5:59System structure
- 12:43Range Size
- 14:49Primary Secondary Replication
- 16:10Consensus
- 19:03Raph
- 20:35Serializable Isolation
- 21:34Transactions
- 22:37Simple Example
- 26:10How to deploy
- 27:28Questions
- 27:58Reads
- 31:30Adding nodes
- 34:28Migrating
- 35:23Business Model
- 36:38Latency
related talks
30mBuilding Cloud Native Applications on Distributed SQL Platform
42mThe hows and whys of a distributed SQL database
35mA Customer’s Journey: Migrating from NoSQL to a Cloud Native Distributed SQL Database
26mHow to Assess Your Cloud Native Workloads for Migration to a Distributed SQL Database
26mNewSQL: concepts, realities and when you should embrace it
52mCockroachDB
37mRunning a Cloud-Native SQL Database on Mesos
26mCloud Native Database Meetup Japan: The State of Distributed Database in Japan
