(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
ScyllaDB Fast Forward:
True Elastic Scale
Dor Laor, CEO and Co-Founder, ScyllaDB
Felipe Cardeneti Mendes, Solutions Architect++, ScyllaDB
Poll
How often do you scale your database?
Presenters
Felipe Cardeneti Mendes, Solutions Architect
+ Puppy Lover
+ Open Source Enthusiast
+ ScyllaDB passionate!
Dor Laor, CEO and Co-Founder
+ Puppy Lover
+ Open Source, snowboard and MTB Enthusiast
+ ScyllaDB passionate!
Why ScyllaDB?
Best High Availability in the industry
Best Disaster Recovery in the industry
Best scalability in the industry
Best Price/Performance in the industry Auto-tune - out of the box performance
Compatible with Cassandra & DynamoDB
The power of Cassandra at the speed of Redis with the usability of DynamoDB
No Lock-in
Open Source Software
+400 Gamechangers Leverage ScyllaDB
Agenda
+ Wasn’t ScyllaDB elastic before?
+ The value proposition
+ Demo time
+ Deeper dive
+ What's next
< 6.0 ScyllaDB Releases Were Good
2X 2X 2X 2X 2X
3 x 4-vcpu VMs
1B keys
3 x 8-vcpu VMs
2B keys
3 x 16-vcpu VMs
4B keys
3 x 32-vcpu VMs
8B keys
3 x 64-vcpu VMs
16B keys
3 x 128-vcpu VMs
32B keys
< 6.0 Latency Under Repair/Add/Remove Nodes
ScyllaDB < 6.0 Problems
+ Eventual Consistency of cluster metadata
+ Great architecture for scalable, partition-tolerable, widely distributed DB
+ But
+ Topology changes are allowed one-at-a-time
+ Rely on 30+ second timeouts for poor’s man linearizability
+ Node failed/down block scale
+ Streaming time is a function of the schema - parsing partitions
+ Additional complex operations: Cleanup, rebuild, etc
Our journey
from eventual
to immediate
consistency
& tablets
ScyllaDB 6.0 Value
Elasticity
+ Faster bootstrap/operations
+ Incremental bootstrap
+ Concurrent node operations
Simplicity
+ Decouple topology operations
+ Transparent cleanups
+ Semi transparent repairs
+ Parallel maintenance operations
Speed
+ Streaming sstables - 30x faster
+ Load balancing of tablets Consistency
+ Small tables fit in few (single) nodes
TCO
+ Shrink free space
+ Reduce static, over provisioned deployments
Demo Time!
Theory Behind Tablets
Raft- Consistent Metadata
Protocol for state machine replication
Total order broadcast of state change commands
X = 0 X += 1 CAS(X, 0, 1)
X
= 0
node A
bootstrap
bootstrap
Linearizable Token Metadata
node B
node C
system.token_metadata
Read
barrier
Read
barrier
+ Fencing - each write is signed with topology version
+ If there is a version mismatch, the write doesn’t go through
Changes in the Data Plane
Replica
Coordinator
Topology
coordinator
R
e
q
(
V
1
)
Req(V 1
)
F
e
n
c
e
(
V
1
)
D
r
a
i
n
(
V
1
)
Req(V 2
)
Linearizable Schema Version
No re-hash of the entire schema on change
10x less CPU with large schemas.
TimeUUID-based Schema version
Hash-based schema version
5.x: 6.x:
Tablet History: ClayDB > Bigtable > ScyllaDB
Consistent Metadata & Tablet Journey
RAFT Safe schema
changes
Safe topology
changes
Dynamic partitioning
Consistent tables
Tablets
5.0
5.2
5.2+
6.0
+ Introduce a new layer of indirection - the tablets table
+ Each table has its own token range to node mapping
+ Mapping can change independently of node addition
and removal
+ Different tables can have different tablet counts
+ Managed by Raft
Implementation - Metadata
System, tablets
Query
Replica
Set
Token
+ Each tablet replica is isolated into its own
memtable+ SSTables
+ Forms its own little Log-Structured Merge Tree
+ With compaction and stuff
+ Can be migrated as a unit
+ Migration: copy the unit
+ Cleanup: delete the unit
+ Split/merge as the table grows/shrinks
Implementation - Data Path
Standard Tables
{R1, R2, R3}
R1
R2
key1
key2
Sharding function generates
good load distribution between
CPUs
R3
RAFT group
No. 299238
RAFT group
No. 299236 RAFT group
No. 299237
Raft Tables key1
key2
tablet
tablet
replica
tablet
replica
+ Source of truth for the cluster
+ How many tablets for each table
+ Token boundaries for each tablets
+ On which nodes and shards do we have replicas
+ What kind of transition the tablet is undergoing
+ Which nodes and shards will host tablet replicas
after the transition
+ Managed using the Raft protocol
+ Replicated on every node
The Tablets Table
CREATE TABLE system.tablets (
table_id uuid,
last_token bigint,
keyspace_name text static,
replicas list<tuple<uuid, int>>,
new_replicas list<tuple<uuid, int>>,
session uuid,
stage text,
transition text,
table_name text static,
tablet_count int static,
PRIMARY KEY (table_id, last_token)
);
Tablets - Balancing
Depends on fault-tolerant,
reliable, and fast topology
changes.
+ Hosted on one node
+ But can be migrated freely if the node is down
+ Synchronized via Raft
+ Collects statistics on tables and tablets
+ Migrates to balance space
+ Evacuates nodes to decommission
+ Migrates to balance CPU load
+ Rebuilds and repairs
Implementation - Load Balancer
Tablet Scheduler
Scheduler globally controls movement,
maintenance operation on a per tablet basis
repair
migration
tablet 0
tablet 1
schedule schedule
repair
Backup
Tablets
Resharding is cheap.
SStables split at tablet boundary.
Reassign tablets to shards (logical operation).
Tablets
Cleanup after topology change is cheap.
Just delete SSTables. Runs automatically,
under the hood
Tablets - Streaming (Enterprise)
Send files over RPC. No per
schema, per row processing.
Up to 30x faster, saturate links.
Sstables
files
Sstables
files
Sstables
files
+ Drivers are tablet-aware
+ But without reading the tablets table
+ Driver contacts a random node/shard
+ On miss, gets updated routing information for
that tablet
+ Ensures fast start-up even with 100,000 entries
in the tablets table
Driver Support
Authentication and Service Levels on Raft
ScyllaDB 5.x was Manual
ScyllaDB 6.x:
+ Automatically replicated on every node
+ Linearizable with CREATE/DROP
+ No denial of service if a node is down
What’s Coming
Tablets - Repair - Fire & Forget
+ Continuous, transparent controlled by the load balancer
+ Auto GC grace period
Serverless (VM Based..)
Typeless Sizeless Limitless
Consistent
metadata +
Elasticity =
Much More
Poll
How long does it take for you to scale
your existing database?
Keep Learning
scylladb.com/category/engineering
Register now at p99conf.io
Visit our
blog for more
on ScyllaDB
engineering
Thank you
for joining us today.
@scylladb scylladb/
slack.scylladb.com
@scylladb company/scylladb/
scylladb/
40
New metrics in keyspace dashboard
● scylla-monitoring provides an updated dashboard that shows tablets over time per instance
and tablet count per instance at the moment
41
Write workload
Tablet
Tablet
Tablet
Tablet
Growing a cluster - Tablets
Tablet
Tablet
Tablet
Tablet
Serving
reads/writes
Tablet
Tablet
Tablet
Tablet
Growing a cluster - Tablets
Tablet
Tablet
Tablet
Tablet
Tablet
Tablet
Tablet
Tablet
Growing a cluster - Tablets
Tablet
Tablet
Tablet
Tablet
Start Serving
reads/writes

More Related Content

Similar to Using ScyllaDB for Real-Time Write-Heavy Workloads

Distributed Database Consistency: Architectural Considerations and Tradeoffs
Distributed Database Consistency: Architectural Considerations and TradeoffsDistributed Database Consistency: Architectural Considerations and Tradeoffs
Distributed Database Consistency: Architectural Considerations and Tradeoffs
ScyllaDB
 
Introduction to ClustrixDB
Introduction to ClustrixDBIntroduction to ClustrixDB
Introduction to ClustrixDB
I Goo Lee
 
Azure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep DiveAzure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep Dive
Andre Essing
 
Replicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analyticsReplicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analytics
Continuent
 
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB
 
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
DataStax
 
Optimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database DriversOptimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database Drivers
ScyllaDB
 
Demystifying the Distributed Database Landscape
Demystifying the Distributed Database LandscapeDemystifying the Distributed Database Landscape
Demystifying the Distributed Database Landscape
ScyllaDB
 
How Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdfHow Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdf
ScyllaDB
 
IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)
IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)
IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)
Spark Summit
 
