尊敬的 微信汇率:1円 ≈ 0.046078 元 支付宝汇率:1円 ≈ 0.046168元 [退出登录]
SlideShare a Scribd company logo
Scylla’s Journey Towards
Being an Elastic Cloud Native Database
Shlomi Livne
Shlomi Livne
VP of R&D, ScyllaDB
Shlomi Livne has 15 years of experience in software development of large scale systems.
Previously he has led the research and development team at Convergin, which was
acquired by Oracle. Shlomi holds a BA and MSc in Computer Science from the Technion-
Machon Technologi Le’ Israel.
2
Cloud Native Database - Elasticity
Goals:
1. In the fastest possible manner
2. Minimal impact for ongoing workload
3
Growing a cluster
4
Cluster 1 Cluster 2
Growing A Cluster
5
Growing A Cluster
6
-- Streaming
-- CQL Update / CQL Insert
Growing A Cluster
7
8
Growing A Cluster
New node (up until now)
1. Transfer of data (joining state)
2. Change state (normal state)
9
Growing A Cluster : Example (4.2.2)
-- 95% Latency -- 99 % Latency - - Cluster Size - - Nodes Read From
7 nodes 8 nodes 9 nodes6
nodes
20 ms
7 nodes 8 nodes 9 nodes6 nodes
11
Growing A Cluster : Optimizing Data Transfer
▪ Received “regular” writes are not used for reads
• compaction can be less aggressive
▪ Transferred ranges have no overwrites and are not
used for reads - no need to compact them during transfer
on new node
Overall reduce compaction, use freed CPU and DISK I/O for
“faster” completion
● Rate limiting the bandwidth
○ New node controls the process, requesting other nodes
to send it data
○ We want the process to be fast - but not too fast to impact the
ongoing workload
● Repair-based operations
○ Enabling resumable bootstraps
12
Growing A Cluster : Optimizing Data Transfer
Growing A Cluster: switching state
● New node has a cold cache
● Use Heat Weighted Load Balancing to distribute
requests taking into account cache hit ratio
13
14
Growing A Cluster
New node
1. Transfer of data (joining state)
2. Reshape all data (joining state)
3. Change state (normal state)
15
Growing A Cluster : Example (soon)
-- 95% Latency -- 99 % Latency - - Cluster Size - - Nodes Read From
7 nodes 8 nodes 9 nodes6
nodes
20 ms
7 nodes 8 nodes 9 nodes6 nodes
Elasticity - Into the Future
16
Growing A Cluster
17
Growing A Cluster
18
Growing A Cluster
19
Growing A Cluster
20
Growing A Cluster
21
Growing A Cluster: Into the future
22
Growing A Cluster: Tablets
▪ Breaking up tables based on the data density
(instead of “arbitrary” token ranges)
▪ Moving of tablets will allow much more finer grain control of
data location
23
Thank You
ShlomiLivne
shlomi@scylladb.com
Shlomi Livne
24
Download Scylla Open Source:
scylladb.com/download
Talk to an expert:
scylladb.com/consultation
Take a test drive:
scylladb.com/test-drive
The
Speaker’s
camera
displays
here
Experience Scylla for Yourself
25

More Related Content

What's hot

Scylla Summit 2018: Consensus in Eventually Consistent Databases
Scylla Summit 2018: Consensus in Eventually Consistent DatabasesScylla Summit 2018: Consensus in Eventually Consistent Databases
Scylla Summit 2018: Consensus in Eventually Consistent Databases
ScyllaDB
 
Scylla Summit 2016: Scylla at Samsung SDS
Scylla Summit 2016: Scylla at Samsung SDSScylla Summit 2016: Scylla at Samsung SDS
Scylla Summit 2016: Scylla at Samsung SDS
ScyllaDB
 
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph DatabaseFireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
ScyllaDB
 
Scylla Summit 2018: OLAP or OLTP? Why Not Both?
Scylla Summit 2018: OLAP or OLTP? Why Not Both?Scylla Summit 2018: OLAP or OLTP? Why Not Both?
Scylla Summit 2018: OLAP or OLTP? Why Not Both?
ScyllaDB
 
