14
© ALTOROS | CONFIDENTIAL EC2 Database Benchmarking Vitaly Rudenya Team Leader [email protected]

EC2 NoSQL Benchmarking

  • Upload
    altoros

  • View
    757

  • Download
    0

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

Page 1: EC2 NoSQL Benchmarking

© ALTOROS | CONFIDENTIAL

EC2 Database Benchmarking

Vitaly RudenyaTeam Leader

[email protected]

Page 2: EC2 NoSQL Benchmarking

© 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

Page 3: EC2 NoSQL Benchmarking

© 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

Page 4: EC2 NoSQL Benchmarking

© 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

Page 5: EC2 NoSQL Benchmarking

© ALTOROS | CONFIDENTIAL 5

Domain model

Basic conditions

Page 6: EC2 NoSQL Benchmarking

© 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

Page 7: EC2 NoSQL Benchmarking

© 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

Page 8: EC2 NoSQL Benchmarking

© ALTOROS | CONFIDENTIAL 8

Performance evaluation approach: definitions

• YCSB Benchmark

a framework with a workload generator

a set of workload scenarios

Initial dataset

Basic conditions

Page 9: EC2 NoSQL Benchmarking

© ALTOROS | CONFIDENTIAL 9

Performance evaluation approach – component diagram

How to evaluate

Page 10: EC2 NoSQL Benchmarking

© ALTOROS | CONFIDENTIAL 10

Couchbase Testing environment diagram

Where to evaluate

Page 11: EC2 NoSQL Benchmarking

© ALTOROS | CONFIDENTIAL 11

MongoDB Testing environment diagram

Where to evaluate

Page 12: EC2 NoSQL Benchmarking

© 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

Page 13: EC2 NoSQL Benchmarking

© 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

Page 14: EC2 NoSQL Benchmarking

© ALTOROS | CONFIDENTIAL 14

EC2 Database Benchmarking

Vitaly Rudenya

Team Leader

[email protected]

Altoros, 2014

Thank you