Hypertable Berlin Buzzwords
Hypertable Berlin BuzzwordsHypertable Berlin Buzzwords
Hypertable Berlin Buzzwords
hypertable
 
Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...
Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...
Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...
buildacloud
 
Under The Hood Of A Shard-Per-Core Database Architecture
Under The Hood Of A Shard-Per-Core Database ArchitectureUnder The Hood Of A Shard-Per-Core Database Architecture
Under The Hood Of A Shard-Per-Core Database Architecture
ScyllaDB
 
About "Apache Cassandra"
About "Apache Cassandra"About "Apache Cassandra"
About "Apache Cassandra"
Jihyun Ahn
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
Iraklis Psaroudakis
 
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon RedshiftBest Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
SnapLogic
 
Processing Big Data: An Introduction to Data Intensive Computing
Processing Big Data: An Introduction to Data Intensive ComputingProcessing Big Data: An Introduction to Data Intensive Computing
Processing Big Data: An Introduction to Data Intensive Computing
Collin Bennett
 
Data center pov 2017 v3
Data center pov 2017 v3Data center pov 2017 v3
Data center pov 2017 v3
Jeff Green
 
Choosing the right high availability strategy
Choosing the right high availability strategyChoosing the right high availability strategy
Choosing the right high availability strategy
MariaDB plc
 
