SlideShare a Scribd company logo
Sergey Sverchkov
Project Manager
sergey.sverchkov@altoros.com

© ALTOROS Systems | CONFIDENTIAL
•
•
•
•
•
•

© ALTOROS Systems | CONFIDENTIAL

2
•
•

•
•
•
•

© ALTOROS Systems | CONFIDENTIAL

3
•



• Workload is defined by different distributions



•

Operations of the following types:





© ALTOROS Systems | CONFIDENTIAL

4
•





•





© ALTOROS Systems | CONFIDENTIAL

5
© ALTOROS Systems | CONFIDENTIAL

6
•
 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, highperformance network
 1 c1.xlarge 64bit instance for YSCB client: 7GB RAM, 8 vCPU, 20 ECU, highperformance 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

7
© ALTOROS Systems | CONFIDENTIAL

8
•
 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

9
•
 Replica factor 1
 Memory + disk mode

•
 JVM heap size 12GB
 Replica factor 1

 Snappy compressor

© ALTOROS Systems | CONFIDENTIAL

10
Performance of the systems was evaluated under different workloads:







© ALTOROS Systems | CONFIDENTIAL

11
Load phase, 100.000.000 records * 1 KB, [INSERT]
9

Average latency, ms

8
7
6
5

hbase

4

cassandra

3

couchbase
mongodb

2
1
0
0

10000

20000

30000

40000

Throughput, ops/sec

© ALTOROS Systems | CONFIDENTIAL

12
Workload A: Update (Update 50%, Read 50%)
120
100

cassandra

80

couchbase
hbase

60

mongodb
40
20
0
0

500

1000

1500

2000

© ALTOROS Systems | CONFIDENTIAL

2500

3000
13
Workload A: Read (Update 50%, Read 50%)

80
70
60

50

cassandra
couch

40

hbase
mongo

30
20
10
0
0

500

1000

1500

2000

© ALTOROS Systems | CONFIDENTIAL

2500

3000
14
Workload B: Update (update 5% , read 95%)
120
100
80
cassandra
60

couch
hbase

40

mongo

20
0
0

500

1000

1500

© ALTOROS Systems | CONFIDENTIAL

2000

2500

15
Workload B: Read (update 5% , read 95%)
90

80
70
60
cassandra

50

couch

40

hbase

30

mongo

20
10
0
0

500

1000

1500

© ALTOROS Systems | CONFIDENTIAL

2000

2500

16
Workload C: 100% Read
80
70
60
50

cassandra

40

couch
hbase

30

mongo
20
10
0
0

500

1000

1500

2000

© ALTOROS Systems | CONFIDENTIAL

2500

3000

17
Workload D: Insert (insert 5% , read 95%)
60
50
40
cassandra
30

couch
hbase

20

mongo

10
0
0

500

1000

1500

2000

© ALTOROS Systems | CONFIDENTIAL

2500

3000

18
Workload D: Read (insert 5% , read 95%)
90
80
70
60
cassandra

50

couch

40

hbase

30

mongo

20
10
0
0

500

1000

1500

2000

© ALTOROS Systems | CONFIDENTIAL

2500

3000

19
400

Workload E: Insert (Insert 5%, Scan 95%)

350
300
250
200

cassandra

150

hbase

100
50
0

0

50

100

150

© ALTOROS Systems | CONFIDENTIAL

200

250
20
Workload F: read (Read-Modify-Write 50%, Read 50%)
80
70

60
50

cassandra

40

couch
hbase

30

mongo
20
10
0
0

500

1000

1500

© ALTOROS Systems | CONFIDENTIAL

2000

2500

21
Workload F: Update (Read-Modify-Write 50%, Read 50%)
140
120

100
cassandra

80

couch
60

hbase
mongo

40
20
0
0

500

1000

1500

© ALTOROS Systems | CONFIDENTIAL

2000

2500

22
Workload F: Read-Modify-Write (Read-Modify-Write 50%, Read 50%)
200
180
160
140
120

cassandra

100

couch

80

hbase

60

mongo

40
20
0
0

500

1000

1500

© ALTOROS Systems | CONFIDENTIAL

2000

2500

23
Workload G: Insert (Insert 90%, Read 10%)
35

30
25
cassandra

20

couch
15

hbase
mongo

10
5
0
0

1000

2000

3000

4000