Seastar Summit 2019 vectorized.io
Seastar Summit 2019   vectorized.ioSeastar Summit 2019   vectorized.io
Seastar Summit 2019 vectorized.io
ScyllaDB
 
mParticle's Journey to Scylla from Cassandra
mParticle's Journey to Scylla from CassandramParticle's Journey to Scylla from Cassandra
mParticle's Journey to Scylla from Cassandra
ScyllaDB
 
Scylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair Updates
Scylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair UpdatesScylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair Updates
Scylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair Updates
ScyllaDB
 
ScyllaDB @ Apache BigData, may 2016
ScyllaDB @ Apache BigData, may 2016ScyllaDB @ Apache BigData, may 2016
ScyllaDB @ Apache BigData, may 2016
Tzach Livyatan
 
Introducing Scylla Open Source 4.0
Introducing Scylla Open Source 4.0Introducing Scylla Open Source 4.0
Introducing Scylla Open Source 4.0
ScyllaDB
 
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
ScyllaDB
 
Renegotiating the boundary between database latency and consistency
Renegotiating the boundary between database latency  and consistencyRenegotiating the boundary between database latency  and consistency
Renegotiating the boundary between database latency and consistency
ScyllaDB
 
Seastar Summit 2019 Keynote
Seastar Summit 2019 KeynoteSeastar Summit 2019 Keynote
Seastar Summit 2019 Keynote
ScyllaDB
 
Scylla Summit 2016: Analytics Show Time - Spark and Presto Powered by Scylla
Scylla Summit 2016: Analytics Show Time - Spark and Presto Powered by ScyllaScylla Summit 2016: Analytics Show Time - Spark and Presto Powered by Scylla
Scylla Summit 2016: Analytics Show Time - Spark and Presto Powered by Scylla
ScyllaDB
 
Lightweight Transactions at Lightning Speed
Lightweight Transactions at Lightning SpeedLightweight Transactions at Lightning Speed
Lightweight Transactions at Lightning Speed
ScyllaDB
 
Scylla Summit 2016: Why Kenshoo is about to displace Cassandra with Scylla
Scylla Summit 2016: Why Kenshoo is about to displace Cassandra with ScyllaScylla Summit 2016: Why Kenshoo is about to displace Cassandra with Scylla
Scylla Summit 2016: Why Kenshoo is about to displace Cassandra with Scylla
ScyllaDB
 
Back to the future with C++ and Seastar
Back to the future with C++ and SeastarBack to the future with C++ and Seastar
Back to the future with C++ and Seastar
Tzach Livyatan
 
SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...
SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...
SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...
ScyllaDB
 
How to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instancesHow to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instances
ScyllaDB
 
Performance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla ClusterPerformance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla Cluster
ScyllaDB
 
Scylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per serverScylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per server
Avi Kivity
 

What's hot (20)

Scylla Summit 2018: Consensus in Eventually Consistent Databases
Scylla Summit 2018: Consensus in Eventually Consistent DatabasesScylla Summit 2018: Consensus in Eventually Consistent Databases
Scylla Summit 2018: Consensus in Eventually Consistent Databases
 
Scylla Summit 2016: Scylla at Samsung SDS
Scylla Summit 2016: Scylla at Samsung SDSScylla Summit 2016: Scylla at Samsung SDS
Scylla Summit 2016: Scylla at Samsung SDS
 
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph DatabaseFireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
 
Scylla Summit 2018: OLAP or OLTP? Why Not Both?
Scylla Summit 2018: OLAP or OLTP? Why Not Both?Scylla Summit 2018: OLAP or OLTP? Why Not Both?
Scylla Summit 2018: OLAP or OLTP? Why Not Both?
 
Seastar Summit 2019 vectorized.io
Seastar Summit 2019   vectorized.ioSeastar Summit 2019   vectorized.io
Seastar Summit 2019 vectorized.io
 