Couchbase Data Pipeline
Couchbase Data PipelineCouchbase Data Pipeline
Couchbase Data Pipeline
Justin Michaels
 

Similar to Using ScyllaDB for Real-Time Write-Heavy Workloads (20)

Distributed Database Consistency: Architectural Considerations and Tradeoffs
Distributed Database Consistency: Architectural Considerations and TradeoffsDistributed Database Consistency: Architectural Considerations and Tradeoffs
Distributed Database Consistency: Architectural Considerations and Tradeoffs
 
Introduction to ClustrixDB
Introduction to ClustrixDBIntroduction to ClustrixDB
Introduction to ClustrixDB
 
Azure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep DiveAzure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep Dive
 
Replicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analyticsReplicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analytics
 
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
 
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
 
Optimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database DriversOptimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database Drivers
 
Demystifying the Distributed Database Landscape
Demystifying the Distributed Database LandscapeDemystifying the Distributed Database Landscape
Demystifying the Distributed Database Landscape
 
How Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdfHow Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdf
 
IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)
IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)
IndexedRDD: Efficeint Fine-Grained Updates for RDD's-(Ankur Dave, UC Berkeley)
 
Hypertable Berlin Buzzwords
Hypertable Berlin BuzzwordsHypertable Berlin Buzzwords
Hypertable Berlin Buzzwords
 
Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...
Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...
Building Reliable Cloud Storage with Riak and CloudStack - Andy Gross, Chief ...
 
Under The Hood Of A Shard-Per-Core Database Architecture
Under The Hood Of A Shard-Per-Core Database ArchitectureUnder The Hood Of A Shard-Per-Core Database Architecture
Under The Hood Of A Shard-Per-Core Database Architecture
 
About "Apache Cassandra"
About "Apache Cassandra"About "Apache Cassandra"
About "Apache Cassandra"
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
 
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon RedshiftBest Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
 
Processing Big Data: An Introduction to Data Intensive Computing
Processing Big Data: An Introduction to Data Intensive ComputingProcessing Big Data: An Introduction to Data Intensive Computing
Processing Big Data: An Introduction to Data Intensive Computing
 
Data center pov 2017 v3
Data center pov 2017 v3Data center pov 2017 v3
Data center pov 2017 v3
 
Choosing the right high availability strategy
Choosing the right high availability strategyChoosing the right high availability strategy
Choosing the right high availability strategy
 
Couchbase Data Pipeline
Couchbase Data PipelineCouchbase Data Pipeline
Couchbase Data Pipeline
 

More from ScyllaDB

Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...
Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...
Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...
ScyllaDB
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...
Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...
Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...
ScyllaDB
 
Noise Canceling RUM by Tim Vereecke, Akamai
Noise Canceling RUM by Tim Vereecke, AkamaiNoise Canceling RUM by Tim Vereecke, Akamai
Noise Canceling RUM by Tim Vereecke, Akamai
ScyllaDB
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
ScyllaDB
 
Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...
Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...
Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...
ScyllaDB
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
ScyllaDB
 
