@cockroachdb
Scalable, Survivable, Consistent, SQL
CockroachDB’s Survivability Model
presented by Marc Berhault / Engineer
CockroachDBs Survivability Model Scalable, Survivable, Consistent, - - PowerPoint PPT Presentation
CockroachDBs Survivability Model Scalable, Survivable, Consistent, SQL presented by Marc Berhault / Engineer @cockroachdb CockroachDB: Make Data Easy Scalable Survivable Strongly Consistent SQL And... Open Source
@cockroachdb
Scalable, Survivable, Consistent, SQL
presented by Marc Berhault / Engineer
@cockroachdb
@cockroachdb
@cockroachdb
@cockroachdb
SQL Store Range Transactional KV Distribution Replication Range Range Store Range Range Range Storage Store Range Range Range Store Range Range Range SQL SQL Storage Storage * * Abstraction stack: Node 1 Node 2 In the network:
@cockroachdb
SQL Transactional KV Distribution Replication
@cockroachdb
id name quantity 1 Apple 3 2 Orange 12 3 Cherry 5 4 Banana 7 inventory name id Apple 1 Banana 4 Cherry 3 Orange 2 name_index
@cockroachdb
Key: /<table>/<index>/<key>/<column> Value /inventory/primary/ 1/name Apple /inventory/primary/ 1/quantity 3 Key: /<table>/<index>/<key> Value /inventory/name_index/Apple 1 inventory name_index
@cockroachdb
SQL Transactional KV Distribution Replication
@cockroachdb
@cockroachdb
SQL Transactional KV Distribution Replication
@cockroachdb
Ø-lem
apricot banana blueberry cherry grape
lem-pea
lemon lime mango melon
pea-∞
peach pear pineapple raspberry strawberry
@cockroachdb
Ø-lem
apricot banana blueberry cherry grape
lem-pea
lemon lime mango melon
pea-∞
peach pear pineapple raspberry strawberry Ø-lem lem-pea pea-∞
shard index
@cockroachdb
Ø-lem
apricot banana blueberry cherry grape
lem-pea
lemon lime mango melon
pea-str
peach pear pineapple raspberry Ø-lem lem-pea
shard index str-∞
strawberry tamarillo tamarind pea-∞ pea-str
@cockroachdb
SQL Transactional KV Distribution Replication
@cockroachdb
Node 1
Range 1 Range 2
Node 2
Range 1 Range 2
Node 3
Range 1
Node 4
Range 2
Range 3 Range 3 Range 2 Range 3
@cockroachdb
@cockroachdb
@cockroachdb
@cockroachdb
Node 1
Range 1 Range 2
Node 2
Range 1 Range 2
Node 3
Range 1
Range 2
Range 3 Range 3 Range 2 Range 3
@cockroachdb
Node 1
Range 1 Range 2
Node 2
Range 1 Range 2
Node 3
Range 1
Node 4
Range 2
Range 3 Range 3 Range 2 Range 3
@cockroachdb
Node 1
Range 1 Range 2
Node 2
Range 1 Range 2
Node 3
Range 1
Node 4
Range 2
Range 3 Range 3 Range 2 Range 3 Range 3
@cockroachdb
Node 1
Range 1 Range 2
Node 2
Range 1 Range 2
Node 3
Range 1
Node 4
Range 2
Range 3 Range 3 Range 2 Range 3 Range 3
@cockroachdb
Node 1
Range 1 Range 2
Node 2
Range 1 Range 2
Node 3
Range 1
Node 4
Range 2
Range 3 Range 3 Range 2 Range 3
@cockroachdb
Node 1
Range 1 Range 2 Range 2
Node 2 Node 3
Range 1
Node 4
Range 2
Range 3 Range 1 Range 3 Range 2 Range 3
@cockroachdb
Node 1
Range 1 Range 2 Range 2
Node 2 Node 3
Range 1
Node 4
Range 2
Range 3 Range 1 Range 3 Range 2 Range 3
@cockroachdb
Node 1
Range 1 Range 2 Range 2
Node 2 Node 3
Range 1
Node 4
Range 2
Range 3 Range 1 Range 3 Range 2 Range 3
@cockroachdb
Node 1
Range 1 Range 2 Range 2
Node 2 Node 3
Range 1
Node 4
Range 2
Range 3 Range 1 Range 3 Range 2 Range 3
Range 1 Range 3
@cockroachdb
Node 1
Range 1 Range 2 Range 2
Node 3
Range 1
Node 4
Range 2
Range 3 Range 2 Range 3 Range 1 Range 3
@cockroachdb
@cockroachdb
@cockroachdb
@cockroachdb