mParticle's Journey to Scylla from Cassandra
mParticle's Journey to Scylla from CassandramParticle's Journey to Scylla from Cassandra
mParticle's Journey to Scylla from Cassandra
 
Scylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair Updates
Scylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair UpdatesScylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair Updates
Scylla Summit 2018: Scylla Feature Talks - Scylla Streaming and Repair Updates
 
ScyllaDB @ Apache BigData, may 2016
ScyllaDB @ Apache BigData, may 2016ScyllaDB @ Apache BigData, may 2016
ScyllaDB @ Apache BigData, may 2016
 
Introducing Scylla Open Source 4.0
Introducing Scylla Open Source 4.0Introducing Scylla Open Source 4.0
Introducing Scylla Open Source 4.0
 
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
Scylla Summit 2016: Outbrain Case Study - Lowering Latency While Doing 20X IO...
 
Renegotiating the boundary between database latency and consistency
Renegotiating the boundary between database latency  and consistencyRenegotiating the boundary between database latency  and consistency
Renegotiating the boundary between database latency and consistency
 
Seastar Summit 2019 Keynote
Seastar Summit 2019 KeynoteSeastar Summit 2019 Keynote
Seastar Summit 2019 Keynote
 
Scylla Summit 2016: Analytics Show Time - Spark and Presto Powered by Scylla
Scylla Summit 2016: Analytics Show Time - Spark and Presto Powered by ScyllaScylla Summit 2016: Analytics Show Time - Spark and Presto Powered by Scylla
Scylla Summit 2016: Analytics Show Time - Spark and Presto Powered by Scylla
 
Lightweight Transactions at Lightning Speed
Lightweight Transactions at Lightning SpeedLightweight Transactions at Lightning Speed
Lightweight Transactions at Lightning Speed
 
Scylla Summit 2016: Why Kenshoo is about to displace Cassandra with Scylla
Scylla Summit 2016: Why Kenshoo is about to displace Cassandra with ScyllaScylla Summit 2016: Why Kenshoo is about to displace Cassandra with Scylla
Scylla Summit 2016: Why Kenshoo is about to displace Cassandra with Scylla
 
Back to the future with C++ and Seastar
Back to the future with C++ and SeastarBack to the future with C++ and Seastar
Back to the future with C++ and Seastar
 
SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...
SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...
SAS Institute on Changing All Four Tires While Driving an AdTech Engine at Fu...
 
How to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instancesHow to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instances
 
Performance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla ClusterPerformance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla Cluster
 
Scylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per serverScylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per server
 

Similar to Scylla’s Journey Towards Being an Elastic Cloud Native Database

Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...
balmanme
 
Buzz Words Dunning Real-Time Learning
Buzz Words Dunning Real-Time LearningBuzz Words Dunning Real-Time Learning
Buzz Words Dunning Real-Time Learning
MapR Technologies
 
IPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCGIPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCG
Jisc
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methods
Ajith Narayanan
 
Database-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable TablespacesDatabase-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable Tablespaces
Markus Flechtner
 
Data Mobility Exhibition
Data Mobility ExhibitionData Mobility Exhibition
Data Mobility Exhibition
Globus
 
Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017
Dave Holland
 
Lessons learned from shifting real data around: An ad hoc data challenge from...
Lessons learned from shifting real data around: An ad hoc data challenge from...Lessons learned from shifting real data around: An ad hoc data challenge from...
Lessons learned from shifting real data around: An ad hoc data challenge from...
Jisc
 
Cassandra Essentials Day Cambridge
Cassandra Essentials Day CambridgeCassandra Essentials Day Cambridge
Cassandra Essentials Day Cambridge
Marc Fielding
 
Introducing Cloudian HyperStore 6.0
Introducing Cloudian HyperStore 6.0Introducing Cloudian HyperStore 6.0
Introducing Cloudian HyperStore 6.0
Cloudian
 
Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...
Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...
Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...
Dr. Amarjeet Singh
 