Using Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance TroublesUsing Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance Troubles
ScyllaDB
 
Reducing P99 Latencies with Generational ZGC
Reducing P99 Latencies with Generational ZGCReducing P99 Latencies with Generational ZGC
Reducing P99 Latencies with Generational ZGC
ScyllaDB
 
5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X
5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X
5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X
ScyllaDB
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
ScyllaDB
 
Conquering Load Balancing: Experiences from ScyllaDB Drivers
Conquering Load Balancing: Experiences from ScyllaDB DriversConquering Load Balancing: Experiences from ScyllaDB Drivers
Conquering Load Balancing: Experiences from ScyllaDB Drivers
ScyllaDB
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
ScyllaDB
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
99.99% of Your Traces are Trash by Paige Cruz
99.99% of Your Traces are Trash by Paige Cruz99.99% of Your Traces are Trash by Paige Cruz
99.99% of Your Traces are Trash by Paige Cruz
ScyllaDB
 
Square's Lessons Learned from Implementing a Key-Value Store with Raft
Square's Lessons Learned from Implementing a Key-Value Store with RaftSquare's Lessons Learned from Implementing a Key-Value Store with Raft
Square's Lessons Learned from Implementing a Key-Value Store with Raft
ScyllaDB
 
Making Python 100x Faster with Less Than 100 Lines of Rust
Making Python 100x Faster with Less Than 100 Lines of RustMaking Python 100x Faster with Less Than 100 Lines of Rust
Making Python 100x Faster with Less Than 100 Lines of Rust
ScyllaDB
 
A Deep Dive Into Concurrent React by Matheus Albuquerque
A Deep Dive Into Concurrent React by Matheus AlbuquerqueA Deep Dive Into Concurrent React by Matheus Albuquerque
A Deep Dive Into Concurrent React by Matheus Albuquerque
ScyllaDB
 
The Latency Stack: Discovering Surprising Sources of Latency
The Latency Stack: Discovering Surprising Sources of LatencyThe Latency Stack: Discovering Surprising Sources of Latency
The Latency Stack: Discovering Surprising Sources of Latency
ScyllaDB
 

More from ScyllaDB (20)

Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...
Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...
Unconventional Methods to Identify Bottlenecks in Low-Latency and High-Throug...
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...
Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...
Architecting a High-Performance (Open Source) Distributed Message Queuing Sys...
 
Noise Canceling RUM by Tim Vereecke, Akamai
Noise Canceling RUM by Tim Vereecke, AkamaiNoise Canceling RUM by Tim Vereecke, Akamai
Noise Canceling RUM by Tim Vereecke, Akamai
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
 
Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...
Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...
Always-on Profiling of All Linux Threads, On-CPU and Off-CPU, with eBPF & Con...
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
 
Using Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance TroublesUsing Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance Troubles
 
Reducing P99 Latencies with Generational ZGC
Reducing P99 Latencies with Generational ZGCReducing P99 Latencies with Generational ZGC
Reducing P99 Latencies with Generational ZGC
 
5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X
5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X
5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000X
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
 
Conquering Load Balancing: Experiences from ScyllaDB Drivers
Conquering Load Balancing: Experiences from ScyllaDB DriversConquering Load Balancing: Experiences from ScyllaDB Drivers
Conquering Load Balancing: Experiences from ScyllaDB Drivers
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
99.99% of Your Traces are Trash by Paige Cruz
99.99% of Your Traces are Trash by Paige Cruz99.99% of Your Traces are Trash by Paige Cruz
99.99% of Your Traces are Trash by Paige Cruz
 
Square's Lessons Learned from Implementing a Key-Value Store with Raft
Square's Lessons Learned from Implementing a Key-Value Store with RaftSquare's Lessons Learned from Implementing a Key-Value Store with Raft
Square's Lessons Learned from Implementing a Key-Value Store with Raft
 
Making Python 100x Faster with Less Than 100 Lines of Rust
Making Python 100x Faster with Less Than 100 Lines of RustMaking Python 100x Faster with Less Than 100 Lines of Rust
Making Python 100x Faster with Less Than 100 Lines of Rust
 
