27
© ALTOROS Systems | CONFIDENTIAL Sergey Sverchkov Project Manager [email protected]

Оцениваем решения NoSQL: какая база данных подходит для вашей системы

  • Upload
    -

  • View
    492

  • Download
    1

Embed Size (px)

DESCRIPTION

"Оцениваем решения NoSQL: какая база данных подходит для вашей системы”, Сергей Сверчков, менеджер-проектов в Altoros.

Citation preview

Page 1: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL

Sergey Sverchkov

Project Manager

[email protected]

Page 2: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 3: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 3

Page 4: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 4

Page 5: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 5

• Workload is defined by different distributions

• Operations of the following types:

Page 6: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 6

Page 7: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 7

Page 8: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 8

Page 9: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 10: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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”

Page 11: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 11

Replica factor 1

Memory + disk mode

JVM heap size 12GB

Replica factor 1

Snappy compressor

Page 12: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 12

Performance of the systems was evaluated under different workloads:

Page 13: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 14: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 15: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 16: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 17: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 18: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 19: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 20: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 21: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 22: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 23: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 24: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 25: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 26: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© 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

Page 27: Оцениваем решения NoSQL: какая база данных подходит для вашей системы

© ALTOROS Systems | CONFIDENTIAL 27