SlideShare a Scribd company logo
1 of 21
Download to read offline
© ALTOROS | CONFIDENTIAL
Choosing a NoSQL: a Real-Life
Case
Sergey Sverchkov, Project Manager
Vitaly Rudenia, Java Team Lead
© ALTOROS | CONFIDENTIAL 2
Business goals
 Improve scalability of the Oracle-based solution
 Get benefits of clouds
 Provide high availability and excellent performance
 Add geographic redundancy
Web performance vs. revenue
© ALTOROS | CONFIDENTIAL 3
How we did it:
 Arranged data stores by categories (key-value, document, relational / ACID)
 Identified key criteria
 Measured performance
 Checked stability and scalability
How to choose a database?
© ALTOROS | CONFIDENTIAL 4
Evaluation criteria
Selection Criteria
Importance
Score
Multi-data center bi-directional replication 10
Support for active/active reads/writes across regions 10/9
Auto resynchronization of data between regions 10
Support for encryption of data replication traffic across regions 10
Configurable replication factor 9
Tunable consistency for reads and writes 9
Survive loss of nodes and up to an entire region 8
Ability to add nodes in a cluster and rebalance data 8
Rich Query and Indexing capabilities 8
Security: Kerberos or similar authentication models 7
Backup/Recovery: Ability to perform live snapshots and restore 6
Bulk Loading and Extract/Dump capability; adapters for data transfer to Hadoop 3
Support for counters / sequence type structures 3
© ALTOROS | CONFIDENTIAL 5
Compared data stores
Relational Key-Value Document-
oriented
Column family
MySQL Cluster Redis MongoDB Cassandra
Oracle 12c MySQL HandlerSocket Couchbase Vertica
MariaDB Berkeley DB CouchDB Teradata
VoltDB Project Voldemort MarkLogic Server Accumulo
NuoDB Riak HBase
Vertica
© ALTOROS | CONFIDENTIAL 6
The benchmark framework
Amazon EC2 nodes for database cluster:
- i2.4xlarge: vCPU=16, RAM=122 GB, Storage=4x800 GB SSD in RAID0
- 3 availability zones in one region
- a single security group
© ALTOROS | CONFIDENTIAL
Initial data sets
7
Data loading statistics
Entity Name Number of Records Size of a Record, KB
Users 69,278,283 14.5
Orders 5,000,000 0.5
Inventory 99,923 0.0016
Activity 422,227,370 28.4
Database
name
Load Time
(hr)
Number of
Threads
Throughput Average Latency
(ms)
Couchbase 11.2 10 12,335 0.6
MongoDB 9.8 10 14,000 0.4
Riak 10.2 10 13,990 4
Cassandra ~4 10 - -
MySQL 8.9 10 15,340 1.3
Loading statistics
© ALTOROS | CONFIDENTIAL 8
Benchmarking workloads
Workload description Operations
1. Device Payload upload Insert
2. Add to Shopping Cart - with inventory check/update Read, Insert
3. Profile registrations Read, Insert
4. Login + Token (update of last login) Read, Update
5. Order create Read, Update, Insert
6. Activity List - Last 30 activities for a user Read (range of records)
7. Activity Detail - Details of a single activity based on id Read (single record)
8. Aggregation for the last 30 days for a user Read and aggregate
9. Delete of activity based on id Delete
10. Profile search - based on First and Last name Read
© ALTOROS | CONFIDENTIAL 9
Initial data model
© ALTOROS | CONFIDENTIAL 10
Steps:
1. Generate SYNC_ID
2. Read PAYLOAD value from pre-generated file
3. Insert new record (SYNC_ID, PAYLOAD) into SYNC
Performance results, 10 parallel threads
Workload: Device sync
Parameter Couchbase MongoDB Riak Cassandra MySQL
Throughput
(ops/sec)
38,520 150 14,302 21,672 5,786
Average Latency,
ms (Insert)
1.7 451.1 5.1 4.0 10.2
95th Percentile
Latency, ms (Insert)
1.4 220.9 6.1 3.3 14.0
99th Percentile
Latency, ms (Insert)
3.2 561.7 12.7 43.4 14.0
© ALTOROS | CONFIDENTIAL 11
Steps:
1. Retrieve row from INVENTORY with given SKU_ID
2. Generate ORDER_ID (STATE=‘INCOMPLETE’)
3. Insert new Order to ORDERS
Performance results, 10 parallel threads
Workload: Add to Shopping Cart
Parameter Couchbase MongoDB Riak Cassandra MySQL
Throughput
(ops/sec)
54,335 10,126 15,023 46,369 8,319
Average Latency,
ms (Insert / Read)
0.7 / 0.7 7.6 / 1.2 2.7 / 1.6 0.9 / 1.0 8.4 / 3.7
95th Percentile
Latency, ms
(Insert / Read)
1.1 / 1.1 20.1 / 1.6 3.5 / 2.4 2.4 / 2.4 11.5 / 5.4
99th Percentile
Latency, ms
(Insert / Read)
1.4 / 1.4 34.2 / 2.7 4.9 / 3.3 4.4 / 5.9 13.2 / 6.5
© ALTOROS | CONFIDENTIAL 12
Steps:
1. Generate a unique USER_ID, FIRST_NAME, LAST_NAME
2. Set email as FIRST_NAME.LAST_NAME@poctest.com
3. Read USER verifying that record doesn’t exist
4. Insert new record into USER
Performance results, 10 parallel threads
Workload: Profile registrations
Parameter Couchbase MongoDB Riak Cassandra MySQL
Throughput
(ops/sec)
4,521 3,800 24,807 31,490 8,346
Average Latency,
ms (Insert/Read) 0.8 / 16.9 64 / 5.7 3.1 / - 1.4 / 1.4 8.5 / 2.2
95th Percentile
Latency, ms
(Insert/Read)
1.2 / 25.5 133.1 / 156 4.3 / - 2.4 / 2.4 11.9 / 4.1
99th Percentile
Latency, ms
(Insert/Read)
1.4 / 34.1 197.6 / 29.9 5.3 / - 4.4 / 5.1 13.6 / 5.4
© ALTOROS | CONFIDENTIAL 13
Steps:
1. Read a row from INVENTORY based on SKU_ID
2. Update INVENTORY for SKU_ID
3. INSERT to ORDERS(STATE=‘COMPLETE’)
Performance results, 10 parallel threads
Workload: Order Create
Parameter Couchbase MongoDB Riak Cassandra MySQL
Throughput (ops/sec)
27,436 4,259 5,339 98,105 3,023
Average Latency, ms
(Update / Insert /
Read)
0.7 / 0.8 / 0.7 27.2 / 3.1 / 3.8 4.7 / 2.8 / 1.7 0.8 / 0.8 / 1.5 11.4 / 8.1 / 3.5
95th Percentile Latency,
ms (Update / Insert /
Read)
1.1 / 1.1 / 1.1 57.5 / 6.4 / 8.7 6.7 / 4.1 / 2.4 1.3 / 1.3 / 3.4
16.0 / 10.9 /
4.8
99th Percentile Latency,
ms (Update / Insert /
Read)
1.4 / 2 / 2
90.1 / 18.3 /
18.7
8.8 / 5.4 / 3.3 2.4 / 2.4 / 7.5
18.9 / 12.1 /
5.7
© ALTOROS | CONFIDENTIAL 14
Steps:
1. Aggregate the last 30 activities from SPORT_ACTIVITY
Performance results, 10 parallel threads
Workload: Aggregate last 30 activities
Parameter
Couchbase MongoDB Riak Cassandra MySQL
Throughput
(ops/sec) 3,783 9,285 - 60,713 9,195
Average Latency,
ms
(Scan)
21.1 29 - 1.3 6.5
95th Percentile
Latency, ms
(Scan)
33.1 114.1 - 2.3 12.8
99th Percentile
Latency, ms
(Scan)
41.6 209.3 - 3.4 20.5
© ALTOROS | CONFIDENTIAL 15
Performance comparison
0
20 000
40 000
60 000
80 000
100 000
120 000
140 000
Throughput(ops/sec)
Database comparison
Couchbase
Mongo
Cassandra
Riak
MySql
© ALTOROS | CONFIDENTIAL
Node failure verification – 18 nodes
16
Stability tests - Couchbase
Login Profile registration
Number of
failed nodes
Throughput,
ops/sec
Scan,
average
latency, ms
Update,
average
latency, ms
Throughput,
ops/sec
Scan,
average
latency, ms
Insert,
average
latency, ms
1–6 4,450 17.1 0.7 4,600 86 0.8
>7 3,120 20 0.7 4,020 90 1.1
Region failure verification.
Bucket name Sync throughput per cluster,
ops/sec
Sync throughput per node,
ops/sec
SportActivity 115,000 19,167
Users 111,000 18,500
Inventory 122,000 20,333
© ALTOROS | CONFIDENTIAL
Node failure verification – 9 nodes
17
Stability tests - MongoDB
Region failure verification, issues found
Profile registration Login
Number of failed
nodes
Throughput,
ops/sec
Scan,
average
latency, ms
Update,
average
latency, ms
Throughput,
ops/sec
Read,
average
latency, ms
Insert,
average
latency, ms
1–3 8,721 6.3 24.2 58.9 6.7 63.0
 > 4 data nodes – all open client connections are closed
 1 or 2 configuration servers unavailable - cluster metadata becomes read only
 Error inserting data, when two master nodes failed in the “remote” data center
 Primary node cannot be elected or the state between the elections