5000

© ALTOROS Systems | CONFIDENTIAL

6000

7000

24
Workload G: Read (Insert 90%, Read 10%)
60
50
40
cassandra
30

couch
hbase

20

mongo

10
0
0

1000

2000

3000

4000

5000

© ALTOROS Systems | CONFIDENTIAL

6000

7000

25
•
•

•
•
•
•
•
•

© ALTOROS Systems | CONFIDENTIAL

26

More Related Content

What's hot

Using vSAN technology for hosted private cloud storage
Using vSAN technology for hosted private cloud storageUsing vSAN technology for hosted private cloud storage
Using vSAN technology for hosted private cloud storage
OVHcloud
 
Juniper for Enterprise
Juniper for EnterpriseJuniper for Enterprise
Juniper for Enterprise
MarketingArrowECS_CZ
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to Hero
Dhruv Sharma
 
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
juet-y
 
ETHERNET CONVERTER NETWORKING SYSTEM
ETHERNET CONVERTER NETWORKING SYSTEMETHERNET CONVERTER NETWORKING SYSTEM
ETHERNET CONVERTER NETWORKING SYSTEM
Anil Gadi
 
JomaSoft VDCF - Solaris Private Cloud
JomaSoft VDCF - Solaris Private CloudJomaSoft VDCF - Solaris Private Cloud
JomaSoft VDCF - Solaris Private Cloud
JomaSoft
 
Tugas presentase knk
Tugas presentase knkTugas presentase knk
Tugas presentase knk
Sarminipuren01
 
American Fibertek ECR-16-POE Data Sheet
American Fibertek ECR-16-POE Data SheetAmerican Fibertek ECR-16-POE Data Sheet
American Fibertek ECR-16-POE Data Sheet
JMAC Supply
 
Отказоустойчивость с использованием Cisco ASA Clustering
Отказоустойчивость с использованием Cisco ASA ClusteringОтказоустойчивость с использованием Cisco ASA Clustering
Отказоустойчивость с использованием Cisco ASA Clustering
Cisco Russia
 
Cisco asa 5515 datasheet
Cisco asa 5515 datasheetCisco asa 5515 datasheet
Cisco asa 5515 datasheet
Mark Tsui
 
NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .
networkershome
 
Huawei s5700-28-p-pwr-li-ac datasheet
Huawei s5700-28-p-pwr-li-ac datasheetHuawei s5700-28-p-pwr-li-ac datasheet
Huawei s5700-28-p-pwr-li-ac datasheet
Mark Tsui
 
BRKVIR-3013 Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...
BRKVIR-3013  Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...BRKVIR-3013  Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...
BRKVIR-3013 Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...
Rassul Ismailov
 
Cumulus networks conversion guide
Cumulus networks conversion guideCumulus networks conversion guide
Cumulus networks conversion guide
Scott Suehle
 
Cisco asa active,active failover configuration
Cisco asa active,active failover configurationCisco asa active,active failover configuration
Cisco asa active,active failover configuration
IT Tech
 
CCNA Icnd110 s05l03
CCNA Icnd110 s05l03CCNA Icnd110 s05l03
CCNA Icnd110 s05l03
computerlenguyen
 
Veracity VCS-4P1 Data Sheet
Veracity VCS-4P1 Data SheetVeracity VCS-4P1 Data Sheet
Veracity VCS-4P1 Data Sheet
JMAC Supply
 
Blade center switches
Blade center switchesBlade center switches
Blade center switches
Marcos Hortas
 
Windows Azure Services
Windows Azure ServicesWindows Azure Services
Windows Azure Services
bartlannoeye
 

What's hot (19)

Using vSAN technology for hosted private cloud storage
Using vSAN technology for hosted private cloud storageUsing vSAN technology for hosted private cloud storage
Using vSAN technology for hosted private cloud storage
 
Juniper for Enterprise
Juniper for EnterpriseJuniper for Enterprise
Juniper for Enterprise
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to Hero
 
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
 
ETHERNET CONVERTER NETWORKING SYSTEM
ETHERNET CONVERTER NETWORKING SYSTEMETHERNET CONVERTER NETWORKING SYSTEM
ETHERNET CONVERTER NETWORKING SYSTEM
 
JomaSoft VDCF - Solaris Private Cloud
JomaSoft VDCF - Solaris Private CloudJomaSoft VDCF - Solaris Private Cloud
JomaSoft VDCF - Solaris Private Cloud
 