Oracle Coherence
Oracle CoherenceOracle Coherence
Oracle Coherence
Mustafa Ahmed
 
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and KafkaStream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
DataWorks Summit
 
Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk
Dave Stokes
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & Azure
DataStax Academy
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Toronto-Oracle-Users-Group
 
Variations in Performance and Scalability when Migrating n-Tier Applications ...
Variations in Performance and Scalability when Migrating n-Tier Applications ...Variations in Performance and Scalability when Migrating n-Tier Applications ...
Variations in Performance and Scalability when Migrating n-Tier Applications ...
deepalk
 
Shifting gear reactive, a reactive story in banking
Shifting gear reactive, a reactive story in bankingShifting gear reactive, a reactive story in banking
Shifting gear reactive, a reactive story in banking
Igmar Palsenberg
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demo
Ajith Narayanan
 
Web scale architecture design
Web scale architecture designWeb scale architecture design
Web scale architecture design
NepalAdz
 

Similar to Scylla’s Journey Towards Being an Elastic Cloud Native Database (20)

Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...
 
Buzz Words Dunning Real-Time Learning
Buzz Words Dunning Real-Time LearningBuzz Words Dunning Real-Time Learning
Buzz Words Dunning Real-Time Learning
 
IPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCGIPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCG
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methods
 
Database-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable TablespacesDatabase-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable Tablespaces
 
Data Mobility Exhibition
Data Mobility ExhibitionData Mobility Exhibition
Data Mobility Exhibition
 
Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017
 
Lessons learned from shifting real data around: An ad hoc data challenge from...
Lessons learned from shifting real data around: An ad hoc data challenge from...Lessons learned from shifting real data around: An ad hoc data challenge from...
Lessons learned from shifting real data around: An ad hoc data challenge from...
 
Cassandra Essentials Day Cambridge
Cassandra Essentials Day CambridgeCassandra Essentials Day Cambridge
Cassandra Essentials Day Cambridge
 
Introducing Cloudian HyperStore 6.0
Introducing Cloudian HyperStore 6.0Introducing Cloudian HyperStore 6.0
Introducing Cloudian HyperStore 6.0
 
Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...
Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...
Simulation of BRKSS Architecture for Data Warehouse Employing Shared Nothing ...
 
Oracle Coherence
Oracle CoherenceOracle Coherence
Oracle Coherence
 
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and KafkaStream, Stream, Stream: Different Streaming Methods with Spark and Kafka
Stream, Stream, Stream: Different Streaming Methods with Spark and Kafka
 
Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & Azure
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
 
Variations in Performance and Scalability when Migrating n-Tier Applications ...
Variations in Performance and Scalability when Migrating n-Tier Applications ...Variations in Performance and Scalability when Migrating n-Tier Applications ...
Variations in Performance and Scalability when Migrating n-Tier Applications ...
 
Shifting gear reactive, a reactive story in banking
Shifting gear reactive, a reactive story in bankingShifting gear reactive, a reactive story in banking
Shifting gear reactive, a reactive story in banking
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demo
 
Web scale architecture design
Web scale architecture designWeb scale architecture design
Web scale architecture design
 

More from 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
 
eBPF vs Sidecars by Liz Rice at Isovalent
eBPF vs Sidecars by Liz Rice at IsovalenteBPF vs Sidecars by Liz Rice at Isovalent
eBPF vs Sidecars by Liz Rice at Isovalent
ScyllaDB
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
ScyllaDB
 
Using ScyllaDB for Real-Time Write-Heavy Workloads
Using ScyllaDB for Real-Time Write-Heavy WorkloadsUsing ScyllaDB for Real-Time Write-Heavy Workloads
Using ScyllaDB for Real-Time Write-Heavy Workloads
ScyllaDB
 
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
ScyllaDB
 
From 1M to 1B Features Per Second: Scaling ShareChat's ML Feature Store
From 1M to 1B Features Per Second: Scaling ShareChat's ML Feature StoreFrom 1M to 1B Features Per Second: Scaling ShareChat's ML Feature Store
From 1M to 1B Features Per Second: Scaling ShareChat's ML Feature Store
ScyllaDB
 