A Deep Dive Into Concurrent React by Matheus Albuquerque
A Deep Dive Into Concurrent React by Matheus AlbuquerqueA Deep Dive Into Concurrent React by Matheus Albuquerque
A Deep Dive Into Concurrent React by Matheus Albuquerque
 
The Latency Stack: Discovering Surprising Sources of Latency
The Latency Stack: Discovering Surprising Sources of LatencyThe Latency Stack: Discovering Surprising Sources of Latency
The Latency Stack: Discovering Surprising Sources of Latency
 

Recently uploaded

Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...
Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...
Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...
Riya Dutt
 
Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...
Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...
Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...
anilsa9823
 
Nagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Nagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort ServiceNagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Nagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
gragdeepa
 
一比一原版(uw毕业证)华盛顿大学毕业证如何办理
一比一原版(uw毕业证)华盛顿大学毕业证如何办理一比一原版(uw毕业证)华盛顿大学毕业证如何办理
一比一原版(uw毕业证)华盛顿大学毕业证如何办理
wtuxap
 
Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...
Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...
Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...
yogitakumariyk654
 
一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理
一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理
一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理
soqaba
 
Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...
Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...
Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...
sapnasaifi408
 
Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...
Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...
Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...
naagimvidio
 
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full Night
Pune Call Girls  💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full NightPune Call Girls  💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full Night
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full Night
lovelykumarilk789
 
Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...
Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...
Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...
shoeb2926
 
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...
yogitakumariyk654
 
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...
yogitakumariyk654
 
一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理
一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理
一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理
wtuxap
 
一比一原版(MU毕业证)莫道克大学毕业证如何办理
一比一原版(MU毕业证)莫道克大学毕业证如何办理一比一原版(MU毕业证)莫道克大学毕业证如何办理
一比一原版(MU毕业证)莫道克大学毕业证如何办理
soqaba
 
一比一原版(monash毕业证)莫纳什大学毕业证如何办理
一比一原版(monash毕业证)莫纳什大学毕业证如何办理一比一原版(monash毕业证)莫纳什大学毕业证如何办理
一比一原版(monash毕业证)莫纳什大学毕业证如何办理
wtuxap
 
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full Night
Chennai Call Girls  💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full NightChennai Call Girls  💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full Night
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full Night
lovelykumarilk789
 
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...
yogitakumariyk654
 
Call Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl Marathahalli
Call Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl MarathahalliCall Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl Marathahalli
Call Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl Marathahalli
Yukti Singh$A17
 
🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...
🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...
🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...
pawankumar98845
 
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full Night
Kolkata Call Girls  💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full NightKolkata Call Girls  💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full Night
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full Night
lovelykumarilk789
 

Recently uploaded (20)

Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...
Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...
Pune Call Girls 10k @ I'm VIP Independent Escorts Girls 🔥 +91-73397-48667 🔥 N...
 
Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...
Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...
Call Girls Ahmedabad ☎️ +91-7426014248 😍 Ahmedabad Call Girl Beauty Girls Ahm...
 
Nagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Nagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort ServiceNagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Nagpur Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
 
一比一原版(uw毕业证)华盛顿大学毕业证如何办理
一比一原版(uw毕业证)华盛顿大学毕业证如何办理一比一原版(uw毕业证)华盛顿大学毕业证如何办理
一比一原版(uw毕业证)华盛顿大学毕业证如何办理
 
Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...
Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...
Bangalore Call Girls 💯Call Us 🔝 9024918724 🔝 💃 Call Girls Service Bangalore W...
 
一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理
一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理
一比一原版(Southern Cross毕业证)南十字星大学毕业证如何办理
 
Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...
Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...
Hot Call Girls In Chandigarh 💯Call Us 🔝 7426014248 🔝Independent Chandigarh Es...
 
Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...
Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...
Call Girls In Kolkata Book Me Monika:- 9079923931 | For Hot Moments Direct Ca...
 
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full Night
Pune Call Girls  💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full NightPune Call Girls  💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full Night
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Pune With Full Night
 
Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...
Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...
Genuine Independent Call Girls Chandigarh| 9079923931 |  With 100% Safe And S...
 
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...
Pune Call Girls 💯Call Us 🔝 8094342248 🔝 💃 Call Girls Service Pune With Full N...
 
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Service Kolkata With ...
 
一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理
一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理
一比一原版加拿大圭尔夫大学毕业证(uofg毕业证书)如何办理
 