Tugas presentase knk
Tugas presentase knkTugas presentase knk
Tugas presentase knk
 
American Fibertek ECR-16-POE Data Sheet
American Fibertek ECR-16-POE Data SheetAmerican Fibertek ECR-16-POE Data Sheet
American Fibertek ECR-16-POE Data Sheet
 
Отказоустойчивость с использованием Cisco ASA Clustering
Отказоустойчивость с использованием Cisco ASA ClusteringОтказоустойчивость с использованием Cisco ASA Clustering
Отказоустойчивость с использованием Cisco ASA Clustering
 
Cisco asa 5515 datasheet
Cisco asa 5515 datasheetCisco asa 5515 datasheet
Cisco asa 5515 datasheet
 
NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .
 
Huawei s5700-28-p-pwr-li-ac datasheet
Huawei s5700-28-p-pwr-li-ac datasheetHuawei s5700-28-p-pwr-li-ac datasheet
Huawei s5700-28-p-pwr-li-ac datasheet
 
BRKVIR-3013 Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...
BRKVIR-3013  Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...BRKVIR-3013  Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...
BRKVIR-3013 Deploying and Troubleshooting the Nexus 1000v Virtual Switch on ...
 
Cumulus networks conversion guide
Cumulus networks conversion guideCumulus networks conversion guide
Cumulus networks conversion guide
 
Cisco asa active,active failover configuration
Cisco asa active,active failover configurationCisco asa active,active failover configuration
Cisco asa active,active failover configuration
 
CCNA Icnd110 s05l03
CCNA Icnd110 s05l03CCNA Icnd110 s05l03
CCNA Icnd110 s05l03
 
Veracity VCS-4P1 Data Sheet
Veracity VCS-4P1 Data SheetVeracity VCS-4P1 Data Sheet
Veracity VCS-4P1 Data Sheet
 
Blade center switches
Blade center switchesBlade center switches
Blade center switches
 
Windows Azure Services
Windows Azure ServicesWindows Azure Services
Windows Azure Services
 

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

EC2 NoSQL Benchmarking
EC2 NoSQL BenchmarkingEC2 NoSQL Benchmarking
EC2 NoSQL Benchmarking
Altoros
 
Emc
EmcEmc
Emc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopEmc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshop
solarisyougood
 
Atf 3 q15-2 - product preview
Atf 3 q15-2 - product previewAtf 3 q15-2 - product preview
Atf 3 q15-2 - product preview
Mason Mei
 
configurations type cloud VNX
configurations type cloud VNXconfigurations type cloud VNX
configurations type cloud VNX
Erwan Quigna
 
EMEA Airheads - Multi zone ap and centralized image upgrade
EMEA Airheads - Multi zone ap and centralized image upgradeEMEA Airheads - Multi zone ap and centralized image upgrade
EMEA Airheads - Multi zone ap and centralized image upgrade
Aruba, a Hewlett Packard Enterprise company
 
StorPool Storage presenting at Storage Field Day 25pdf
StorPool Storage presenting at Storage Field Day 25pdfStorPool Storage presenting at Storage Field Day 25pdf
StorPool Storage presenting at Storage Field Day 25pdf
StorPool Storage
 
IBM Power Systems E850C and S824
IBM Power Systems E850C and S824IBM Power Systems E850C and S824
IBM Power Systems E850C and S824
David Spurway
 
Deploying flash storage for Ceph without compromising performance
Deploying flash storage for Ceph without compromising performance Deploying flash storage for Ceph without compromising performance
Deploying flash storage for Ceph without compromising performance
Ceph Community
 
Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2
David Pasek
 
Cisco UCS (Unified Computing System)
Cisco UCS (Unified Computing System)Cisco UCS (Unified Computing System)
Cisco UCS (Unified Computing System)
NetWize
 
Using ScaleIO in an OpenStack Environment
Using ScaleIO in an OpenStack EnvironmentUsing ScaleIO in an OpenStack Environment
Using ScaleIO in an OpenStack Environment
Jason Sturgeon
 
Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...
Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...
Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...
Ceph Community
 
Flexing Network Muscle with IBM Flex System Fabric Technology
Flexing Network Muscle with IBM Flex System Fabric TechnologyFlexing Network Muscle with IBM Flex System Fabric Technology
Flexing Network Muscle with IBM Flex System Fabric Technology
Brocade
 
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Community
 