The Art of Event Driven Observability with OpenTelemetry
The Art of Event Driven Observability with OpenTelemetryThe Art of Event Driven Observability with OpenTelemetry
The Art of Event Driven Observability with OpenTelemetry
ScyllaDB
 
ORM is Bad, But is There an Alternative?
ORM is Bad, But is There an Alternative?ORM is Bad, But is There an Alternative?
ORM is Bad, But is There an Alternative?
ScyllaDB
 
High Performance on a Low Budget with Gwen Shapira
High Performance on a Low Budget with Gwen ShapiraHigh Performance on a Low Budget with Gwen Shapira
High Performance on a Low Budget with Gwen Shapira
ScyllaDB
 
Writing Low Latency Database Applications Even If Your Code Sucks
Writing Low Latency Database Applications Even If Your Code SucksWriting Low Latency Database Applications Even If Your Code Sucks
Writing Low Latency Database Applications Even If Your Code Sucks
ScyllaDB
 
Building a 10x More Efficient Edge Platform
Building a 10x More Efficient Edge PlatformBuilding a 10x More Efficient Edge Platform
Building a 10x More Efficient Edge Platform
ScyllaDB
 
Beyond Availability: The Seven Dimensions for Data Product SLOs
Beyond Availability: The Seven Dimensions for Data Product SLOsBeyond Availability: The Seven Dimensions for Data Product SLOs
Beyond Availability: The Seven Dimensions for Data Product SLOs
ScyllaDB
 
Quantifying the Performance Impact of Shard-per-core Architecture
Quantifying the Performance Impact of Shard-per-core ArchitectureQuantifying the Performance Impact of Shard-per-core Architecture
Quantifying the Performance Impact of Shard-per-core Architecture
ScyllaDB
 
Low-Latency Data Access: The Required Synergy Between Memory & Disk
Low-Latency Data Access: The Required Synergy Between Memory & DiskLow-Latency Data Access: The Required Synergy Between Memory & Disk
Low-Latency Data Access: The Required Synergy Between Memory & Disk
ScyllaDB
 
Demanding the Impossible: Rigorous Database Benchmarking
Demanding the Impossible: Rigorous Database BenchmarkingDemanding the Impossible: Rigorous Database Benchmarking
Demanding the Impossible: Rigorous Database Benchmarking
ScyllaDB
 
P99 Publish Performance in a Multi-Cloud NATS.io System
P99 Publish Performance in a Multi-Cloud NATS.io SystemP99 Publish Performance in a Multi-Cloud NATS.io System
P99 Publish Performance in a Multi-Cloud NATS.io System
ScyllaDB
 

More from ScyllaDB (20)

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
 
eBPF vs Sidecars by Liz Rice at Isovalent
eBPF vs Sidecars by Liz Rice at IsovalenteBPF vs Sidecars by Liz Rice at Isovalent
eBPF vs Sidecars by Liz Rice at Isovalent
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
 
Using ScyllaDB for Real-Time Write-Heavy Workloads
Using ScyllaDB for Real-Time Write-Heavy WorkloadsUsing ScyllaDB for Real-Time Write-Heavy Workloads
Using ScyllaDB for Real-Time Write-Heavy Workloads
 
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
 
From 1M to 1B Features Per Second: Scaling ShareChat's ML Feature Store
From 1M to 1B Features Per Second: Scaling ShareChat's ML Feature StoreFrom 1M to 1B Features Per Second: Scaling ShareChat's ML Feature Store
From 1M to 1B Features Per Second: Scaling ShareChat's ML Feature Store
 
The Art of Event Driven Observability with OpenTelemetry
The Art of Event Driven Observability with OpenTelemetryThe Art of Event Driven Observability with OpenTelemetry
The Art of Event Driven Observability with OpenTelemetry
 
ORM is Bad, But is There an Alternative?
ORM is Bad, But is There an Alternative?ORM is Bad, But is There an Alternative?
ORM is Bad, But is There an Alternative?
 