一比一原版(MU毕业证)莫道克大学毕业证如何办理
一比一原版(MU毕业证)莫道克大学毕业证如何办理一比一原版(MU毕业证)莫道克大学毕业证如何办理
一比一原版(MU毕业证)莫道克大学毕业证如何办理
 
一比一原版(monash毕业证)莫纳什大学毕业证如何办理
一比一原版(monash毕业证)莫纳什大学毕业证如何办理一比一原版(monash毕业证)莫纳什大学毕业证如何办理
一比一原版(monash毕业证)莫纳什大学毕业证如何办理
 
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full Night
Chennai Call Girls  💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full NightChennai Call Girls  💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full Night
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Chennai With Full Night
 
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...
Chennai Call Girls 💯Call Us 🔝 8824825030 🔝 💃 Call Girls Service Chennai With ...
 
Call Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl Marathahalli
Call Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl MarathahalliCall Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl Marathahalli
Call Girls In Marathahalli 🔥 +91-7737669865🔥High Profile Call Girl Marathahalli
 
🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...
🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...
🚺MIHIKA JAIN Call Girls In Kolkata 💯Call Us 🔝 7014168258 🔝💃Top Class Call Gir...
 
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full Night
Kolkata Call Girls  💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full NightKolkata Call Girls  💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full Night
Kolkata Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Call Girls Kolkata With Full Night
 