#VMUGMTL - Xsigo Breakout
#VMUGMTL - Xsigo Breakout#VMUGMTL - Xsigo Breakout
#VMUGMTL - Xsigo Breakout
1CloudRoad.com
 
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph Community
 
Using Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking AccelerationUsing Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking Acceleration
Netronome
 
Cisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdfCisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdf
juergenJaeckel
 
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
Altoros
 

Similar to Сергей Сверчков - Оцениваем решения NoSQL: какая база данных подходит для вашей системы (20)

EC2 NoSQL Benchmarking
EC2 NoSQL BenchmarkingEC2 NoSQL Benchmarking
EC2 NoSQL Benchmarking
 
Emc
EmcEmc
Emc
 
Emc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopEmc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshop
 
Atf 3 q15-2 - product preview
Atf 3 q15-2 - product previewAtf 3 q15-2 - product preview
Atf 3 q15-2 - product preview
 
configurations type cloud VNX
configurations type cloud VNXconfigurations type cloud VNX
configurations type cloud VNX
 
EMEA Airheads - Multi zone ap and centralized image upgrade
EMEA Airheads - Multi zone ap and centralized image upgradeEMEA Airheads - Multi zone ap and centralized image upgrade
EMEA Airheads - Multi zone ap and centralized image upgrade
 
StorPool Storage presenting at Storage Field Day 25pdf
StorPool Storage presenting at Storage Field Day 25pdfStorPool Storage presenting at Storage Field Day 25pdf
StorPool Storage presenting at Storage Field Day 25pdf
 
IBM Power Systems E850C and S824
IBM Power Systems E850C and S824IBM Power Systems E850C and S824
IBM Power Systems E850C and S824
 
Deploying flash storage for Ceph without compromising performance
Deploying flash storage for Ceph without compromising performance Deploying flash storage for Ceph without compromising performance
Deploying flash storage for Ceph without compromising performance
 
Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2
 
Cisco UCS (Unified Computing System)
Cisco UCS (Unified Computing System)Cisco UCS (Unified Computing System)
Cisco UCS (Unified Computing System)
 
Using ScaleIO in an OpenStack Environment
Using ScaleIO in an OpenStack EnvironmentUsing ScaleIO in an OpenStack Environment
Using ScaleIO in an OpenStack Environment
 
Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...
Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...
Ceph Day Berlin: Deploying Flash Storage for Ceph without Compromising Perfor...
 
Flexing Network Muscle with IBM Flex System Fabric Technology
Flexing Network Muscle with IBM Flex System Fabric TechnologyFlexing Network Muscle with IBM Flex System Fabric Technology
Flexing Network Muscle with IBM Flex System Fabric Technology
 
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
 
#VMUGMTL - Xsigo Breakout
#VMUGMTL - Xsigo Breakout#VMUGMTL - Xsigo Breakout
#VMUGMTL - Xsigo Breakout
 
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
 
Using Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking AccelerationUsing Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking Acceleration
 
Cisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdfCisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdf
 
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
 

More from IT Share

Cоветs по оптимизации игр, Александр Дежурко
Cоветs по оптимизации игр, Александр ДежуркоCоветs по оптимизации игр, Александр Дежурко
Cоветs по оптимизации игр, Александр Дежурко
IT Share
 
Citrus Game Engine, Юрий Шумовский
Citrus Game Engine, Юрий ШумовскийCitrus Game Engine, Юрий Шумовский
Citrus Game Engine, Юрий Шумовский
IT Share
 
Pooling is magic, Максим Клыга
Pooling is magic, Максим КлыгаPooling is magic, Максим Клыга
Pooling is magic, Максим Клыга
IT Share
 
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнитиСвятослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнитиIT Share
 
Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...
Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...
Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...IT Share
 
Александр Яцукевич - Визуальные эффекты в гейм-дизайне
Александр Яцукевич - Визуальные эффекты в гейм-дизайнеАлександр Яцукевич - Визуальные эффекты в гейм-дизайне
Александр Яцукевич - Визуальные эффекты в гейм-дизайнеIT Share
 
Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...
Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...
Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...IT Share
 
Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных
IT Share
 
