SlideShare a Scribd company logo
1 of 32
Benchmarking Couchbase Server
                                                                           Renat Khasanshyn
                                                                    CEO, Altoros Systems, Inc.


CouchConf 2012
September 21, 2012


                      Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Presentation Outline


•   Benchmark Goals
•   Benchmark Design and Scenario
•   Benchmarking Tools
•   Benchmark Results




                                                                                        2
                  Copyright © Altoros Systems, Inc. | CONFIDENTIAL
3
Copyright © Altoros Systems, Inc. | CONFIDENTIAL
About Altoros
 •   Software delivery acceleration specialist for big data application
     implementation services
 •   200+ employees globally (Eastern Europe, US, UK, Denmark, Norway)
 •   Big data practice areas:
       Advertising analytics
       Automated device analytics
       Big data warehouse
Customers




Partners


                                                            Implementation Partner

                                                                                                 4
                         Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Why Benchmark NoSQL technologies?

•   All NoSQL technologies say they are “high
    performance and scalable”
But this isn’t helpful to end users
•   Performance needs to be measured for meaning full
    workloads
     ⇒ To help users understand the performance characteristics of
         databases those workloads

•   So we decided to compare the commonly used
    NoSQL databases
                • MongoDB 2.2RC
                • Cassandra 1.1.2
                • Couchbase Server 2.0 - Recent Build

                                                                          5
                      Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Benchmark Goals


• Reproducible by anyone
          – Open Source workload generator
• Focus on use case for which NoSQL typically
    selected
•   Use a realistic workload
          – Simulate steady state of application running
          – Meaningful data amounts & runtime
• Compare latency vs throughput
• Measure max throughput (for given scenario)


                                                                                      6
                     Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Benchmarking Scenario

•   For interactive web application
       • Scalability and performance are the most common
         requirements
       • Typically leads to users selecting NoSQL over RDBMS
•   The working set of data changes with time
       • End users using the application change over time
       • Example: every few hours, every few days, every few weeks
•   There is more data available than memory (RAM)
•   Replication is used for fault tolerance
•   Real world data sizes
•   Use EC2 as deployment platform
           – Commonly used
           – Easy to replicate results

                                                                                             7
                      Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Benchmarking Scenario Details

Hardware
•   4 Amazon m1.xlarge instances for the NoSQL DBs
•   1 instance used as the client
Workload details
•   Operations are a mix of C:R:U:D in the ratio 5:60:33:2
•   Each document roughly 1.5-2K in size (15 fields * 100 bytes)
•   15 million active and 15 million replica documents
•   Workload with sliding working set
•   Load phase, warm-up phase, access phase
•   Runtime of the access phase ~1 hour
•   Latency measured for varying throughput - 3 times for each run
•   Focus on transaction performance
            – Latency
            – Throughput

                                                                                      8
                      Copyright © Altoros Systems, Inc. | CONFIDENTIAL
What was measured?


• Latency                                           • Throughput
    • Round trip time taken                                 • Throughput was varied
        for a request to execute                                  from 1K ops/sec to 25K
        from the client to the                                    ops/sec depending on
        server and back                                           NoSQL database
    •   Average, 95th and 99th                              •     Max throughput was
        percentile measured                                       measured
•   Why is this important?                          •     Why is this important?
    • You want your users to                                • You want your app to
        have a great experience                                   support hundreds of
    •   Not just an “average”                                     thousands of users
        one
                 Workloads are not rate limited, focused on
                 max throughput.

                                                                                           9
                      Copyright © Altoros Systems, Inc. | CONFIDENTIAL
YCSB


                                                          10
       Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Benchmark Implementation: YCSB


•   Yahoo! team offered a “standard” benchmark

•   Yahoo! Cloud Serving Benchmark (YCSB)
          – Focus on database
          – Focus on performance


•   YCSB Client consists of 2 parts
          – Workload generator
          – Workload scenarios




                                                                            11
                  Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Why YCSB