Using ScyllaDB for Real-Time Write-Heavy Workloads

  • 1. ScyllaDB Fast Forward: True Elastic Scale Dor Laor, CEO and Co-Founder, ScyllaDB Felipe Cardeneti Mendes, Solutions Architect++, ScyllaDB
  • 2. Poll How often do you scale your database?
  • 3. Presenters Felipe Cardeneti Mendes, Solutions Architect + Puppy Lover + Open Source Enthusiast + ScyllaDB passionate! Dor Laor, CEO and Co-Founder + Puppy Lover + Open Source, snowboard and MTB Enthusiast + ScyllaDB passionate!
  • 4. Why ScyllaDB? Best High Availability in the industry Best Disaster Recovery in the industry Best scalability in the industry Best Price/Performance in the industry Auto-tune - out of the box performance Compatible with Cassandra & DynamoDB The power of Cassandra at the speed of Redis with the usability of DynamoDB No Lock-in Open Source Software
  • 6. Agenda + Wasn’t ScyllaDB elastic before? + The value proposition + Demo time + Deeper dive + What's next
  • 7. < 6.0 ScyllaDB Releases Were Good 2X 2X 2X 2X 2X 3 x 4-vcpu VMs 1B keys 3 x 8-vcpu VMs 2B keys 3 x 16-vcpu VMs 4B keys 3 x 32-vcpu VMs 8B keys 3 x 64-vcpu VMs 16B keys 3 x 128-vcpu VMs 32B keys
  • 8. < 6.0 Latency Under Repair/Add/Remove Nodes
  • 9. ScyllaDB < 6.0 Problems + Eventual Consistency of cluster metadata + Great architecture for scalable, partition-tolerable, widely distributed DB + But + Topology changes are allowed one-at-a-time + Rely on 30+ second timeouts for poor’s man linearizability + Node failed/down block scale + Streaming time is a function of the schema - parsing partitions + Additional complex operations: Cleanup, rebuild, etc
  • 10. Our journey from eventual to immediate consistency & tablets
  • 11. ScyllaDB 6.0 Value Elasticity + Faster bootstrap/operations + Incremental bootstrap + Concurrent node operations Simplicity + Decouple topology operations + Transparent cleanups + Semi transparent repairs + Parallel maintenance operations Speed + Streaming sstables - 30x faster + Load balancing of tablets Consistency + Small tables fit in few (single) nodes TCO + Shrink free space + Reduce static, over provisioned deployments
  • 14. Raft- Consistent Metadata Protocol for state machine replication Total order broadcast of state change commands X = 0 X += 1 CAS(X, 0, 1) X = 0
  • 15. node A bootstrap bootstrap Linearizable Token Metadata node B node C system.token_metadata Read barrier Read barrier
  • 16. + Fencing - each write is signed with topology version + If there is a version mismatch, the write doesn’t go through Changes in the Data Plane Replica Coordinator Topology coordinator R e q ( V 1 ) Req(V 1 ) F e n c e ( V 1 ) D r a i n ( V 1 ) Req(V 2 )
  • 17. Linearizable Schema Version No re-hash of the entire schema on change 10x less CPU with large schemas. TimeUUID-based Schema version Hash-based schema version 5.x: 6.x:
  • 18. Tablet History: ClayDB > Bigtable > ScyllaDB
  • 19. Consistent Metadata & Tablet Journey RAFT Safe schema changes Safe topology changes Dynamic partitioning Consistent tables Tablets 5.0 5.2 5.2+ 6.0
  • 20. + Introduce a new layer of indirection - the tablets table + Each table has its own token range to node mapping + Mapping can change independently of node addition and removal + Different tables can have different tablet counts + Managed by Raft Implementation - Metadata System, tablets Query Replica Set Token
  • 21. + Each tablet replica is isolated into its own memtable+ SSTables + Forms its own little Log-Structured Merge Tree + With compaction and stuff + Can be migrated as a unit + Migration: copy the unit + Cleanup: delete the unit + Split/merge as the table grows/shrinks Implementation - Data Path
  • 22. Standard Tables {R1, R2, R3} R1 R2 key1 key2 Sharding function generates good load distribution between CPUs R3
  • 23. RAFT group No. 299238 RAFT group No. 299236 RAFT group No. 299237 Raft Tables key1 key2 tablet tablet replica tablet replica
  • 24. + Source of truth for the cluster + How many tablets for each table + Token boundaries for each tablets + On which nodes and shards do we have replicas + What kind of transition the tablet is undergoing + Which nodes and shards will host tablet replicas after the transition + Managed using the Raft protocol + Replicated on every node The Tablets Table CREATE TABLE system.tablets ( table_id uuid, last_token bigint, keyspace_name text static, replicas list<tuple<uuid, int>>, new_replicas list<tuple<uuid, int>>, session uuid, stage text, transition text, table_name text static, tablet_count int static, PRIMARY KEY (table_id, last_token) );
  • 25. Tablets - Balancing Depends on fault-tolerant, reliable, and fast topology changes.
  • 26. + Hosted on one node + But can be migrated freely if the node is down + Synchronized via Raft + Collects statistics on tables and tablets + Migrates to balance space + Evacuates nodes to decommission + Migrates to balance CPU load + Rebuilds and repairs Implementation - Load Balancer
  • 27. Tablet Scheduler Scheduler globally controls movement, maintenance operation on a per tablet basis repair migration tablet 0 tablet 1 schedule schedule repair Backup
  • 28. Tablets Resharding is cheap. SStables split at tablet boundary. Reassign tablets to shards (logical operation).
  • 29. Tablets Cleanup after topology change is cheap. Just delete SSTables. Runs automatically, under the hood
  • 30. Tablets - Streaming (Enterprise) Send files over RPC. No per schema, per row processing. Up to 30x faster, saturate links. Sstables files Sstables files Sstables files
  • 31. + Drivers are tablet-aware + But without reading the tablets table + Driver contacts a random node/shard + On miss, gets updated routing information for that tablet + Ensures fast start-up even with 100,000 entries in the tablets table Driver Support
  • 32. Authentication and Service Levels on Raft ScyllaDB 5.x was Manual ScyllaDB 6.x: + Automatically replicated on every node + Linearizable with CREATE/DROP + No denial of service if a node is down
  • 34. Tablets - Repair - Fire & Forget + Continuous, transparent controlled by the load balancer + Auto GC grace period
  • 35. Serverless (VM Based..) Typeless Sizeless Limitless
  • 37. Poll How long does it take for you to scale your existing database?
  • 38. Keep Learning scylladb.com/category/engineering Register now at p99conf.io Visit our blog for more on ScyllaDB engineering
  • 39. Thank you for joining us today. @scylladb scylladb/ slack.scylladb.com @scylladb company/scylladb/ scylladb/
  • 40. 40 New metrics in keyspace dashboard ● scylla-monitoring provides an updated dashboard that shows tablets over time per instance and tablet count per instance at the moment
  • 42. Tablet Tablet Tablet Tablet Growing a cluster - Tablets Tablet Tablet Tablet Tablet Serving reads/writes
  • 43. Tablet Tablet Tablet Tablet Growing a cluster - Tablets Tablet Tablet Tablet Tablet
  • 44. Tablet Tablet Tablet Tablet Growing a cluster - Tablets Tablet Tablet Tablet Tablet Start Serving reads/writes