Кирилл Алешин - Big Data и Lambda архитектура на практике
Кирилл Алешин - Big Data и Lambda архитектура на практикеКирилл Алешин - Big Data и Lambda архитектура на практике
Кирилл Алешин - Big Data и Lambda архитектура на практике
IT Share
 
Максим Мельников - Wargaming Web
Максим Мельников - Wargaming WebМаксим Мельников - Wargaming Web
Максим Мельников - Wargaming Web
IT Share
 
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
IT Share
 
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
IT Share
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень
IT Share
 
«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич
«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич
«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич
IT Share
 

More from IT Share (14)

Cоветs по оптимизации игр, Александр Дежурко
Cоветs по оптимизации игр, Александр ДежуркоCоветs по оптимизации игр, Александр Дежурко
Cоветs по оптимизации игр, Александр Дежурко
 
Citrus Game Engine, Юрий Шумовский
Citrus Game Engine, Юрий ШумовскийCitrus Game Engine, Юрий Шумовский
Citrus Game Engine, Юрий Шумовский
 
Pooling is magic, Максим Клыга
Pooling is magic, Максим КлыгаPooling is magic, Максим Клыга
Pooling is magic, Максим Клыга
 
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнитиСвятослав Панкратов - Оптимизация арта для браузерных проектов на юнити
Святослав Панкратов - Оптимизация арта для браузерных проектов на юнити
 
Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...
Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...
Иван Воронов - Пара вещей, которые упростили бы мою гейм-дизайнерскую жизнь, ...
 
Александр Яцукевич - Визуальные эффекты в гейм-дизайне
Александр Яцукевич - Визуальные эффекты в гейм-дизайнеАлександр Яцукевич - Визуальные эффекты в гейм-дизайне
Александр Яцукевич - Визуальные эффекты в гейм-дизайне
 
Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...
Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...
Клевакичев и Кравченко - Игровой баланс, методы его поиска и последующее тира...
 
Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных
 
Кирилл Алешин - Big Data и Lambda архитектура на практике
Кирилл Алешин - Big Data и Lambda архитектура на практикеКирилл Алешин - Big Data и Lambda архитектура на практике
Кирилл Алешин - Big Data и Lambda архитектура на практике
 
Максим Мельников - Wargaming Web
Максим Мельников - Wargaming WebМаксим Мельников - Wargaming Web
Максим Мельников - Wargaming Web
 
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
 
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...Никита Вельмаскин -  Интерпретатор или думаем над скриптовым движком для Ваше...
Никита Вельмаскин - Интерпретатор или думаем над скриптовым движком для Ваше...
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень
 
«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич
«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич
«От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич
 

Recently uploaded

How MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdfHow MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdf
MJ Global
 
amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05
marketing317746
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
AnnySerafinaLove
 
Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
Corey Perlman, Social Media Speaker and Consultant
 
Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024
Kirill Klimov
 
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
my Pandit
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
ssuser567e2d
 
Mastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnapMastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnap
Norma Mushkat Gaffin
 
Part 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 SlowdownPart 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 Slowdown
jeffkluth1
 
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdfikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
agatadrynko
 
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challengesEvent Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Holger Mueller
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
Alexandra Fulford
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
bosssp10
 
Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024
Adnet Communications
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
LuanWise
 
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdfModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
fisherameliaisabella
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
CLIVE MINCHIN
 
2022 Vintage Roman Numerals Men Rings
2022 Vintage Roman  Numerals  Men  Rings2022 Vintage Roman  Numerals  Men  Rings
2022 Vintage Roman Numerals Men Rings
aragme
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
ecamare2
 

Recently uploaded (20)

How MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdfHow MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdf
 
amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05amptalk_RecruitingDeck_english_2024.06.05
amptalk_RecruitingDeck_english_2024.06.05
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
 
Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
 
Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024
 
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
 
Mastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnapMastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnap
 
Part 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 SlowdownPart 2 Deep Dive: Navigating the 2024 Slowdown
Part 2 Deep Dive: Navigating the 2024 Slowdown
 
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdfikea_woodgreen_petscharity_cat-alogue_digital.pdf
ikea_woodgreen_petscharity_cat-alogue_digital.pdf
 
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
 
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challengesEvent Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
 
Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
 
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdfModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
ModelingMarketingStrategiesMKS.CollumbiaUniversitypdf
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
 
2022 Vintage Roman Numerals Men Rings
2022 Vintage Roman  Numerals  Men  Rings2022 Vintage Roman  Numerals  Men  Rings
2022 Vintage Roman Numerals Men Rings
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
 

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

  • 4. •   • Workload is defined by different distributions   • Operations of the following types:     © ALTOROS Systems | CONFIDENTIAL 4
  • 6. © ALTOROS Systems | CONFIDENTIAL 6
  • 7. •  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, highperformance network  1 c1.xlarge 64bit instance for YSCB client: 7GB RAM, 8 vCPU, 20 ECU, highperformance 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 7
  • 8. © ALTOROS Systems | CONFIDENTIAL 8
  • 9. •  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 9
  • 10. •  Replica factor 1  Memory + disk mode •  JVM heap size 12GB  Replica factor 1  Snappy compressor © ALTOROS Systems | CONFIDENTIAL 10
  • 11. Performance of the systems was evaluated under different workloads:       © ALTOROS Systems | CONFIDENTIAL 11
  • 12. Load phase, 100.000.000 records * 1 KB, [INSERT] 9 Average latency, ms 8 7 6 5 hbase 4 cassandra 3 couchbase mongodb 2 1 0 0 10000 20000 30000 40000 Throughput, ops/sec © ALTOROS Systems | CONFIDENTIAL 12
  • 13. Workload A: Update (Update 50%, Read 50%) 120 100 cassandra 80 couchbase hbase 60 mongodb 40 20 0 0 500 1000 1500 2000 © ALTOROS Systems | CONFIDENTIAL 2500 3000 13
  • 14. Workload A: Read (Update 50%, Read 50%) 80 70 60 50 cassandra couch 40 hbase mongo 30 20 10 0 0 500 1000 1500 2000 © ALTOROS Systems | CONFIDENTIAL 2500 3000 14
  • 15. Workload B: Update (update 5% , read 95%) 120 100 80 cassandra 60 couch hbase 40 mongo 20 0 0 500 1000 1500 © ALTOROS Systems | CONFIDENTIAL 2000 2500 15
  • 16. Workload B: Read (update 5% , read 95%) 90 80 70 60 cassandra 50 couch 40 hbase 30 mongo 20 10 0 0 500 1000 1500 © ALTOROS Systems | CONFIDENTIAL 2000 2500 16
  • 17. Workload C: 100% Read 80 70 60 50 cassandra 40 couch hbase 30 mongo 20 10 0 0 500 1000 1500 2000 © ALTOROS Systems | CONFIDENTIAL 2500 3000 17
  • 18. Workload D: Insert (insert 5% , read 95%) 60 50 40 cassandra 30 couch hbase 20 mongo 10 0 0 500 1000 1500 2000 © ALTOROS Systems | CONFIDENTIAL 2500 3000 18
  • 19. Workload D: Read (insert 5% , read 95%) 90 80 70 60 cassandra 50 couch 40 hbase 30 mongo 20 10 0 0 500 1000 1500 2000 © ALTOROS Systems | CONFIDENTIAL 2500 3000 19
  • 20. 400 Workload E: Insert (Insert 5%, Scan 95%) 350 300 250 200 cassandra 150 hbase 100 50 0 0 50 100 150 © ALTOROS Systems | CONFIDENTIAL 200 250 20
  • 21. Workload F: read (Read-Modify-Write 50%, Read 50%) 80 70 60 50 cassandra 40 couch hbase 30 mongo 20 10 0 0 500 1000 1500 © ALTOROS Systems | CONFIDENTIAL 2000 2500 21
  • 22. Workload F: Update (Read-Modify-Write 50%, Read 50%) 140 120 100 cassandra 80 couch 60 hbase mongo 40 20 0 0 500 1000 1500 © ALTOROS Systems | CONFIDENTIAL 2000 2500 22
  • 23. Workload F: Read-Modify-Write (Read-Modify-Write 50%, Read 50%) 200 180 160 140 120 cassandra 100 couch 80 hbase 60 mongo 40 20 0 0 500 1000 1500 © ALTOROS Systems | CONFIDENTIAL 2000 2500 23
  • 24. Workload G: Insert (Insert 90%, Read 10%) 35 30 25 cassandra 20 couch 15 hbase mongo 10 5 0 0 1000 2000 3000 4000 5000 © ALTOROS Systems | CONFIDENTIAL 6000 7000 24
  • 25. Workload G: Read (Insert 90%, Read 10%) 60 50 40 cassandra 30 couch hbase 20 mongo 10 0 0 1000 2000 3000 4000 5000 © ALTOROS Systems | CONFIDENTIAL 6000 7000 25