• Open source
• Extensible
• Rich selection of connectors
       •   Azure, BigTable, Cassandra, CouchDB,
       •   Dynomite, GemFire, HBase, Hypertable,
       •   Infinispan, MongoDB, PNUTS, Redis,
       •   Connector for Sharded RDBMS (i.e. MySQL),
       •   Voldemort, GigaSpaces XAP
• We developed a few connectors
       •   Accumulo, Couchbase, Riak,
       •   Connector for Shared Nothing RDBMS (i.e. MySQL Cluster)



                                                                             12
                   Copyright © Altoros Systems, Inc. | CONFIDENTIAL
How YCSB Works




                                                                13
Copyright © Altoros Systems, Inc. | CONFIDENTIAL
THE CONFIGURATIONS


                                                          14
       Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Cluster specification


               Amazon m1.xlarge Instance

                  15 GB memory
                  4 virtual cores
                  4 EBS 50 GB volumes in RAID0
 YCSB Client      64-bit Amazon Linux (CentOS binary compatible)



                                                Amazon m1.xlarge Instances * 4

                                                      15 GB memory
                                                      4 virtual cores
                                                      4 EBS 50 GB volumes in RAID0
                                                      64-bit Amazon Linux


* Extra nodes for masters, routers, etc
                                                                                               15
                    Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Couchbase Configuration


• 4 node Couchbase cluster
• 1 replica setting
• Each node has some active and some replica
    data
•   12GB used as the (12288 MB) Couchbase
    bucket size per node




                                                                                       16
              Copyright © Altoros Systems, Inc. | CONFIDENTIAL
MongoDB Configation


• 4 shards each has 1 replica (replication factor – 1),
    where each shard is a set of 2 nodes - primary and
    secondary
•   Journaling disabled (trying to maximize performance)
•   var shards = [
         "shard1/ycsb-node1:27017,ycsb-node2:27018",
         "shard2/ycsb-node2:27017,ycsb-node1:27018",
         "shard3/ycsb-node3:27017,ycsb-node4:27018",
         "shard4/ycsb-node4:27017,ycsb-node3:27018"];
    Each node running
     • 2 mongod processes (all together 8 mongod
       processes on 4 nodes)
     • 4 mongos processes, which is the MongoDB router,
       process on 27019 port
                                                                                      17
                 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Cassandra Configuration




• Cassandra JVM settings:
  • 1.1) MAX_HEAP_SIZE, which is a total amount of
    memory dedicated to the Java heap - 6G
  • 1.2) HEAP_NEWSIZE, total amount of memory for the
    new generation of objects - 400M


• Cassandra settings:
  • 2.1) RandomPartitioner was used which distributes
    rows across the cluster evenly by MD5
  • 2.2) Memtable size 4048 MB


                                                                                       18
              Copyright © Altoros Systems, Inc. | CONFIDENTIAL
THE RESULTS


                                                          19
       Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Reads (Average time)

                                                    Read latencies against throughput
                       7



                       6

                                                                                        Cassandra
                       5
Average Latency [ms]




                       4
                                      MongoDB
                       3



                       2



                       1
                                                                                                                Couchbase
                       0
                           0   2000   4000   6000        8000        10000        12000        14000    16000    18000   20000   22000
                                                                  Operations per Second



                                                                                                                                         20
                                                     Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Reads (95th percentile)
                               18
                                                      Read latencies against throughput
                               16



                               14
                                                                                            Cassandra
                               12
95th Percentile Latency [ms]




                               10



                                8



                                6



                                4                                                                                       Couchbase
                                2
                                                             MongoDB
                                0
                                    0   2000   4000   6000        8000        10000        12000           14000     16000   18000   20000   22000
                                                                         Operations per Second


                                                                                                                                               21
                                                        Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Reads (99th percentile)
                               60
                                                        Read latencies against throughput

                               50



                                                                                            Cassandra
                               40