© ALTOROS | CONFIDENTIAL
Node failure verification – 9 nodes
18
Stability tests - Cassandra
 9 data nodes in 3 groups, replica factor 3
 Each 3 minutes one node in each group was stopped (except seed node)
Login
The overall run time, min The overall throughput, ops/sec Operations
22 4,543.9 6,000,000
Order create
The overall run time, min The overall throughput, ops/sec Operations
10.8 6,935.2 4,500,000
Profile registration
The overall run time, min The overall throughput, ops/sec Operations
23.7 2,807.2 4,000,000
© ALTOROS | CONFIDENTIAL
Couchbase
19
 In-memory database, additional memory for metatada:
Metadata = documents count * (metadata per document = 56 bytes + key size)
 Fast reads within 1ms when dataset fits in memory
 Views operations (profile registrations) consume CPU and show slow performance
 Continuous, asynchronous replication process between regions
Summary
MongoDB
 Good performance in some workloads
 Sensitive to availability of configuration servers – no chunk migrations or splits
 Replica set should have at least one primary and secondary node
 Only replica set can be geographically distributed between datacenters
© ALTOROS | CONFIDENTIAL
Cassandra
20
 Key-value + columnar data store
 Flexibility in configuring a cluster topology
 Very fast in inserting data, but keep in mind JVM garbage collection
 CQL3 (Cassandra Query Language) and support of prepared query statements
Summary
Riak
 Multiple back-ends within a single Riak instance
 No way to delete an entire non-empty bucket
 Map/Reduce code for scan and aggregation
MySQL NDB Cluster
 All cluster data is stored in memory – need backup
 Quite complex configuration – 3 types of processes
 Geographic replication is configured manually
© ALTOROS | CONFIDENTIAL 21
Choosing NoSQL solution
Sergey Sverchkov: sergey.sverchkov@altoros.com
Vitaly Rudenia: vitaly.rudenya@altoros.com
Altoros, 2014
Thank you

More Related Content

What's hot

Project Voldemort: Big data loading
Project Voldemort: Big data loadingProject Voldemort: Big data loading
Project Voldemort: Big data loadingDan Harvey
 
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data PlatformThe Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data PlatformAlluxio, Inc.
 
Alluxio Data Orchestration Platform for the Cloud
Alluxio Data Orchestration Platform for the CloudAlluxio Data Orchestration Platform for the Cloud
Alluxio Data Orchestration Platform for the CloudShubham Tagra
 
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...In-Memory Computing Summit
 
HBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to ContributeHBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to ContributeHBaseCon
 
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC timeHBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC timeMichael Stack
 
HBaseCon 2013: Apache HBase on Flash
HBaseCon 2013: Apache HBase on FlashHBaseCon 2013: Apache HBase on Flash
HBaseCon 2013: Apache HBase on FlashCloudera, Inc.
 
There and back_again_oracle_and_big_data_16x9
There and back_again_oracle_and_big_data_16x9There and back_again_oracle_and_big_data_16x9
There and back_again_oracle_and_big_data_16x9Gleb Otochkin
 
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsightHBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsightHBaseCon
 
Building tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systemsBuilding tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systemsRegunath B
 
Achieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud WorldAchieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud WorldAlluxio, Inc.
 
HBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at MeituanHBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at MeituanMichael Stack
 
Date-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series DataDate-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series DataHBaseCon
 
Presentation by TachyonNexus & Intel at Strata Singapore 2015
Presentation by TachyonNexus & Intel at Strata Singapore 2015Presentation by TachyonNexus & Intel at Strata Singapore 2015
Presentation by TachyonNexus & Intel at Strata Singapore 2015Tachyon Nexus, Inc.
 
HBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at XiaomiHBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at XiaomiMichael Stack
 
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...HBaseCon
 
HBaseCon 2015: HBase Operations in a Flurry
HBaseCon 2015: HBase Operations in a FlurryHBaseCon 2015: HBase Operations in a Flurry
HBaseCon 2015: HBase Operations in a FlurryHBaseCon
 
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ BloombergHBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ BloombergHBaseCon
 

What's hot (20)

Project Voldemort: Big data loading
Project Voldemort: Big data loadingProject Voldemort: Big data loading
Project Voldemort: Big data loading
 
RubiX
RubiXRubiX
RubiX
 
Google mesa
Google mesaGoogle mesa
Google mesa
 
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data PlatformThe Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
 
Alluxio Data Orchestration Platform for the Cloud
Alluxio Data Orchestration Platform for the CloudAlluxio Data Orchestration Platform for the Cloud
Alluxio Data Orchestration Platform for the Cloud
 
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
 
HBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to ContributeHBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to Contribute
 
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC timeHBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
 
HBaseCon 2013: Apache HBase on Flash
HBaseCon 2013: Apache HBase on FlashHBaseCon 2013: Apache HBase on Flash
HBaseCon 2013: Apache HBase on Flash
 
There and back_again_oracle_and_big_data_16x9
There and back_again_oracle_and_big_data_16x9There and back_again_oracle_and_big_data_16x9
There and back_again_oracle_and_big_data_16x9
 
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsightHBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
 
Building tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systemsBuilding tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systems
 
Achieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud WorldAchieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud World
 
HBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at MeituanHBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at Meituan
 
Date-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series DataDate-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series Data
 
Presentation by TachyonNexus & Intel at Strata Singapore 2015
Presentation by TachyonNexus & Intel at Strata Singapore 2015Presentation by TachyonNexus & Intel at Strata Singapore 2015
Presentation by TachyonNexus & Intel at Strata Singapore 2015
 
HBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at XiaomiHBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at Xiaomi
 
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
 
HBaseCon 2015: HBase Operations in a Flurry
HBaseCon 2015: HBase Operations in a FlurryHBaseCon 2015: HBase Operations in a Flurry
HBaseCon 2015: HBase Operations in a Flurry
 
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ BloombergHBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
 

Viewers also liked

Ed Snelson. Counterfactual Analysis
Ed Snelson. Counterfactual AnalysisEd Snelson. Counterfactual Analysis
Ed Snelson. Counterfactual AnalysisVolha Banadyseva
 
Ramunas Urbonas. The Journey
Ramunas Urbonas. The JourneyRamunas Urbonas. The Journey
Ramunas Urbonas. The JourneyVolha Banadyseva
 
Thomas Jensen. Machine Learning
Thomas Jensen. Machine LearningThomas Jensen. Machine Learning
Thomas Jensen. Machine LearningVolha Banadyseva
 
Tadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraTadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraVolha Banadyseva
 
Dionizas Antipenkovas. Big Data Intro
Dionizas Antipenkovas. Big Data IntroDionizas Antipenkovas. Big Data Intro
Dionizas Antipenkovas. Big Data IntroVolha Banadyseva
 
Andrei Kirilenkov. Vertica
Andrei Kirilenkov. VerticaAndrei Kirilenkov. Vertica
Andrei Kirilenkov. VerticaVolha Banadyseva
 
Ernestas Sysojevas. Hadoop Essentials and Ecosystem
Ernestas Sysojevas. Hadoop Essentials and EcosystemErnestas Sysojevas. Hadoop Essentials and Ecosystem
Ernestas Sysojevas. Hadoop Essentials and EcosystemVolha Banadyseva
 

Viewers also liked (7)

Ed Snelson. Counterfactual Analysis
Ed Snelson. Counterfactual AnalysisEd Snelson. Counterfactual Analysis
Ed Snelson. Counterfactual Analysis
 
Ramunas Urbonas. The Journey
Ramunas Urbonas. The JourneyRamunas Urbonas. The Journey
Ramunas Urbonas. The Journey
 
Thomas Jensen. Machine Learning
Thomas Jensen. Machine LearningThomas Jensen. Machine Learning
Thomas Jensen. Machine Learning
 
Tadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraTadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to Cassandra
 
Dionizas Antipenkovas. Big Data Intro
Dionizas Antipenkovas. Big Data IntroDionizas Antipenkovas. Big Data Intro
Dionizas Antipenkovas. Big Data Intro
 
Andrei Kirilenkov. Vertica
Andrei Kirilenkov. VerticaAndrei Kirilenkov. Vertica
Andrei Kirilenkov. Vertica
 
Ernestas Sysojevas. Hadoop Essentials and Ecosystem
Ernestas Sysojevas. Hadoop Essentials and EcosystemErnestas Sysojevas. Hadoop Essentials and Ecosystem
Ernestas Sysojevas. Hadoop Essentials and Ecosystem
 

Similar to Сергей Сверчков и Виталий Руденя. Choosing a NoSQL database

Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2Gianluca Hotz
 
(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon RedshiftAmazon Web Services
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahuDr. Prakash Sahu
 
Introducing Azure SQL Database
Introducing Azure SQL DatabaseIntroducing Azure SQL Database
Introducing Azure SQL DatabaseJames Serra
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 noveltiesMSDEVMTL
 
Best Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and DeltaBest Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and DeltaDatabricks
 
Data & Analytics Forum: Moving Telcos to Real Time
Data & Analytics Forum: Moving Telcos to Real TimeData & Analytics Forum: Moving Telcos to Real Time
Data & Analytics Forum: Moving Telcos to Real TimeSingleStore
 
Architetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure FunctionsArchitetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure FunctionsMassimo Bonanni
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availabilityPeter Gfader
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureDataStax Academy
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudVitor Oliveira
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesComunidade NetPonto
 
Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019Jovan Popovic
 
Iwsm2014 performance measurement for cloud computing applications using iso...
Iwsm2014   performance measurement for cloud computing applications using iso...Iwsm2014   performance measurement for cloud computing applications using iso...
Iwsm2014 performance measurement for cloud computing applications using iso...Nesma
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarOrient Technologies
 

Similar to Сергей Сверчков и Виталий Руденя. Choosing a NoSQL database (20)

Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2
 
(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
Introducing Azure SQL Database
Introducing Azure SQL DatabaseIntroducing Azure SQL Database
Introducing Azure SQL Database
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 novelties
 
Best Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and DeltaBest Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and Delta
 
Data & Analytics Forum: Moving Telcos to Real Time
Data & Analytics Forum: Moving Telcos to Real TimeData & Analytics Forum: Moving Telcos to Real Time
Data & Analytics Forum: Moving Telcos to Real Time
 
QSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load RunnerQSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load Runner
 
Architetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure FunctionsArchitetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure Functions
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availability
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & Azure
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the Cloud
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
 
Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019
 
11g R2
11g R211g R2
11g R2
 
Oracle
OracleOracle
Oracle
 
Iwsm2014 performance measurement for cloud computing applications using iso...
Iwsm2014   performance measurement for cloud computing applications using iso...Iwsm2014   performance measurement for cloud computing applications using iso...
Iwsm2014 performance measurement for cloud computing applications using iso...
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - Webinar
 

More from Volha Banadyseva

Андрей Светлов. Aiohttp
Андрей Светлов. AiohttpАндрей Светлов. Aiohttp
Андрей Светлов. AiohttpVolha Banadyseva
 
Сергей Зефиров
Сергей ЗефировСергей Зефиров
Сергей ЗефировVolha Banadyseva
 
Валерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИРВалерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИРVolha Banadyseva
 
Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»Volha Banadyseva
 
Татьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУТатьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУVolha Banadyseva
 
Trillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital TrendsTrillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital TrendsVolha Banadyseva
 
Александр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернетеАлександр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернетеVolha Banadyseva
 
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в storeМастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в storeVolha Banadyseva
 
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App StoreБахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App StoreVolha Banadyseva
 
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...Volha Banadyseva
 
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google PlayЕвгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google PlayVolha Banadyseva
 
Евгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипированияЕвгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипированияVolha Banadyseva
 
Егор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложенийЕгор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложенийVolha Banadyseva
 
Станислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформСтанислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформVolha Banadyseva
 
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...Volha Banadyseva
 
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...Volha Banadyseva
 
Юлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитиеЮлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитиеVolha Banadyseva
 
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позжеАлександр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позжеVolha Banadyseva
 

More from Volha Banadyseva (20)

Андрей Светлов. Aiohttp
Андрей Светлов. AiohttpАндрей Светлов. Aiohttp
Андрей Светлов. Aiohttp
 
Сергей Зефиров
Сергей ЗефировСергей Зефиров
Сергей Зефиров
 
Eugene Burmako
Eugene BurmakoEugene Burmako
Eugene Burmako
 
Heather Miller
Heather MillerHeather Miller
Heather Miller
 
Валерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИРВалерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИР
 
Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»
 
Татьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУТатьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУ
 
Trillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital TrendsTrillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital Trends
 
Александр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернетеАлександр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернете
 
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в storeМастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
 
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App StoreБахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
 
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
 
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google PlayЕвгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
 
Евгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипированияЕвгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипирования
 
Егор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложенийЕгор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложений
 
Станислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформСтанислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформ
 
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
 
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
 
Юлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитиеЮлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитие
 
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позжеАлександр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
 

Recently uploaded

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Сергей Сверчков и Виталий Руденя. Choosing a NoSQL database

  • 1. © ALTOROS | CONFIDENTIAL Choosing a NoSQL: a Real-Life Case Sergey Sverchkov, Project Manager Vitaly Rudenia, Java Team Lead
  • 2. © ALTOROS | CONFIDENTIAL 2 Business goals  Improve scalability of the Oracle-based solution  Get benefits of clouds  Provide high availability and excellent performance  Add geographic redundancy Web performance vs. revenue
  • 3. © ALTOROS | CONFIDENTIAL 3 How we did it:  Arranged data stores by categories (key-value, document, relational / ACID)  Identified key criteria  Measured performance  Checked stability and scalability How to choose a database?
  • 4. © ALTOROS | CONFIDENTIAL 4 Evaluation criteria Selection Criteria Importance Score Multi-data center bi-directional replication 10 Support for active/active reads/writes across regions 10/9 Auto resynchronization of data between regions 10 Support for encryption of data replication traffic across regions 10 Configurable replication factor 9 Tunable consistency for reads and writes 9 Survive loss of nodes and up to an entire region 8 Ability to add nodes in a cluster and rebalance data 8 Rich Query and Indexing capabilities 8 Security: Kerberos or similar authentication models 7 Backup/Recovery: Ability to perform live snapshots and restore 6 Bulk Loading and Extract/Dump capability; adapters for data transfer to Hadoop 3 Support for counters / sequence type structures 3
  • 5. © ALTOROS | CONFIDENTIAL 5 Compared data stores Relational Key-Value Document- oriented Column family MySQL Cluster Redis MongoDB Cassandra Oracle 12c MySQL HandlerSocket Couchbase Vertica MariaDB Berkeley DB CouchDB Teradata VoltDB Project Voldemort MarkLogic Server Accumulo NuoDB Riak HBase Vertica
  • 6. © ALTOROS | CONFIDENTIAL 6 The benchmark framework Amazon EC2 nodes for database cluster: - i2.4xlarge: vCPU=16, RAM=122 GB, Storage=4x800 GB SSD in RAID0 - 3 availability zones in one region - a single security group
  • 7. © ALTOROS | CONFIDENTIAL Initial data sets 7 Data loading statistics Entity Name Number of Records Size of a Record, KB Users 69,278,283 14.5 Orders 5,000,000 0.5 Inventory 99,923 0.0016 Activity 422,227,370 28.4 Database name Load Time (hr) Number of Threads Throughput Average Latency (ms) Couchbase 11.2 10 12,335 0.6 MongoDB 9.8 10 14,000 0.4 Riak 10.2 10 13,990 4 Cassandra ~4 10 - - MySQL 8.9 10 15,340 1.3 Loading statistics
  • 8. © ALTOROS | CONFIDENTIAL 8 Benchmarking workloads Workload description Operations 1. Device Payload upload Insert 2. Add to Shopping Cart - with inventory check/update Read, Insert 3. Profile registrations Read, Insert 4. Login + Token (update of last login) Read, Update 5. Order create Read, Update, Insert 6. Activity List - Last 30 activities for a user Read (range of records) 7. Activity Detail - Details of a single activity based on id Read (single record) 8. Aggregation for the last 30 days for a user Read and aggregate 9. Delete of activity based on id Delete 10. Profile search - based on First and Last name Read
  • 9. © ALTOROS | CONFIDENTIAL 9 Initial data model
  • 10. © ALTOROS | CONFIDENTIAL 10 Steps: 1. Generate SYNC_ID 2. Read PAYLOAD value from pre-generated file 3. Insert new record (SYNC_ID, PAYLOAD) into SYNC Performance results, 10 parallel threads Workload: Device sync Parameter Couchbase MongoDB Riak Cassandra MySQL Throughput (ops/sec) 38,520 150 14,302 21,672 5,786 Average Latency, ms (Insert) 1.7 451.1 5.1 4.0 10.2 95th Percentile Latency, ms (Insert) 1.4 220.9 6.1 3.3 14.0 99th Percentile Latency, ms (Insert) 3.2 561.7 12.7 43.4 14.0
  • 11. © ALTOROS | CONFIDENTIAL 11 Steps: 1. Retrieve row from INVENTORY with given SKU_ID 2. Generate ORDER_ID (STATE=‘INCOMPLETE’) 3. Insert new Order to ORDERS Performance results, 10 parallel threads Workload: Add to Shopping Cart Parameter Couchbase MongoDB Riak Cassandra MySQL Throughput (ops/sec) 54,335 10,126 15,023 46,369 8,319 Average Latency, ms (Insert / Read) 0.7 / 0.7 7.6 / 1.2 2.7 / 1.6 0.9 / 1.0 8.4 / 3.7 95th Percentile Latency, ms (Insert / Read) 1.1 / 1.1 20.1 / 1.6 3.5 / 2.4 2.4 / 2.4 11.5 / 5.4 99th Percentile Latency, ms (Insert / Read) 1.4 / 1.4 34.2 / 2.7 4.9 / 3.3 4.4 / 5.9 13.2 / 6.5
  • 12. © ALTOROS | CONFIDENTIAL 12 Steps: 1. Generate a unique USER_ID, FIRST_NAME, LAST_NAME 2. Set email as FIRST_NAME.LAST_NAME@poctest.com 3. Read USER verifying that record doesn’t exist 4. Insert new record into USER Performance results, 10 parallel threads Workload: Profile registrations Parameter Couchbase MongoDB Riak Cassandra MySQL Throughput (ops/sec) 4,521 3,800 24,807 31,490 8,346 Average Latency, ms (Insert/Read) 0.8 / 16.9 64 / 5.7 3.1 / - 1.4 / 1.4 8.5 / 2.2 95th Percentile Latency, ms (Insert/Read) 1.2 / 25.5 133.1 / 156 4.3 / - 2.4 / 2.4 11.9 / 4.1 99th Percentile Latency, ms (Insert/Read) 1.4 / 34.1 197.6 / 29.9 5.3 / - 4.4 / 5.1 13.6 / 5.4
  • 13. © ALTOROS | CONFIDENTIAL 13 Steps: 1. Read a row from INVENTORY based on SKU_ID 2. Update INVENTORY for SKU_ID 3. INSERT to ORDERS(STATE=‘COMPLETE’) Performance results, 10 parallel threads Workload: Order Create Parameter Couchbase MongoDB Riak Cassandra MySQL Throughput (ops/sec) 27,436 4,259 5,339 98,105 3,023 Average Latency, ms (Update / Insert / Read) 0.7 / 0.8 / 0.7 27.2 / 3.1 / 3.8 4.7 / 2.8 / 1.7 0.8 / 0.8 / 1.5 11.4 / 8.1 / 3.5 95th Percentile Latency, ms (Update / Insert / Read) 1.1 / 1.1 / 1.1 57.5 / 6.4 / 8.7 6.7 / 4.1 / 2.4 1.3 / 1.3 / 3.4 16.0 / 10.9 / 4.8 99th Percentile Latency, ms (Update / Insert / Read) 1.4 / 2 / 2 90.1 / 18.3 / 18.7 8.8 / 5.4 / 3.3 2.4 / 2.4 / 7.5 18.9 / 12.1 / 5.7
  • 14. © ALTOROS | CONFIDENTIAL 14 Steps: 1. Aggregate the last 30 activities from SPORT_ACTIVITY Performance results, 10 parallel threads Workload: Aggregate last 30 activities Parameter Couchbase MongoDB Riak Cassandra MySQL Throughput (ops/sec) 3,783 9,285 - 60,713 9,195 Average Latency, ms (Scan) 21.1 29 - 1.3 6.5 95th Percentile Latency, ms (Scan) 33.1 114.1 - 2.3 12.8 99th Percentile Latency, ms (Scan) 41.6 209.3 - 3.4 20.5
  • 15. © ALTOROS | CONFIDENTIAL 15 Performance comparison 0 20 000 40 000 60 000 80 000 100 000 120 000 140 000 Throughput(ops/sec) Database comparison Couchbase Mongo Cassandra Riak MySql
  • 16. © ALTOROS | CONFIDENTIAL Node failure verification – 18 nodes 16 Stability tests - Couchbase Login Profile registration Number of failed nodes Throughput, ops/sec Scan, average latency, ms Update, average latency, ms Throughput, ops/sec Scan, average latency, ms Insert, average latency, ms 1–6 4,450 17.1 0.7 4,600 86 0.8 >7 3,120 20 0.7 4,020 90 1.1 Region failure verification. Bucket name Sync throughput per cluster, ops/sec Sync throughput per node, ops/sec SportActivity 115,000 19,167 Users 111,000 18,500 Inventory 122,000 20,333
  • 17. © ALTOROS | CONFIDENTIAL Node failure verification – 9 nodes 17 Stability tests - MongoDB Region failure verification, issues found Profile registration Login Number of failed nodes Throughput, ops/sec Scan, average latency, ms Update, average latency, ms Throughput, ops/sec Read, average latency, ms Insert, average latency, ms 1–3 8,721 6.3 24.2 58.9 6.7 63.0  > 4 data nodes – all open client connections are closed  1 or 2 configuration servers unavailable - cluster metadata becomes read only  Error inserting data, when two master nodes failed in the “remote” data center  Primary node cannot be elected or the state between the elections
  • 18. © ALTOROS | CONFIDENTIAL Node failure verification – 9 nodes 18 Stability tests - Cassandra  9 data nodes in 3 groups, replica factor 3  Each 3 minutes one node in each group was stopped (except seed node) Login The overall run time, min The overall throughput, ops/sec Operations 22 4,543.9 6,000,000 Order create The overall run time, min The overall throughput, ops/sec Operations 10.8 6,935.2 4,500,000 Profile registration The overall run time, min The overall throughput, ops/sec Operations 23.7 2,807.2 4,000,000
  • 19. © ALTOROS | CONFIDENTIAL Couchbase 19  In-memory database, additional memory for metatada: Metadata = documents count * (metadata per document = 56 bytes + key size)  Fast reads within 1ms when dataset fits in memory  Views operations (profile registrations) consume CPU and show slow performance  Continuous, asynchronous replication process between regions Summary MongoDB  Good performance in some workloads  Sensitive to availability of configuration servers – no chunk migrations or splits  Replica set should have at least one primary and secondary node  Only replica set can be geographically distributed between datacenters
  • 20. © ALTOROS | CONFIDENTIAL Cassandra 20  Key-value + columnar data store  Flexibility in configuring a cluster topology  Very fast in inserting data, but keep in mind JVM garbage collection  CQL3 (Cassandra Query Language) and support of prepared query statements Summary Riak  Multiple back-ends within a single Riak instance  No way to delete an entire non-empty bucket  Map/Reduce code for scan and aggregation MySQL NDB Cluster  All cluster data is stored in memory – need backup  Quite complex configuration – 3 types of processes  Geographic replication is configured manually
  • 21. © ALTOROS | CONFIDENTIAL 21 Choosing NoSQL solution Sergey Sverchkov: sergey.sverchkov@altoros.com Vitaly Rudenia: vitaly.rudenya@altoros.com Altoros, 2014 Thank you