Upload
-
View
492
Download
1
Embed Size (px)
DESCRIPTION
"Оцениваем решения NoSQL: какая база данных подходит для вашей системы”, Сергей Сверчков, менеджер-проектов в Altoros.
Citation preview
© ALTOROS Systems | CONFIDENTIAL
Sergey Sverchkov
Project Manager
© ALTOROS Systems | CONFIDENTIAL 2
ORDER
ADDRESS
CUSTOMER
ORDER_LINES
Order
ID: 1001
Order Date: 15.9.2012
Line Items
Customer
First Name: Peter
Last Name: Sample
Billing Address
Street: Somestreet 10
City: Somewhere
Postal Code: 55901
Name
Ipod Touch
Monster Beat
Apple Mouse
Quantity
1
2
1
Price
220.95
190.00
69.90
© ALTOROS Systems | CONFIDENTIAL 3
•
•
•
•
•
•
•
•
•
© ALTOROS Systems | CONFIDENTIAL 4
•
•
•
•
•
•
© ALTOROS Systems | CONFIDENTIAL 5
•
• Workload is defined by different distributions
• Operations of the following types:
© ALTOROS Systems | CONFIDENTIAL 6
•
•
© ALTOROS Systems | CONFIDENTIAL 7
© ALTOROS Systems | CONFIDENTIAL 8
© ALTOROS Systems | CONFIDENTIAL 9
•
Single availability zone eu-west-1b, Ireland region
Single security group with all required port opened
4 m1.xlarge 64bit instances for cluster nodes: 16GB RAM, 4 vCPU, 8 ECU, high-
performance network
1 c1.xlarge 64bit instance for YSCB client: 7GB RAM, 8 vCPU, 20 ECU, high-
performance network
2 additional c1.medium 64bit instances for mongo routers: 1.7GB RAM, 2 vCPU, 5
ECU, moderate network
•
4 EBS volumes by 25 GB each in RAID0
EBS optimized volumes, no Provisioned IOPS
© ALTOROS Systems | CONFIDENTIAL 10
•
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
key_cache_size_in_mb: 1024
row_cache_size_in_mb: 6096
JVM heap size: 6GB
Snappy compressor
Replica factor 1
•
2 c1.medium nodes with mongo router process - mongos
Replica factor 1
Sharding by internal key “_id”
© ALTOROS Systems | CONFIDENTIAL 11
•
Replica factor 1
Memory + disk mode
•
JVM heap size 12GB
Replica factor 1
Snappy compressor
© ALTOROS Systems | CONFIDENTIAL 12
Performance of the systems was evaluated under different workloads:
© ALTOROS Systems | CONFIDENTIAL 13
0
1
2
3
4
5
6
7
8
9
0 10000 20000 30000 40000
Ave
rage
late
ncy
, ms
Throughput, ops/sec
Load phase, 100.000.000 records * 1 KB, [INSERT]
hbase
cassandra
couchbase
mongodb
© ALTOROS Systems | CONFIDENTIAL 14
0
20
40
60
80
100
120
0 500 1000 1500 2000 2500 3000
Workload A: Update (Update 50%, Read 50%)
cassandra
couchbase
hbase
mongodb
© ALTOROS Systems | CONFIDENTIAL 15
0
10
20
30
40
50
60
70
80
0 500 1000 1500 2000 2500 3000
Workload A: Read (Update 50%, Read 50%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 16
0
20
40
60
80
100
120
0 500 1000 1500 2000 2500
Workload B: Update (update 5% , read 95%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 17
0
10
20
30
40
50
60
70
80
90
0 500 1000 1500 2000 2500
Workload B: Read (update 5% , read 95%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 18
0
10
20
30
40
50
60
70
80
0 500 1000 1500 2000 2500 3000
Workload C: 100% Read
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 19
0
10
20
30
40
50
60
0 500 1000 1500 2000 2500 3000
Workload D: Insert (insert 5% , read 95%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 20
0
10
20
30
40
50
60
70
80
90
0 500 1000 1500 2000 2500 3000
Workload D: Read (insert 5% , read 95%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 21
0
50
100
150
200
250
300
350
400
0 50 100 150 200 250
Workload E: Insert (Insert 5%, Scan 95%)
cassandra
hbase
© ALTOROS Systems | CONFIDENTIAL 22
0
10
20
30
40
50
60
70
80
0 500 1000 1500 2000 2500
Workload F: read (Read-Modify-Write 50%, Read 50%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 23
0
20
40
60
80
100
120
140
0 500 1000 1500 2000 2500
Workload F: Update (Read-Modify-Write 50%, Read 50%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 24
0
20
40
60
80
100
120
140
160
180
200
0 500 1000 1500 2000 2500
Workload F: Read-Modify-Write (Read-Modify-Write 50%, Read 50%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 25
0
5
10
15
20
25
30
35
0 1000 2000 3000 4000 5000 6000 7000
Workload G: Insert (Insert 90%, Read 10%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 26
0
10
20
30
40
50
60
0 1000 2000 3000 4000 5000 6000 7000
Workload G: Read (Insert 90%, Read 10%)
cassandra
couch
hbase
mongo
© ALTOROS Systems | CONFIDENTIAL 27
•
•
•
•
•
•
•
•