High Performance on a Low Budget with Gwen Shapira
High Performance on a Low Budget with Gwen ShapiraHigh Performance on a Low Budget with Gwen Shapira
High Performance on a Low Budget with Gwen Shapira
 
Writing Low Latency Database Applications Even If Your Code Sucks
Writing Low Latency Database Applications Even If Your Code SucksWriting Low Latency Database Applications Even If Your Code Sucks
Writing Low Latency Database Applications Even If Your Code Sucks
 
Building a 10x More Efficient Edge Platform
Building a 10x More Efficient Edge PlatformBuilding a 10x More Efficient Edge Platform
Building a 10x More Efficient Edge Platform
 
Beyond Availability: The Seven Dimensions for Data Product SLOs
Beyond Availability: The Seven Dimensions for Data Product SLOsBeyond Availability: The Seven Dimensions for Data Product SLOs
Beyond Availability: The Seven Dimensions for Data Product SLOs
 
Quantifying the Performance Impact of Shard-per-core Architecture
Quantifying the Performance Impact of Shard-per-core ArchitectureQuantifying the Performance Impact of Shard-per-core Architecture
Quantifying the Performance Impact of Shard-per-core Architecture
 
Low-Latency Data Access: The Required Synergy Between Memory & Disk
Low-Latency Data Access: The Required Synergy Between Memory & DiskLow-Latency Data Access: The Required Synergy Between Memory & Disk
Low-Latency Data Access: The Required Synergy Between Memory & Disk
 
Demanding the Impossible: Rigorous Database Benchmarking
Demanding the Impossible: Rigorous Database BenchmarkingDemanding the Impossible: Rigorous Database Benchmarking
Demanding the Impossible: Rigorous Database Benchmarking
 
P99 Publish Performance in a Multi-Cloud NATS.io System
P99 Publish Performance in a Multi-Cloud NATS.io SystemP99 Publish Performance in a Multi-Cloud NATS.io System
P99 Publish Performance in a Multi-Cloud NATS.io System
 

Recently uploaded

How to Optimize Call Monitoring: Automate QA and Elevate Customer Experience
How to Optimize Call Monitoring: Automate QA and Elevate Customer ExperienceHow to Optimize Call Monitoring: Automate QA and Elevate Customer Experience
How to Optimize Call Monitoring: Automate QA and Elevate Customer Experience
Aggregage
 
Day 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data ManipulationDay 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data Manipulation
UiPathCommunity
 
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc
 
Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0
Neeraj Kumar Singh
 
CTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database MigrationCTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database Migration
ScyllaDB
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
Safe Software
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
ScyllaDB
 
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
SOFTTECHHUB
 
Product Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdfProduct Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdf
gaydlc2513
 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
Larry Smarr
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
petabridge
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
ScyllaDB
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Cyber Recovery Wargame
Cyber Recovery WargameCyber Recovery Wargame
Cyber Recovery Wargame
Databarracks
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
ScyllaDB
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
ThousandEyes
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 

Recently uploaded (20)

How to Optimize Call Monitoring: Automate QA and Elevate Customer Experience
How to Optimize Call Monitoring: Automate QA and Elevate Customer ExperienceHow to Optimize Call Monitoring: Automate QA and Elevate Customer Experience
How to Optimize Call Monitoring: Automate QA and Elevate Customer Experience
 
Day 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data ManipulationDay 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data Manipulation
 
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
 
Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0
 
CTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database MigrationCTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database Migration
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
 
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
 
Product Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdfProduct Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdf
 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Cyber Recovery Wargame
Cyber Recovery WargameCyber Recovery Wargame
Cyber Recovery Wargame
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 

