SlideShare uma empresa Scribd logo
1 de 31
Cassandra and ScyllaDB
at Yahoo! JAPAN
Murukesh Mohanan
Takahiro Iwase
Yahoo Japan corp.
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Presenters bio
Murukesh Mohanan (Muru) has a Master's in CS from IIT Bombay and
Bachelor's in Mechanical Engineering from IIT Guwahati. He has been working
at Yahoo! JAPAN since 2016, in the NoSQL team, striving to improve processes
whilst keeping an eye on the latest tech.
Takahiro Iwase joined Yahoo! JAPAN in 2018, working on day-to-day
operations and tuning of NoSQL. Before joining Yahoo! JAPAN he developed
Okuyama, an open source NoSQL database and has been a published
contributor on large-scale database research.
Yahoo! In JAPAN ?
Yahoo! In JAPAN (YJ)?
Many Strong Services
Media Search Video Answer Mail
JP
JP
Membership C2C Payment C2C EC B2C EC Local
Search Knowledge search MailNews
YAHUOKU!Premium Wallet Loco
YJ’s advertisement platform
▪ Reaches 90% of smartphone users in Japan
Yahoo! In JAPAN (YJ)?
Numerous access to YJ apps and sites
▪ 27 billion PVs/month from PC
▪ 43 billion PVs/month from smartphone
▪ 33 million unique PC browsers/month
▪ 56 million unique SP browsers/month
https://promotionalads.yahoo.co.jp/
Cassandra in YJ
Number of clusters and nodes in YJ
YJ has its own data centers and a huge number of servers;
it is quite rare in Japanese internet companies
Cassandra vs ScyllaDB
Test Setup
Tools
▪ Docker on CentOS on OpenStack on ...
▪ Prometheus
• Node-exporter
• Prometheus JMX exporter
▪ Grafana (with ScyllaDB’s dashboards)
▪ cassandra-stress
Test Setup
System specs
▪ OpenStack nodes: 16v/16 GB/100G NVMe/1Gbps NIC
▪ cassandra-stress executed on a node with same specs
▪ Initially started out with spinning rust
• neither outshone the other
Test Setup
System specs
▪ Switched to 8core/8GB/100GB NVMe but Cassandra would
occasionally exhaust heap memory
▪ So bumped to 16core/16GB
Test Setup
Shema
▪ Keyspace
CREATE KEYSPACE pre07 WITH replication =
{'class': 'SimpleStrategy', 'replication_factor': 3};
Test Setup
Shema
▪ Table
CREATE TABLE foo (
column1 text, # 32 bytes
column2 timeuuid,
column3 text, # 1kb ~ 2kb
PRIMARY KEY (column1, column2)
)
Test Setup
cassandra-stress config
▪ Initially tried with fixed ops total count (n=xyz)
▪ Switched to fixed duration (t=Xm) (3m at first, 10m later)
▪ User profiles instead of the read/write/mixed options
▪ CL=ONE
▪ Truncate once, no warmup
▪ Unlogged batches
Test Setup
cassandra-stress profiles
▪ Tried multiple workloads
1. select/insert (2:1)
2. select/insert/update/delete (4:1:1:1)
3. select/insert/update (4:1:1)
▪ This presentation will focus on results with case (1, 2), but the
conclusions are applicable to the other cases as well.
Preliminary
Results
Case1 - OPS
▪ Up until about 16 threads, C* and Scylla were level
▪ After that, Cassandra plateaued out at about 11k op/s, while Scylla kept
going on till ~30k op/s
Case1
Case1 - 99% tile
▪ Both were somewhat even until about 36 threads, with ~30ms latency
▪ Cassandra's latency started increasing much faster than Scylla's
Case1Case1
Case1 - 99.9% tile
▪ Cassandra was worse off pretty much from the start
▪ Scylla seems to handle ~100 threads with the same latency as
Cassandra at 8 threads
Case1Case1
Case4 - OPS
▪ Cassandra was no response for 54~ threads
▪ The performance curve continued to rise up to 270 threads of Scylla.
▪ High performances were seen in all operations.
Case1Case4Case4
Resource Utilization
CPU - Cassandra
▪ CPU is underutilized (<50% usage)
▪ While the client thread count rises, Cassandra's CPU usage levels off very
quickly.
CPU – ScyllaDB
▪ Scylla takes far more advantage of available CPU
▪ User-mode utilization is also high
Context Switches – Cassandra
▪ Scylla takes far more advantage of available CPU
▪ User-mode utilization is also high
Context Switches – ScyllaDB
▪ Far fewer context switches
▪ No extreme jumps in interrupts
Cassandra – GC Used heap size
▪ Assigned heap size of 8GB
Cassandra – GC Time
▪ Time and CPU taken by GC increasing with load
4 8 16 24 36 54 84 120 180 270
Takeaways
ScyllaDB
▪ Higher performance than C*
• 2-3x op/s, latency is lower
• More stable
• Better able to take advantage of concentrated power
▪ Less babysitting required!
Takeaways
Cassandra
▪ With some babysitting, might be able to catch up with Scylla on
defaults
• More tunables ⇔ double-edged sword
▪ G1GC helped with handling higher thread counts
• Consistent crashes with CMS
• Even so, G1GC’s full potential not seen yet
Takeaways
Tools
▪ Docker
• Host networking helps: Across all test cases, op/s went up 80-90
%, latency decreased.
▪ Cassandra-stress
• HTML is nice, but graphs should automatically distinguish between
results for various thread counts
• Documentation could be more complete
Takeaways
Tools
▪ Grafana
• ScyllaDB templates needed a bit of tweaking
Thank You
Any Questions ?
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Scylla Summit 2016: Using ScyllaDB for a Microservice-based Pipeline in Go
Scylla Summit 2016: Using ScyllaDB for a Microservice-based Pipeline in GoScylla Summit 2016: Using ScyllaDB for a Microservice-based Pipeline in Go
Scylla Summit 2016: Using ScyllaDB for a Microservice-based Pipeline in Go
 
Scylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the DatabaseScylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the 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
 
Introducing Scylla Cloud
Introducing Scylla CloudIntroducing Scylla Cloud
Introducing Scylla Cloud
 
How to be Successful with Scylla
How to be Successful with ScyllaHow to be Successful with Scylla
How to be Successful with Scylla
 
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
 
Scylla Summit 2016: ScyllaDB, Present and Future
Scylla Summit 2016: ScyllaDB, Present and FutureScylla Summit 2016: ScyllaDB, Present and Future
Scylla Summit 2016: ScyllaDB, Present and Future
 
Introducing Scylla Open Source 4.0
Introducing Scylla Open Source 4.0Introducing Scylla Open Source 4.0
Introducing Scylla Open Source 4.0
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
 
Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...
Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...
Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...
 
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
 
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
 
Running Scylla on Kubernetes with Scylla Operator
Running Scylla on Kubernetes with Scylla OperatorRunning Scylla on Kubernetes with Scylla Operator
Running Scylla on Kubernetes with Scylla Operator
 
Scylla Summit 2018: Getting the Most Out of Scylla on Kubernetes
Scylla Summit 2018: Getting the Most Out of Scylla on KubernetesScylla Summit 2018: Getting the Most Out of Scylla on Kubernetes
Scylla Summit 2018: Getting the Most Out of Scylla on Kubernetes
 
Scylla Summit 2018: Scylla 3.0 and Beyond
Scylla Summit 2018: Scylla 3.0 and BeyondScylla Summit 2018: Scylla 3.0 and Beyond
Scylla Summit 2018: Scylla 3.0 and Beyond
 
Scylla Summit 2018: What's New in Scylla Manager?
Scylla Summit 2018: What's New in Scylla Manager?Scylla Summit 2018: What's New in Scylla Manager?
Scylla Summit 2018: What's New in Scylla Manager?
 
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...
 
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
 
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
 

Semelhante a Scylla Summit 2018: Cassandra and ScyllaDB at Yahoo! Japan

M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentation
Edward Capriolo
 

Semelhante a Scylla Summit 2018: Cassandra and ScyllaDB at Yahoo! Japan (20)

How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
 
Healthcare Claim Reimbursement using Apache Spark
Healthcare Claim Reimbursement using Apache SparkHealthcare Claim Reimbursement using Apache Spark
Healthcare Claim Reimbursement using Apache Spark
 
Leveraging Databricks for Spark Pipelines
Leveraging Databricks for Spark PipelinesLeveraging Databricks for Spark Pipelines
Leveraging Databricks for Spark Pipelines
 
Leveraging Databricks for Spark pipelines
Leveraging Databricks for Spark pipelinesLeveraging Databricks for Spark pipelines
Leveraging Databricks for Spark pipelines
 
DatEngConf SF16 - Apache Kudu: Fast Analytics on Fast Data
DatEngConf SF16 - Apache Kudu: Fast Analytics on Fast DataDatEngConf SF16 - Apache Kudu: Fast Analytics on Fast Data
DatEngConf SF16 - Apache Kudu: Fast Analytics on Fast Data
 