99th Percentile Latency [ms]




                               30              MongoDB

                               20




                               10
                                                                                                                    Couchbase

                                0
                                    0   2000     4000   6000        8000        10000        12000          14000     16000   18000   20000   22000
                                                                            Operations per Second


                                                                                                                                                22
                                                         Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Mongo Replica Reads


•   MongoDB setup had 4 shards
    • By default only masters will service reads
•   To allow replica reads and still be comparable, need to
    ensure that replica data is up-to-date
     • This was done using write-concern (REPLICAS_SAFE)
•   Tests showed that results did not improve
     • This includes results for writes




                                                                                         23
                    Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Writes (Average time)
                        5
                                           Insert and Update latencies against throughput
                       4.5


                        4

                                 MongoDB
                       3.5
Average Latency [ms]




                        3                                                         Cassandra
                       2.5


                        2


                       1.5


                        1
                                                                                         Couchbase
                       0.5


                        0
                             0   2000   4000    6000        8000         10000        12000           14000    16000   18000   20000   22000
                                                                   Operations per second


                                                                                                                                         24
                                                   Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Writes (95th percentile)
                               30
                                                       Insert and update latencies against throughput

                               25



                                               MongoDB
95th Percentile Latency [ms]




                               20




                               15

                                                                         Cassandra
                               10




                                                                                                            Couchbase
                                5




                                0
                                    0   2000    4000       6000           8000         10000        12000            14000      16000   18000   20000   22000
                                                                                 Operations per Second




                                                                                                                                                          25
                                                                  Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Writes (99th percentile)
                               50
                                                      Insert and update latencies against throughput
                               45


                               40




                                           MongoDB
                               35
99th Percentile Latency [ms]




                               30


                               25
                                                                         Cassandra
                               20


                               15


                               10


                                5
                                                                                                            Couchbase
                                0
                                    0   2000   4000     6000         8000        10000        12000       14000   16000   18000   20000   22000
                                                                            Operations per Second


                                                                                                                                                  26
                                                               Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Results Analysis

•   Couchbase
        • Showed the lowest latencies & highest throughput
        • Latency was independent of throughput for up to 3/4th the max
          achievable throughput (for both reads and write)
•   Cassandra
        • Had the highest latencies of all the databases
        • Showed higher max throughput compared with mongoDB but only
          60% of the throughput achieved by Couchbase
        • Latencies rose fast as throughput was increased
•   MongoDB
        • Read latencies were better than Cassandra but higher than
          Couchbase
        • Max throughput for read and writes was the lowest of all the
          databases
            – Particularly for writes, high latencies seen for average throughput
            – Coarse write lock seems to have a big impact on performance


                                                                                           27
                         Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Other Thoughts

•   You decide who is a winner
•   NoSQL is a “different horses for different courses”
•   Evaluate before choosing the “horse”
•   Construct your own or use existing workloads
     • Benchmark it
     • Tune database!
     • Benchmark it again

Amazon EC2 observations
• Scales perfectly for NoSQL
• EBS slows down database on reads
• RAID0 it! Use 4 disk in array (good choice), some reported
  performance degraded with higher number (6 and >)




                                                                                     28
                      Copyright © Altoros Systems, Inc. | CONFIDENTIAL
What are we missing in our benchmarking scenario?

Load phase workload
• Working set is created
• 15 million records
• 1.5 KB record (15 fields by 100 Bytes)
• 45GB total or ≈12GB per node
Ideas, anyone?




                                                                        29
                     Copyright © Altoros Systems, Inc. | CONFIDENTIAL
YCSB Connectors




github.com/Altoros/YCSB




                                                                     30
    Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Workload Generator Specs


Hotspot generator with sliding window:

hotspotslidingspeed=10
Speed of the hot set window movement measured in keys per second, with a
default value of 10 keys/sec (can be overridden in workload properties file).
hotspotdatafraction=0.2
Proportion of the hot data set to the whole dataset, default is 0.2
hotspotoperationfraction=0.9
Value specifying how often hot dataset will be queried comparing to cold
dataset, default is 0.8, used 0.9
lowerbound=0
The minimal key value allowed to be queried. Set to 0
upperbound=15000000
The maximum key value allowed to be queried. Set to 15 million

Also specification of the client process, which drives workload:
6) threadcount=30
Number of parallel threads spawned on the client node to drive benchmark

                                                                                             31
                        Copyright © Altoros Systems, Inc. | CONFIDENTIAL
Thank you!




Thank You!
   renat.k@altoros.com
    @renatkhasanshyn
    Tel. (650) 395-7002




                                                            32
Copyright © Altoros Systems, Inc. | CONFIDENTIAL

More Related Content

What's hot

Introduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomiIntroduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomiMichael Rice
 
Relational Database CI/CD
Relational Database CI/CDRelational Database CI/CD
Relational Database CI/CDJasmin Fluri
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...NGINX, Inc.
 
Clean architecture: Android
Clean architecture: AndroidClean architecture: Android
Clean architecture: Androidintive
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & NowCheckmarx
 
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...Amazon Web Services
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD OverviewAn Nguyen
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To JenkinsKnoldus Inc.
 
Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction Kanika Gera
 
How to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comSalesforce Developers
 
SRE-iously! Reliability!
SRE-iously! Reliability!SRE-iously! Reliability!
SRE-iously! Reliability!New Relic
 
The Future Of Web Frameworks
The Future Of Web FrameworksThe Future Of Web Frameworks
The Future Of Web FrameworksMatt Raible
 

What's hot (20)

DevOps intro
DevOps introDevOps intro
DevOps intro
 
Introduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomiIntroduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomi
 
JVM++: The Graal VM
JVM++: The Graal VMJVM++: The Graal VM
JVM++: The Graal VM
 
Relational Database CI/CD
Relational Database CI/CDRelational Database CI/CD
Relational Database CI/CD
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
 
Clean architecture: Android
Clean architecture: AndroidClean architecture: Android
Clean architecture: Android
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
 
GraalVM
GraalVMGraalVM
GraalVM
 
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 
Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
DevOps and Cloud
DevOps and CloudDevOps and Cloud
DevOps and Cloud
 
How to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.com
 
SRE-iously! Reliability!
SRE-iously! Reliability!SRE-iously! Reliability!
SRE-iously! Reliability!
 
CI CD Basics
CI CD BasicsCI CD Basics
CI CD Basics
 
The Future Of Web Frameworks
The Future Of Web FrameworksThe Future Of Web Frameworks
The Future Of Web Frameworks
 

Viewers also liked

Evaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for BenchmarkingEvaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for BenchmarkingSergey Bushik
 
Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Dipti Borkar
 
Benchmarking MongoDB and CouchBase
Benchmarking MongoDB and CouchBaseBenchmarking MongoDB and CouchBase
Benchmarking MongoDB and CouchBaseChristopher Choi
 
Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Alexey Rusnak
 
MySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMatthew Aslett
 
Time series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long versionTime series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long versionPatrick McFadin
 
Introduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark FactoryIntroduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark FactoryMichael Micalizzi
 
Breaking with relational dbms and dating with hbase
Breaking with relational dbms and dating with hbaseBreaking with relational dbms and dating with hbase
Breaking with relational dbms and dating with hbaseGaurav Kohli
 
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
MongoDB 3.0.0 vs 2.6.x vs 2.4.x BenchmarkMongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark承翰 蔡
 
Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?Ahmed Rashwan
 
Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012Altoros
 
Meetup #5 Voiture Connectée à Paris
Meetup #5 Voiture Connectée à ParisMeetup #5 Voiture Connectée à Paris
Meetup #5 Voiture Connectée à ParisLaurent Dunys
 
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase Create
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase CreateWebinar: Overcoming the Storage Challenges Cassandra and Couchbase Create
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase CreateStorage Switzerland
 
Building an Analytics Engine on MongoDB to Revolutionize Advertising
Building an Analytics Engine on MongoDB to Revolutionize AdvertisingBuilding an Analytics Engine on MongoDB to Revolutionize Advertising
Building an Analytics Engine on MongoDB to Revolutionize AdvertisingMongoDB
 
Introduction to Couchbase: Onomi
Introduction to Couchbase: OnomiIntroduction to Couchbase: Onomi
Introduction to Couchbase: OnomiOnomi
 
How We Use MongoDB in Our Advertising System
How We Use MongoDB in Our Advertising SystemHow We Use MongoDB in Our Advertising System
How We Use MongoDB in Our Advertising SystemMongoDB
 
Couchdb List and Show Introduction
Couchdb List and Show IntroductionCouchdb List and Show Introduction
Couchdb List and Show IntroductionOliver Kurowski
 
Getting Started with PL/Proxy
Getting Started with PL/ProxyGetting Started with PL/Proxy
Getting Started with PL/ProxyPeter Eisentraut
 

Viewers also liked (20)

Evaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for BenchmarkingEvaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for Benchmarking
 
Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0
 
Benchmarking MongoDB and CouchBase
Benchmarking MongoDB and CouchBaseBenchmarking MongoDB and CouchBase
Benchmarking MongoDB and CouchBase
 
Methods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarkingMethods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarking
 
Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.
 
MySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey results
 
Time series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long versionTime series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long version
 
Introduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark FactoryIntroduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark Factory
 
Breaking with relational dbms and dating with hbase
Breaking with relational dbms and dating with hbaseBreaking with relational dbms and dating with hbase
Breaking with relational dbms and dating with hbase
 
Database Hardware Benchmarking
Database Hardware BenchmarkingDatabase Hardware Benchmarking
Database Hardware Benchmarking
 
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
MongoDB 3.0.0 vs 2.6.x vs 2.4.x BenchmarkMongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
 
Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?
 
Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012
 
Meetup #5 Voiture Connectée à Paris
Meetup #5 Voiture Connectée à ParisMeetup #5 Voiture Connectée à Paris
Meetup #5 Voiture Connectée à Paris
 
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase Create
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase CreateWebinar: Overcoming the Storage Challenges Cassandra and Couchbase Create
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase Create
 
Building an Analytics Engine on MongoDB to Revolutionize Advertising
Building an Analytics Engine on MongoDB to Revolutionize AdvertisingBuilding an Analytics Engine on MongoDB to Revolutionize Advertising
Building an Analytics Engine on MongoDB to Revolutionize Advertising
 
Introduction to Couchbase: Onomi
Introduction to Couchbase: OnomiIntroduction to Couchbase: Onomi
Introduction to Couchbase: Onomi
 
How We Use MongoDB in Our Advertising System
How We Use MongoDB in Our Advertising SystemHow We Use MongoDB in Our Advertising System
How We Use MongoDB in Our Advertising System
 
Couchdb List and Show Introduction
Couchdb List and Show IntroductionCouchdb List and Show Introduction
Couchdb List and Show Introduction
 
Getting Started with PL/Proxy
Getting Started with PL/ProxyGetting Started with PL/Proxy
Getting Started with PL/Proxy
 

Similar to Couchbase Performance Benchmarking

Scaling With Sun Systems For MySQL Jan09
Scaling With Sun Systems For MySQL Jan09Scaling With Sun Systems For MySQL Jan09
Scaling With Sun Systems For MySQL Jan09Steve Staso
 
High Performance Cloud Computing
High Performance Cloud ComputingHigh Performance Cloud Computing
High Performance Cloud ComputingNephoScale
 
Edge 2016 SCL-2484: a software defined scalable and flexible container manage...
Edge 2016 SCL-2484: a software defined scalable and flexible container manage...Edge 2016 SCL-2484: a software defined scalable and flexible container manage...
Edge 2016 SCL-2484: a software defined scalable and flexible container manage...Yong Feng
 
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid CloudsRightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid CloudsRightScale
 
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnikbiz
 
Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeNovell
 
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Munish Gupta
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Lightbend
 
Building Blocks for Private and Hybrid Clouds
Building Blocks for Private and Hybrid CloudsBuilding Blocks for Private and Hybrid Clouds
Building Blocks for Private and Hybrid CloudsRightScale
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAmazon Web Services
 
Top 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data GridTop 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data GridScaleOut Software
 
Managing Performance in the Cloud
Managing Performance in the CloudManaging Performance in the Cloud
Managing Performance in the CloudDevOpsGroup
 
Helix core on aws webinar
Helix core on aws webinar Helix core on aws webinar
Helix core on aws webinar Perforce
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Fran Navarro
 
Engineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the FutureEngineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the FutureBob Rhubart
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloAndrey Akulov
 
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloudA1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloudDr. Wilfred Lin (Ph.D.)
 
Lahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir
 

Similar to Couchbase Performance Benchmarking (20)

Scaling With Sun Systems For MySQL Jan09
Scaling With Sun Systems For MySQL Jan09Scaling With Sun Systems For MySQL Jan09
Scaling With Sun Systems For MySQL Jan09
 
High Performance Cloud Computing
High Performance Cloud ComputingHigh Performance Cloud Computing
High Performance Cloud Computing
 
Edge 2016 SCL-2484: a software defined scalable and flexible container manage...
Edge 2016 SCL-2484: a software defined scalable and flexible container manage...Edge 2016 SCL-2484: a software defined scalable and flexible container manage...
Edge 2016 SCL-2484: a software defined scalable and flexible container manage...
 
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid CloudsRightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
 
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
 
Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization Initiative
 
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
 
Oow Ppt 2
Oow Ppt 2Oow Ppt 2
Oow Ppt 2
 
Building Blocks for Private and Hybrid Clouds
Building Blocks for Private and Hybrid CloudsBuilding Blocks for Private and Hybrid Clouds
Building Blocks for Private and Hybrid Clouds
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWS
 
Top 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data GridTop 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data Grid
 
Managing Performance in the Cloud
Managing Performance in the CloudManaging Performance in the Cloud
Managing Performance in the Cloud
 
Helix core on aws webinar
Helix core on aws webinar Helix core on aws webinar
Helix core on aws webinar
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster
 
Engineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the FutureEngineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the Future
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and Ravello
 
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloudA1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
 
Lahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile Gateways
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 

Couchbase Performance Benchmarking

  • 1. Benchmarking Couchbase Server Renat Khasanshyn CEO, Altoros Systems, Inc. CouchConf 2012 September 21, 2012 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 2. Presentation Outline • Benchmark Goals • Benchmark Design and Scenario • Benchmarking Tools • Benchmark Results 2 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 3. 3 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 4. About Altoros • Software delivery acceleration specialist for big data application implementation services • 200+ employees globally (Eastern Europe, US, UK, Denmark, Norway) • Big data practice areas:  Advertising analytics  Automated device analytics  Big data warehouse Customers Partners Implementation Partner 4 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 5. Why Benchmark NoSQL technologies? • All NoSQL technologies say they are “high performance and scalable” But this isn’t helpful to end users • Performance needs to be measured for meaning full workloads ⇒ To help users understand the performance characteristics of databases those workloads • So we decided to compare the commonly used NoSQL databases • MongoDB 2.2RC • Cassandra 1.1.2 • Couchbase Server 2.0 - Recent Build 5 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 6. Benchmark Goals • Reproducible by anyone – Open Source workload generator • Focus on use case for which NoSQL typically selected • Use a realistic workload – Simulate steady state of application running – Meaningful data amounts & runtime • Compare latency vs throughput • Measure max throughput (for given scenario) 6 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 7. Benchmarking Scenario • For interactive web application • Scalability and performance are the most common requirements • Typically leads to users selecting NoSQL over RDBMS • The working set of data changes with time • End users using the application change over time • Example: every few hours, every few days, every few weeks • There is more data available than memory (RAM) • Replication is used for fault tolerance • Real world data sizes • Use EC2 as deployment platform – Commonly used – Easy to replicate results 7 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 8. Benchmarking Scenario Details Hardware • 4 Amazon m1.xlarge instances for the NoSQL DBs • 1 instance used as the client Workload details • Operations are a mix of C:R:U:D in the ratio 5:60:33:2 • Each document roughly 1.5-2K in size (15 fields * 100 bytes) • 15 million active and 15 million replica documents • Workload with sliding working set • Load phase, warm-up phase, access phase • Runtime of the access phase ~1 hour • Latency measured for varying throughput - 3 times for each run • Focus on transaction performance – Latency – Throughput 8 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 9. What was measured? • Latency • Throughput • Round trip time taken • Throughput was varied for a request to execute from 1K ops/sec to 25K from the client to the ops/sec depending on server and back NoSQL database • Average, 95th and 99th • Max throughput was percentile measured measured • Why is this important? • Why is this important? • You want your users to • You want your app to have a great experience support hundreds of • Not just an “average” thousands of users one Workloads are not rate limited, focused on max throughput. 9 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 10. YCSB 10 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 11. Benchmark Implementation: YCSB • Yahoo! team offered a “standard” benchmark • Yahoo! Cloud Serving Benchmark (YCSB) – Focus on database – Focus on performance • YCSB Client consists of 2 parts – Workload generator – Workload scenarios 11 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 12. Why YCSB • Open source • Extensible • Rich selection of connectors • Azure, BigTable, Cassandra, CouchDB, • Dynomite, GemFire, HBase, Hypertable, • Infinispan, MongoDB, PNUTS, Redis, • Connector for Sharded RDBMS (i.e. MySQL), • Voldemort, GigaSpaces XAP • We developed a few connectors • Accumulo, Couchbase, Riak, • Connector for Shared Nothing RDBMS (i.e. MySQL Cluster) 12 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 13. How YCSB Works 13 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 14. THE CONFIGURATIONS 14 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 15. Cluster specification Amazon m1.xlarge Instance 15 GB memory 4 virtual cores 4 EBS 50 GB volumes in RAID0 YCSB Client 64-bit Amazon Linux (CentOS binary compatible) Amazon m1.xlarge Instances * 4 15 GB memory 4 virtual cores 4 EBS 50 GB volumes in RAID0 64-bit Amazon Linux * Extra nodes for masters, routers, etc 15 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 16. Couchbase Configuration • 4 node Couchbase cluster • 1 replica setting • Each node has some active and some replica data • 12GB used as the (12288 MB) Couchbase bucket size per node 16 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 17. MongoDB Configation • 4 shards each has 1 replica (replication factor – 1), where each shard is a set of 2 nodes - primary and secondary • Journaling disabled (trying to maximize performance) • var shards = [ "shard1/ycsb-node1:27017,ycsb-node2:27018", "shard2/ycsb-node2:27017,ycsb-node1:27018", "shard3/ycsb-node3:27017,ycsb-node4:27018", "shard4/ycsb-node4:27017,ycsb-node3:27018"]; Each node running • 2 mongod processes (all together 8 mongod processes on 4 nodes) • 4 mongos processes, which is the MongoDB router, process on 27019 port 17 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 18. Cassandra Configuration • Cassandra JVM settings: • 1.1) MAX_HEAP_SIZE, which is a total amount of memory dedicated to the Java heap - 6G • 1.2) HEAP_NEWSIZE, total amount of memory for the new generation of objects - 400M • Cassandra settings: • 2.1) RandomPartitioner was used which distributes rows across the cluster evenly by MD5 • 2.2) Memtable size 4048 MB 18 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 19. THE RESULTS 19 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 20. Reads (Average time) Read latencies against throughput 7 6 Cassandra 5 Average Latency [ms] 4 MongoDB 3 2 1 Couchbase 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 Operations per Second 20 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 21. Reads (95th percentile) 18 Read latencies against throughput 16 14 Cassandra 12 95th Percentile Latency [ms] 10 8 6 4 Couchbase 2 MongoDB 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 Operations per Second 21 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 22. Reads (99th percentile) 60 Read latencies against throughput 50 Cassandra 40 99th Percentile Latency [ms] 30 MongoDB 20 10 Couchbase 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 Operations per Second 22 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 23. Mongo Replica Reads • MongoDB setup had 4 shards • By default only masters will service reads • To allow replica reads and still be comparable, need to ensure that replica data is up-to-date • This was done using write-concern (REPLICAS_SAFE) • Tests showed that results did not improve • This includes results for writes 23 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 24. Writes (Average time) 5 Insert and Update latencies against throughput 4.5 4 MongoDB 3.5 Average Latency [ms] 3 Cassandra 2.5 2 1.5 1 Couchbase 0.5 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 Operations per second 24 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 25. Writes (95th percentile) 30 Insert and update latencies against throughput 25 MongoDB 95th Percentile Latency [ms] 20 15 Cassandra 10 Couchbase 5 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 Operations per Second 25 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 26. Writes (99th percentile) 50 Insert and update latencies against throughput 45 40 MongoDB 35 99th Percentile Latency [ms] 30 25 Cassandra 20 15 10 5 Couchbase 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 Operations per Second 26 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 27. Results Analysis • Couchbase • Showed the lowest latencies & highest throughput • Latency was independent of throughput for up to 3/4th the max achievable throughput (for both reads and write) • Cassandra • Had the highest latencies of all the databases • Showed higher max throughput compared with mongoDB but only 60% of the throughput achieved by Couchbase • Latencies rose fast as throughput was increased • MongoDB • Read latencies were better than Cassandra but higher than Couchbase • Max throughput for read and writes was the lowest of all the databases – Particularly for writes, high latencies seen for average throughput – Coarse write lock seems to have a big impact on performance 27 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 28. Other Thoughts • You decide who is a winner • NoSQL is a “different horses for different courses” • Evaluate before choosing the “horse” • Construct your own or use existing workloads • Benchmark it • Tune database! • Benchmark it again Amazon EC2 observations • Scales perfectly for NoSQL • EBS slows down database on reads • RAID0 it! Use 4 disk in array (good choice), some reported performance degraded with higher number (6 and >) 28 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 29. What are we missing in our benchmarking scenario? Load phase workload • Working set is created • 15 million records • 1.5 KB record (15 fields by 100 Bytes) • 45GB total or ≈12GB per node Ideas, anyone? 29 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 30. YCSB Connectors github.com/Altoros/YCSB 30 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 31. Workload Generator Specs Hotspot generator with sliding window: hotspotslidingspeed=10 Speed of the hot set window movement measured in keys per second, with a default value of 10 keys/sec (can be overridden in workload properties file). hotspotdatafraction=0.2 Proportion of the hot data set to the whole dataset, default is 0.2 hotspotoperationfraction=0.9 Value specifying how often hot dataset will be queried comparing to cold dataset, default is 0.8, used 0.9 lowerbound=0 The minimal key value allowed to be queried. Set to 0 upperbound=15000000 The maximum key value allowed to be queried. Set to 15 million Also specification of the client process, which drives workload: 6) threadcount=30 Number of parallel threads spawned on the client node to drive benchmark 31 Copyright © Altoros Systems, Inc. | CONFIDENTIAL
  • 32. Thank you! Thank You! renat.k@altoros.com @renatkhasanshyn Tel. (650) 395-7002 32 Copyright © Altoros Systems, Inc. | CONFIDENTIAL