Scylla’s Journey Towards Being an Elastic Cloud Native Database

  • 1. Scylla’s Journey Towards Being an Elastic Cloud Native Database Shlomi Livne
  • 2. Shlomi Livne VP of R&D, ScyllaDB Shlomi Livne has 15 years of experience in software development of large scale systems. Previously he has led the research and development team at Convergin, which was acquired by Oracle. Shlomi holds a BA and MSc in Computer Science from the Technion- Machon Technologi Le’ Israel. 2
  • 3. Cloud Native Database - Elasticity Goals: 1. In the fastest possible manner 2. Minimal impact for ongoing workload 3
  • 6. Growing A Cluster 6 -- Streaming -- CQL Update / CQL Insert
  • 8. 8 Growing A Cluster New node (up until now) 1. Transfer of data (joining state) 2. Change state (normal state)
  • 9. 9 Growing A Cluster : Example (4.2.2) -- 95% Latency -- 99 % Latency - - Cluster Size - - Nodes Read From 7 nodes 8 nodes 9 nodes6 nodes 20 ms 7 nodes 8 nodes 9 nodes6 nodes
  • 10. 11 Growing A Cluster : Optimizing Data Transfer ▪ Received “regular” writes are not used for reads • compaction can be less aggressive ▪ Transferred ranges have no overwrites and are not used for reads - no need to compact them during transfer on new node Overall reduce compaction, use freed CPU and DISK I/O for “faster” completion
  • 11. ● Rate limiting the bandwidth ○ New node controls the process, requesting other nodes to send it data ○ We want the process to be fast - but not too fast to impact the ongoing workload ● Repair-based operations ○ Enabling resumable bootstraps 12 Growing A Cluster : Optimizing Data Transfer
  • 12. Growing A Cluster: switching state ● New node has a cold cache ● Use Heat Weighted Load Balancing to distribute requests taking into account cache hit ratio 13
  • 13. 14 Growing A Cluster New node 1. Transfer of data (joining state) 2. Reshape all data (joining state) 3. Change state (normal state)
  • 14. 15 Growing A Cluster : Example (soon) -- 95% Latency -- 99 % Latency - - Cluster Size - - Nodes Read From 7 nodes 8 nodes 9 nodes6 nodes 20 ms 7 nodes 8 nodes 9 nodes6 nodes
  • 15. Elasticity - Into the Future 16
  • 21. Growing A Cluster: Into the future 22
  • 22. Growing A Cluster: Tablets ▪ Breaking up tables based on the data density (instead of “arbitrary” token ranges) ▪ Moving of tablets will allow much more finer grain control of data location 23
  • 24. Download Scylla Open Source: scylladb.com/download Talk to an expert: scylladb.com/consultation Take a test drive: scylladb.com/test-drive The Speaker’s camera displays here Experience Scylla for Yourself 25