M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentation
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
 
Amazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from AmazonAmazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from Amazon
 
Kudu austin oct 2015.pptx
Kudu austin oct 2015.pptxKudu austin oct 2015.pptx
Kudu austin oct 2015.pptx
 
Amazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from AmazonAmazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from Amazon
 
Couchbase live 2016
Couchbase live 2016Couchbase live 2016
Couchbase live 2016
 
Everyday I'm Scaling... Cassandra (Ben Bromhead, Instaclustr) | C* Summit 2016
Everyday I'm Scaling... Cassandra (Ben Bromhead, Instaclustr) | C* Summit 2016Everyday I'm Scaling... Cassandra (Ben Bromhead, Instaclustr) | C* Summit 2016
Everyday I'm Scaling... Cassandra (Ben Bromhead, Instaclustr) | C* Summit 2016
 
Everyday I’m scaling... Cassandra
Everyday I’m scaling... CassandraEveryday I’m scaling... Cassandra
Everyday I’m scaling... Cassandra
 
In-memory Data Management Trends & Techniques
In-memory Data Management Trends & TechniquesIn-memory Data Management Trends & Techniques
In-memory Data Management Trends & Techniques
 
HBase: Extreme Makeover
HBase: Extreme MakeoverHBase: Extreme Makeover
HBase: Extreme Makeover
 
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
 
Scaling MySQL in Amazon Web Services
Scaling MySQL in Amazon Web ServicesScaling MySQL in Amazon Web Services
Scaling MySQL in Amazon Web Services
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
 
Accelerating HBase with NVMe and Bucket Cache
Accelerating HBase with NVMe and Bucket CacheAccelerating HBase with NVMe and Bucket Cache
Accelerating HBase with NVMe and Bucket Cache
 
Amazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About PerformanceAmazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About Performance
 

Mais de ScyllaDB

Mais de ScyllaDB (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLWhat Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQL
 
Low Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsLow Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & Pitfalls
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBBeyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
 
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaDatabase Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDB
 
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityPowering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
 
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDB
 
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationNoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
 
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
 
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesNoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual Workshop
 
DBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsDBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & Tradeoffs
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
NoSQL Data Modeling 101
NoSQL Data Modeling 101NoSQL Data Modeling 101
NoSQL Data Modeling 101
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Último (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Scylla Summit 2018: Cassandra and ScyllaDB at Yahoo! Japan

  • 1. Cassandra and ScyllaDB at Yahoo! JAPAN Murukesh Mohanan Takahiro Iwase Yahoo Japan corp. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
  • 2. Presenters bio Murukesh Mohanan (Muru) has a Master's in CS from IIT Bombay and Bachelor's in Mechanical Engineering from IIT Guwahati. He has been working at Yahoo! JAPAN since 2016, in the NoSQL team, striving to improve processes whilst keeping an eye on the latest tech. Takahiro Iwase joined Yahoo! JAPAN in 2018, working on day-to-day operations and tuning of NoSQL. Before joining Yahoo! JAPAN he developed Okuyama, an open source NoSQL database and has been a published contributor on large-scale database research.
  • 4. Yahoo! In JAPAN (YJ)? Many Strong Services Media Search Video Answer Mail JP JP Membership C2C Payment C2C EC B2C EC Local Search Knowledge search MailNews YAHUOKU!Premium Wallet Loco
  • 5. YJ’s advertisement platform ▪ Reaches 90% of smartphone users in Japan Yahoo! In JAPAN (YJ)? Numerous access to YJ apps and sites ▪ 27 billion PVs/month from PC ▪ 43 billion PVs/month from smartphone ▪ 33 million unique PC browsers/month ▪ 56 million unique SP browsers/month https://promotionalads.yahoo.co.jp/
  • 6. Cassandra in YJ Number of clusters and nodes in YJ YJ has its own data centers and a huge number of servers; it is quite rare in Japanese internet companies
  • 8. Test Setup Tools ▪ Docker on CentOS on OpenStack on ... ▪ Prometheus • Node-exporter • Prometheus JMX exporter ▪ Grafana (with ScyllaDB’s dashboards) ▪ cassandra-stress
  • 9. Test Setup System specs ▪ OpenStack nodes: 16v/16 GB/100G NVMe/1Gbps NIC ▪ cassandra-stress executed on a node with same specs ▪ Initially started out with spinning rust • neither outshone the other
  • 10. Test Setup System specs ▪ Switched to 8core/8GB/100GB NVMe but Cassandra would occasionally exhaust heap memory ▪ So bumped to 16core/16GB
  • 11. Test Setup Shema ▪ Keyspace CREATE KEYSPACE pre07 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};
  • 12. Test Setup Shema ▪ Table CREATE TABLE foo ( column1 text, # 32 bytes column2 timeuuid, column3 text, # 1kb ~ 2kb PRIMARY KEY (column1, column2) )
  • 13. Test Setup cassandra-stress config ▪ Initially tried with fixed ops total count (n=xyz) ▪ Switched to fixed duration (t=Xm) (3m at first, 10m later) ▪ User profiles instead of the read/write/mixed options ▪ CL=ONE ▪ Truncate once, no warmup ▪ Unlogged batches
  • 14. Test Setup cassandra-stress profiles ▪ Tried multiple workloads 1. select/insert (2:1) 2. select/insert/update/delete (4:1:1:1) 3. select/insert/update (4:1:1) ▪ This presentation will focus on results with case (1, 2), but the conclusions are applicable to the other cases as well.
  • 16. Case1 - OPS ▪ Up until about 16 threads, C* and Scylla were level ▪ After that, Cassandra plateaued out at about 11k op/s, while Scylla kept going on till ~30k op/s Case1
  • 17. Case1 - 99% tile ▪ Both were somewhat even until about 36 threads, with ~30ms latency ▪ Cassandra's latency started increasing much faster than Scylla's Case1Case1
  • 18. Case1 - 99.9% tile ▪ Cassandra was worse off pretty much from the start ▪ Scylla seems to handle ~100 threads with the same latency as Cassandra at 8 threads Case1Case1
  • 19. Case4 - OPS ▪ Cassandra was no response for 54~ threads ▪ The performance curve continued to rise up to 270 threads of Scylla. ▪ High performances were seen in all operations. Case1Case4Case4
  • 21. CPU - Cassandra ▪ CPU is underutilized (<50% usage) ▪ While the client thread count rises, Cassandra's CPU usage levels off very quickly.
  • 22. CPU – ScyllaDB ▪ Scylla takes far more advantage of available CPU ▪ User-mode utilization is also high
  • 23. Context Switches – Cassandra ▪ Scylla takes far more advantage of available CPU ▪ User-mode utilization is also high
  • 24. Context Switches – ScyllaDB ▪ Far fewer context switches ▪ No extreme jumps in interrupts
  • 25. Cassandra – GC Used heap size ▪ Assigned heap size of 8GB
  • 26. Cassandra – GC Time ▪ Time and CPU taken by GC increasing with load 4 8 16 24 36 54 84 120 180 270
  • 27. Takeaways ScyllaDB ▪ Higher performance than C* • 2-3x op/s, latency is lower • More stable • Better able to take advantage of concentrated power ▪ Less babysitting required!
  • 28. Takeaways Cassandra ▪ With some babysitting, might be able to catch up with Scylla on defaults • More tunables ⇔ double-edged sword ▪ G1GC helped with handling higher thread counts • Consistent crashes with CMS • Even so, G1GC’s full potential not seen yet
  • 29. Takeaways Tools ▪ Docker • Host networking helps: Across all test cases, op/s went up 80-90 %, latency decreased. ▪ Cassandra-stress • HTML is nice, but graphs should automatically distinguish between results for various thread counts • Documentation could be more complete
  • 30. Takeaways Tools ▪ Grafana • ScyllaDB templates needed a bit of tweaking
  • 31. Thank You Any Questions ? Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.

Notas do Editor

  1. Hello everyone, In this presentation, First, I introduce the use of Cassandra by Yahoo japan.
  2. ・It is the presenter of today. ・My name is Takahiro Iwase, working on operations and tuning of Cassandra.
  3. YJ‘s services are quite popular. You can understand it when you see this number, 90% of smartphone users in Japan use some of YJ‘s services. Numbers of PVs and Unique Browsers are also quite huge, for example, about 70 billions PVs monthly occurs in YJ‘s services.
  4. Such huge volume of access means that YJ has to manage a large amount of data. As you can see, the number of Kassandra clusters has increased rapidly in two years. We believe that the number will grow in the future. But I also have problems. First of problem. Cassandra is used java virtula machine. Java has GC's problem. Second of problem. It is very hard to maintain many nodes. To resolve of these problems, now YJ nosql team is evaluating a ScyllaDB. My coworker, Murukesh, will talk about the detail next.