Editor's Notes

  1. Abstract:Often referred to as NoSQL, non-relational databases feature elasticity and scalability in combination with a capability to store big data and work with cloud computing systems, all of which make them extremely popular. NoSQL data management systems are inherently schema-free (with no obsessive complexity and a flexible data model) and eventually consistent (complying with BASE rather than ACID). They have a simple API, serve huge amounts of data and provide high throughput. In 2013, the number of NoSQL products reached 150+ and the figure is still growing. That variety makes it difficult to select the best tool for a particular case. Database vendors usually measure productivity of their products with custom hardware and software settings designed to demonstrate the advantages of their solutions.
  2. Mostly NoSQL databases differ from relational databases in their data model. These systems are classified into 4 groups.A. Key Value StoresKey value stores are similar to maps or dictionaries where data is addressed by a unique key.B. Document StoresDocument Stores encapsulate key value pairs in JSON or JSON like documents. Within documents, keys have to be unique. In contrast to key value stores,values are not opaque to the system and can be queried as well. Therefore, complex data structures like nested objects can be handled more conveniently. Storing data in interpretable JSONdocuments have the additional advantage of supporting data types, which makes document stores very developer-friendly. C. Column Family StoresColumn Family Stores are also known as column oriented stores, extensible record stores and wide columnar stores.D. Graph databasesKey value stores, document stores and column family stores have in common, that they do store denormalized data in order to gain advantages in distribution.In contrast to relational databases and the already introduced key oriented NoSQL databases, graph databases are specialized on efficient management of heavily linked data.NoSQL databases differ strongly in their offered query functionalities. Besides considering the supported data model and how it influences queries on specific attributes, it isnecessary to have a closer look on the offered interfaces in order to find a suitable database for a specific use case. If a simple, language unspecific API is required, REST interfacescan be a suitable solution especially for web applications, whereas performance critical queries should be exchanged over language specific APls which are available for nearly every common programming language like Java. Query languages offering a higher abstraction level in order to reduce complexity. Therefore, their use is very helpful when more complicated queries should be handled. If calculation intensive queries over large datasets are required, MapReduce frameworks should be used.Multiversion concurrency control (MVCC) relaxes strict consistency in favor of performance. Concurrent access is not managed with locks but by organization of many unmodifiable chronological ordered versions.In order to support transactions without reserving multiple datasets for exclusive access, optimistic locking is provided by many stores. Before changed data is committed, each transaction checks, whether another transactions made any conflicting modifications to the same datasets.NoSQL databases differ in their way they distribute data on multiple machines. Since data models of key value stores, document stores and column family stores are key oriented, the two common partition strategies are based on keys, too.The first strategy distributes datasets by the range of their keys. A routing server splits the whole keyset into blocks andallocates these blocks to different nodes. Afterwards, one node is responsible for storage and request handling of his specifickey ranges. In order to find a certain key, clients have to contact the routing server for getting the partition table.Higher availability and much simpler cluster architecture can be achieved with the second distributionstrategy called consistent hashing [27]. In this shared nothing architecture, there exists no single point of failure. In contrastto range based partitioning, keys are distributed by using hash functions. Since every server is responsible for a certain hashregion, addresses of certain keys within the cluster can be calculated very fast. Good hash functions distribute keysintuitively even wherefore an additional load balancer is not required.In addition to better read performance through load balancing, replication brings also better availability and durability, because failing nodes can be replaced by otherservers. Since distributed databases should be able to cope with temporary node and network failures, only full availability or full consistency can be guaranteed atone time in distributed systems. If all replicas of a master server were updated synchronously, the system would not be available until all slaves had committed a write operation. Ifmessages got lost due to network problems, the system would not be available for a longer period of time. For platformswhich rely on high availability, this solution is not suitable ?ecause even a few milliseconds of latency can have big Influences on user behavior.
  3. For benchmarking, we used Yahoo Cloud Serving Benchmark, which consists of the following components:a framework with a workload generatora set of workload scenariosThe workload defines the data that will be loaded into the database during the loading phase, and the operations that will be executed against the data set during the transaction phase.ypically, a workload is a combination of: Workload java class (subclass of com.yahoo.ycsb.Workload) Parameter file (in the Java Properties format)Because the properties of the dataset must be known during the loading phase (so that the proper kind of record can be constructed and inserted) and during the transaction phase (so that the correct record ids and fields can be referred to) a single set of properties is shared among both phases. Thus the parameter file is used in both phases. The workload java class uses those properties to either insert records (loading phase) or execute transactions against those records (transaction phase). We have measured database performance under certain types of workloads. A workload was defined by different distributions assigned to the two main choices:which operation to performwhich record to read or write Operations against a data store were randomly selected and could be of the following types:Insert: Inserts a new record.Update: Updates a record by replacing the value of one field.Read: Reads a record, either one randomly selected field, or all fields.Scan: Scans records in order, starting at a randomly selected record key. The number of records to scan is also selected randomly from the range between 1 and 100.
  4. Each workload was targeted at a table of 100,000,000 records; each record was 1,000 bytes in size and contained 10 fields. A primary key identified each record, which was a string, such as “user234123.” Each field was named field0, field1, and so on. The values in each field were random strings of ASCII characters, 100 bytes each. Database performance was defined by the speed at which a database computed basic operations. A basic operation is an action performed by the workload executor, which drives multiple client threads. Each thread executes a sequential series of operations by making calls to the database interface layer both to load the database (the load phase) and to execute the workload (the transaction phase). The threads throttle the rate at which they generate requests, so that we may directly control the offered load against the database. In addition, the threads measure the latency and achieved throughput of their operations and report these measurements to the statistics module.
  5. For every benchmark we define what to test – database client and how to test - target throughput – how many operations is to run per second, number of concurrent threads running on YCSBclient side and how many operations to execute for particular database. Every client thread reports it’s progress to Statistics module, which prints the output of test to console where benchmark is started.
  6. Cassandra configuration conf/cassandra.yaml# Maximum size of the row cache in memory.# NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.## Default value is 0, to disable row caching.row_cache_size_in_mb: 6096Hbaseconfig file /etc/hbase – when configured from RPM, and /hbase/config
  7. Workload A: Update-heavily mode. Workload A is an update-heavily scenario that simulates the database work, during which typical actions of an e-commerce solution user are recorded.Settings for the workload: Read/update ratio: 50/50Zipfian request distributionWorkload BWorkload B is a read-mostly workload that has 95/5 read/update ratio. It recaps content tagging, when adding a tag is an update, but most operations include reading tags.Workload CWorkload C is a read-only workload that simulates a data caching layer, for example a user profile cache.Workload D Workload D has 95/5 read/insert ratio. The workload simulates access to the latest data, such as user status updates or working with inbox messages first.Workload EWorkload E is a scan-short-ranges workload with a scan/insert percentile proportion of 95/5. It corresponds to threaded conversations that are clustered by a thread ID. Each scan is performed for the posts of a given thread.Workload F Workload F has read-modify-write/read ops in a proportion of 50/50. It simulates access to user database, where user records are read and modified by the user. User activity is also recorded to this database.Workload G Workload G has a 10/90 read/insert ratio. It simulates data migration process or highly intensive data creation.
  8. hbase - наименьшая производительность ожидаема, так как был включен AutoFlush, это позволяет достичь strong consistency, но заметно влияет на производительность записи. AutoFlush - опция которая включает запись данных на сервер, сразу после того как мы сделали put в клиенте, когда опция выключена, то для записи нужно либо явно вызывать метод flush(), либо он вызывается по мере заполнения клиентского буфера (размер буфера также настраивается).cassandra, couchbase - кассандра обновляет данные в памяти и синхронно пишет логтранзакций на диск, couchbase пишет в память и ставит в очередь записи на диск, работа с диском происходит в асинхронном режиме.
  9. As you can see, there is no perfect NoSQL database. Every database has its advantages and disadvantages that become more or less important depending on your preferences and the type of tasks.  For example, a database can demonstrate excellent performance, but once the amount of records exceeds a certain limit, the speed falls dramatically. It means that this particular solution can be good for moderate data loads and extremely fast computations, but it would not be suitable for jobs that require a lot of reads and writes. In addition, database performance also depends on the capacity of your hardware.