Upload
altoros
View
757
Download
0
Tags:
Embed Size (px)
DESCRIPTION
This presentation contains information on the test environment, settings, major criteria for evaluation, and component diagrams that can help you to test a NoSQL data store for your project. It also provides a matrix that compares a number of NoSQL products based on our test results. We also list the issues we encountered and some approaches we used to overcome them. For more independent research into Hadoop, NoSQL, and other big data technologies, please visit www.altoros.com/research-papers or follow @altoros.
Citation preview
© ALTOROS | CONFIDENTIAL
EC2 Database Benchmarking
Vitaly RudenyaTeam Leader
© ALTOROS | CONFIDENTIAL 2
The Project goal
Theoretical studies
Document-oriented:
MongoDB
Couchbase
CouchDB
MarkLogic server
Key-value/column:
Cassandra
Riak
Hbase
Project Voldemort
RDBMS:
Postgres
MySQL cluster
Volt DB
MariaDB Cluster
Agenda
© ALTOROS | CONFIDENTIAL 3
Main Criteria
Multi-data center (regions) bi-directional replication to multi regions
Support for active/active reads across regions
Auto resynchronization of data between regions in the event of loss of connectivity
between regions
Support for encryption of data replication traffic across regions
Support for active/active writes across regions
Configurable replication factor (within cluster in a single region and across regions)
Tunable Consistency for reads and writes
Agenda
© ALTOROS | CONFIDENTIAL 4
Agenda
Database matrix:
Mongo
DB
Couchbase
CouchDB
Mark
Logic
Serve
r
Cassan
draRiak
HBase
Project
Voldemort
Postgres
MyS
ql Cluste
r
Oracle 12C
VoltDB
NuoDB0
200400600800
1000120014001600
Results
© ALTOROS | CONFIDENTIAL 5
Domain model
Basic conditions
© ALTOROS | CONFIDENTIAL 6
Workloads
• Device sync
• Add to Shopping Cart
• Profile registrations
• Login
• Order Create
• Last 30 user activities
• Single activity detail based on activity id
• Total fuel for the last 30 activities
• Delete an activity based on activity id
• Profile search based on the First Name and Last Name
Basic conditions
© ALTOROS | CONFIDENTIAL 7
Performance verification
Performance verification tests that evaluate capabilities of the system will be carried out under
different workloads to provide the required statistics on the tunable requests.
For Performance verification there should be run all the workloads 1-10 as they are described
above.
The main goal is to define for each workload:
maximum throughput possible
optimal number of threads
optimal latency
Basic conditions
© ALTOROS | CONFIDENTIAL 8
Performance evaluation approach: definitions
• YCSB Benchmark
a framework with a workload generator
a set of workload scenarios
Initial dataset
Basic conditions
© ALTOROS | CONFIDENTIAL 9
Performance evaluation approach – component diagram
How to evaluate
© ALTOROS | CONFIDENTIAL 10
Couchbase Testing environment diagram
Where to evaluate
© ALTOROS | CONFIDENTIAL 11
MongoDB Testing environment diagram
Where to evaluate
© ALTOROS | CONFIDENTIAL 12
Performance evaluation – environment specification
• Amazon AWS EC2 instances:
3 availability zones in one region
Single security group with all required port opened
3 i2.4xlarge 64bit instances for cluster nodes: 122GB RAM, 16 vCPU, 53 ECU, high-
performance network
• Storage for each cluster node:
SSD ephemeral volume by 120 GB
Where to evaluate
© ALTOROS | CONFIDENTIAL 13
Environment Bottleneck
• Issues:
No more than 10k ops/sec for single YCSB client
Minor performance changes with number of threads or YCSB processes increasing
on same client server
Low resources utilizing (Network, HDD, Memory, CPU)
Linear cluster performance increasing with additional YCSB server
• What we did:
Amazon VPN has been created
We used 9 YCSB nodes to load the cluster
Servers were configured to use same placement group
Challenges
© ALTOROS | CONFIDENTIAL 14
EC2 Database Benchmarking
Vitaly Rudenya
Team Leader
Altoros, 2014
Thank you