Editor's Notes

  1. Hi, Thanks for joining my session on the advances we have done toward making scylla and Elastic Cloud Native Database
  2. My name is Shlomi and I manage the development team at Scylla, lets get to it
  3. Elasticity - is the ability to grow and shrink the cluster. Our goal is to make the process of adding or removing a node as fast as possible while keeping the impact on the ongoing workload cluster minimal
  4. Lets look at an example The two pictures show the 95%, 99% latency of an ongoing read workload running on a 6 node cluster as its beeing resized to 9 nodes. We can see that in Cluster 1 as the cluster is grown there is an effect on latency while on Cluster 2 under the same exact workload the impact as its being resized is smaller At times the need to resize a cluster is known in advance and can be pre planned one common example is the resize many retailers do toward BlackFriday. Yet success (and load accompanying it) can not always be foreseen - in such cases scaling must be done under load while striving to have as little effect as possible on the ongoing workload. We consider the ability to resize a cluster fast while assuring impact of the ongoing workload is minimal mandatory to enable auto scaling.
  5. Ltes look at what needs to be done after a new node has been added to a cluster Existing nodes in the cluster transfer parts of the data they own to the new node
  6. As this data is beeing transferred ongoing writes to the cluster to transferred parts must also be replicated onto the new node
  7. Once the data has been fully transferred the new node can be transitioned to being a regular node and start beeing used to serve reads
  8. So a new node beeing added into the cluster has two states In the joining state its receiving the data it will own (and updated to that data) Once it has all the data it switches state to normal
  9. Going back to Cluster 1, that is using Scylla 4.2.2 - latest open source release, the green and yellow lines are the 95% and 99% latency of the ongoing workload the additional Orange and Light Blue lines mark transitions over the cluster life times The Orange lines split the timeline of the cluster based on the cluster total size, total node count, 6,7,8,9 nodes (joining_normal) The Light Blue line splits the timeline in which the cluster had 6,7,8,9 nodes in normal state → serving reads As can be seen There is high correlation between a node switching state and an increase in read latency. Lets look at overall optimization we can do in adding a new node
  10. To summarize Existing nodes: Handle ongoing traffic Transfer ranges to new node Writes to transfered ranges need to be written to new node New node (state joining) DOES NOT SERVE READS Manage the transfer process Receive transferred ranges Receive “regular” writes
  11. The first property we can exploit is that the node in joining state is not used for reads - as such sstables created from the received regular writes can be compacted less “aggressivly” In addition the data transferred from existsing nodes does not have overwrites and will not be used for reads in joining state - there is no need to compact those sstables. Overall we can reduce compaction and use the saved Disk I/O and CPU for “faster” completion of the bootstrap process.
  12. The new node controls the process of data transfer - it requests other nodes to send it ranges of data. As we have freed the CPU and DISK I/O the new node can now increase the pace in requesting data transfer to a level that it has an effect on the ongoing workload. We need to rate limit this process to assure the impact to the ongoing workload on the existing nodes will be minimal. All data transfer management operations (including bootstrap) have been moved to be repair based - this assures us better correctness for some operations and in the case of adding a node - enables resumable bootstraps. So far we have looked at the data transfer aspects - lets see what can be done when the node switches from joining to normal state
  13. As we move the node to normal state it will be used to serve read requests. However, the new node is at loss compared to other nodes in the cluster, its cache is cold. We have introduced a few years ago heat weighted load balanceing that uses the ache hit ratio as measure to be used in splitting the ongoing work load As we have saw in cluster 1 that is not enough - the cache miss reads from disk of the new node are slower compared to the other nodes. The reason being the data is not shaped aligning to the compaction strategy. Lets fix that.
  14. We will introduce an additional state after all the data has been transferred in which the data will be reshaped. Only once the data has been reshaped will we switch the state
  15. Employing all of this we reach to a state in which elasticity may be faster and the impact on the ongoing workload of adding the node is smaller
  16. So far I have covered items we have done to improve elasticity that have been done and are beeing rolled out to the next Scylla Open Source Release While auto scaling will now be possible - we are not done, We are pklanning to further improve elasiticy. The first enhancement i’ll discuss is multiple node topology changes - that is the ability to shrink / grow the cluster while adding removing multiple nodes.
  17. Lets look at an example of what needs to be done today to double a 3 node cluster to 6 nodes Today we need to iteratively add one node till we reach the desired size. So a new node (node 4) that is added into the cluster will receive information from the existing nodes
  18. Once it moved to normal state another node may be added (node 5) And node 5 will receive information from all the old nodes and some data from node 4 that was just added
  19. Once it moved to normal state another node may be added (node 6) And node 6 will receive information from all the old nodes and some data from the last 2 nodes that were “just’ added
  20. So if we are looking at a specific range that ended up on node 6 it may have had a “long route” by beeing first moved to node 4 and then moved to node 5. And that was later moved to node 6 (e.g.) -
  21. If we had known that we will be adding 3 nodes we could have precomputed the end data location and have the data transferred directly to the 6 node
  22. We are planning to add the capability of adding multiple nodes at the same time that will optimize the data movment and will allow “faster” scaling.
  23. Another enhnacmenet a bit further in our roadmap is to move to tablets Data in tables today that is spread across the cluster is split for all tables in the same manner - the split is based on token ranges. Tablets will allow breaking tables based on their data density - so that small tables will split into fewer parts (and be placed potentially on fewer nodes) . Tablets will also enable more control over the resize process - after a tablet is moved from existing node to a new node it can start to be used for reads.
  24. Thanks for attending the session
  翻译: