SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
SQL, NoSQL, Distributed SQL:
Choose your DataStore Carefully
Md Kamaruzzaman
About Me
Md Kamaruzzaman
Lead Software Architect
Blog: https://md-kamaruzzaman.medium.com/
Twitter: @KamaruzzMd
DataStore Types
Relational
Database
(SQL)
Key-Value
Store
Document
Database
Graph
Database
Columnnar
Database
Wide
Column
Store
Time Series
Database
Graph
Database
In-Memory
Database
Search
Engine
Object
Oriented
Database
Spatial
Database
NewSQL
Distributed
SQL
Data
Warehouse
Object
Storage
Why Right DataStore Matters?
One size does
not fit all
Fulfil the
Functional
Requirements
Fulfil the
Non-Functional
Requirements
Avoid rewriting
the Code due to
DataStore
change
Reduce
migration cost
Enable faster
development
Reduce
operational cost
Reduce
maintenance
cost
CAP Theorem
Distributed DataStore: Data is stored in more than one
Node (using Sharding and Replication)
Consistency: All clients see the same
view of data, even right after update or
delete
Availability: All clients can always read and write
Partition-tolerance: The system continues
to work as expected in case of network partition
(communication loss or delay between nodes).
Relational Database (SQL)
Key Features:
• Based on E.F. Codd’s paper on RDBMS (1970)
• Table based and relational
• Multi-table, multi-row ACID transactional guarantee
• Vertically scalable
• Referential integrity
• Normalization of Data
• Structured Query language (SQL)
• Battle-tested
• Sharding is managed by the Application/Middleware
• CA
• Example: PostgreSQL, Oracle, MS-SQL, MySQL
Relational
Database
When to use:
• As OLTP Database with ACID transactional guarantee
• Structured Data
• Vertically scalable Data
• Data is relational
When not to use:
• As OLAP Database
• Semi-structured (e.g. JSON, XML) or unstructured
Data
• Horizontal scalability
• Geographic Data distribution is required
• Data is extremely relational
Key-Value Store
Key Features:
• Data structure is Key-Value pair (HashTable)
• Value can be wide range of data structures (objects)
• Horizontally scalable using shared-nothing sharding
• Sharding is managed by the Database
• Schemaless
• Data redundancy and duplication due to denormalization
• In memory Key-Value store can be used as distributed Cache
• CP or AP
• Example: Redis, Memcached, RocksDB
Key-Value
Store
When to use:
• As OLTP Database with no ACID transactional
guarantee
• High throughput, low latency Read/Write
• Horizontal scalability with sharding managed by the
Database
• Large amount of Dataset
• In-Memory Key-Value Store:
• Improved database access performance
• CMS, Real-time systems
When not to use:
• Dataset is small
• As OLTP Database with ACID transactional guarantee
• As OLAP Database
• Data is extremely relational
Document Database
Key Features:
• Database to store semi-structured Data (e.g. JSON, XML)
• Schemaless
• Multi-document ACID transactional guarantee
• Data redundancy and duplication due to denormalization
• Horizontally scalable
• Sharding is managed by the Database
• CP or AP
• Example: MongoDB, CouchDB
Document
Database
When to use:
• As OLTP Database with limited ACID transactional
guarantee
• Data is semi-structured with advanced query features
• Rapid application development
• Data is schemaless
• Horizontal scaling with sharding managed by the Database
• Documents give better performance over normalized table
due to data structure
When not to use:
• Data is structured
• As OLAP Database (OLAP)
• Multi-table (collection) ACID transactional guarantee is
needed
• Data is extremely relational
Wide Column Store
Key Features:
• Two dimensional key-value store
• Column families are stored separately
• Schemaless
• Horizontally scalable with shared nothing sharding
• Sharding is managed by the Database
• Data redundancy and duplication due to denormalization
• AP
• Low latency write operations
• Example: Cassandra, ScyllaDB, BigTable
Distributed
Wide Column
Store
When to use:
• As OLTP Database with no ACID transactional
guarantee
• Planet scale database with massive amount of
write/read
• Near linear horizontal scalability with sharding
managed by the Database
• Extremely large amount of Dataset
• As OLAP Database with additional OLAP tools (e.g.
Spark)
• Extremely low latency write/read
When not to use:
• As OLTP Database with ACID transactional guarantee
• Dataset is small
• Data is extremely relational
• Data is document (e.g. JSON)
Graph Database
Key Features:
• Use Graph Data structure (nodes,
edges, properties)
• Relationships are first class citizens
• Optimal for highly connected Dataset
• Use Graph Algorithms (e.g. Graph Traversal)
for faster queries.
• ACID Transactional guarantee.
• CP
• Example: Neo4j, Gremlin
Source: https://neo4j.com
Graph
Database
When to use:
• Data is extremely relational
• Relationship in the Data is very important
• As OLTP Database with ACID transactional guarantee
• Schema is evolving
When not to use:
• As analytics Database (OLAP)
• Data is not relational (disconnected) or lowly
relational
• Data is Document
• Key-Value store
Distributed SQL
Key Features:
• Table based and relational
• Multi-table, multi-row ACID transactional guarantee within some constraint (e.g. in Availability
zones)
• Horizontally scalable
• Sharding is managed by the Database
• Geographic Data Distribution
• Referential integrity
• Structured Query language (SQL)
• CP with very high availability
• Example: Google Spanner, CockroachDB, YugabyteDB
Distributed
SQL
When to use:
• As OLTP Database with ACID transactional guarantee
• Near linear horizontal scalability with sharding managed
by the Database
• Consistency, Availability and Partition-tolerance within an
SLA
• Geographic Data distribution is required
• Data is structured and relational
When not to use:
• Geographic Data distribution is not required
• Lower Database price is desired
• As OLAP Database
• Semi-structured (e.g. JSON, XML) or unstructured Data
• Vertically scalable data
• Data is extremely relational
Search Engine
Key Features:
• Provide Full-text search using Inverted Index
• Supports stop-word, synonyms, auto correction
• Data is structured or semi-structured
• Horizontally scalable
• Geo queries (location based search)
• CP
• Example: Apache Solr, Elasticsearch
Source: https://community.hitachivantara.com
Search Engine
When to use:
• Moderate to advanced full-text search is needed
• Horizontal scalability with sharding managed by
the Database
• GEO search is needed
• Structured or semi-structured data (e.g. Log Data,
JSON, XML)
When not to use:
• As operational Database (OLTP)
• As analytics Database (OLAP)
• Data is extremely relational
Object Storage
Key Features:
• Manages Data as objects
• Store Data as well as Metadata (Unique ID, Security Info)
• Single Repository (Flat hierarchy)
• REST API for CRUD operations
• Used mainly for unstructured and semi-structured data
• Provide globally unique identifier to access the data
• AP
• Data replication and data distribution at object-level granularity
• Example: Amazon S3, Azure Blob Storage, Google Cloud Storage
Object
Storage
When to use:
• To store unstructured and semi-structured data with
Object level granularity (e.g. Streaming Videos, Images,
CSV/XML files, Backups)
• High availability and high durability
• To reduce cost
• As Data lake
• Automatic Backup and Redundancy
When not to use:
• As operation Database (OLTP)
• As analytical Database (OLAP)
• Block Storage, directories
• Structured data
Data Warehouse
Key Features:
• Large-scale Analytical (OLAP) Database
• Data abstraction is structed and relational
• Central repositories of all analytical data
• Columnar store
• Supports SQL
• Horizontally Scalabale
• AP
• Massively Parallel Processing (MPP)
• Efficient distributed query execution engine
• Petabyte, Exabyte scale dataset
• Example: Google BigQuery, Snowflake, Amazon Redshift
Source: https://datawarehouseinfo.com
Data
Warehouse
When to use:
• As Analytical Database with Complex analytical queries
• Extremely large Dataset (Petabyte)
• Limitless scaling
• Faster querying for large-scale database
• BI and advanced analytics are critical for the company
• Value added features like Machine Learning
When not to use:
• As operation Database (OLTP)
• Dataset is small
• Data Warehouse is overkill for the company due to
price or nature of business
• OLTP Databases or Data Lakes are used for Analytics
Which DataStore to Choose?
Future
One size fits many
Hybrid Transactional/Analytical Processing (HTAP)
Multi-Model Database
SQL, NoSQL will learn from each other
Multi-Cloud Database-as-a-Service (DBaaS)
Serverless Database
Specialized Hardware for different Database
Many new Databases

Mais conteúdo relacionado

Mais procurados

Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Manik Surtani
 
Apache Spark Based Reliable Data Ingestion in Datalake with Gagan Agrawal
Apache Spark Based Reliable Data Ingestion in Datalake with Gagan AgrawalApache Spark Based Reliable Data Ingestion in Datalake with Gagan Agrawal
Apache Spark Based Reliable Data Ingestion in Datalake with Gagan Agrawal
Databricks
 
Membase Meetup 2010
Membase Meetup 2010Membase Meetup 2010
Membase Meetup 2010
Membase
 

Mais procurados (20)

NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
In Search of Database Nirvana: Challenges of Delivering HTAP
In Search of Database Nirvana: Challenges of Delivering HTAPIn Search of Database Nirvana: Challenges of Delivering HTAP
In Search of Database Nirvana: Challenges of Delivering HTAP
 
Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
 
Solr cloud the 'search first' nosql database extended deep dive
Solr cloud the 'search first' nosql database   extended deep diveSolr cloud the 'search first' nosql database   extended deep dive
Solr cloud the 'search first' nosql database extended deep dive
 
Rdbms vs. no sql
Rdbms vs. no sqlRdbms vs. no sql
Rdbms vs. no sql
 
E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres
 
introduction to Neo4j (Tabriz Software Open Talks)
introduction to Neo4j (Tabriz Software Open Talks)introduction to Neo4j (Tabriz Software Open Talks)
introduction to Neo4j (Tabriz Software Open Talks)
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL Database
 
Apache Spark Based Reliable Data Ingestion in Datalake with Gagan Agrawal
Apache Spark Based Reliable Data Ingestion in Datalake with Gagan AgrawalApache Spark Based Reliable Data Ingestion in Datalake with Gagan Agrawal
Apache Spark Based Reliable Data Ingestion in Datalake with Gagan Agrawal
 
Big Data Day LA 2015 - NoSQL: Doing it wrong before getting it right by Lawre...
Big Data Day LA 2015 - NoSQL: Doing it wrong before getting it right by Lawre...Big Data Day LA 2015 - NoSQL: Doing it wrong before getting it right by Lawre...
Big Data Day LA 2015 - NoSQL: Doing it wrong before getting it right by Lawre...
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
Introduction to NOSQL databases
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databases
 
Scalability truths and serverless architectures
Scalability truths and serverless architecturesScalability truths and serverless architectures
Scalability truths and serverless architectures
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Membase Meetup 2010
Membase Meetup 2010Membase Meetup 2010
Membase Meetup 2010
 
Prepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBPrepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDB
 
Presto Strata London 2019: Cost-Based Optimizer for interactive SQL on anything
Presto Strata London 2019: Cost-Based Optimizer for interactive SQL on anythingPresto Strata London 2019: Cost-Based Optimizer for interactive SQL on anything
Presto Strata London 2019: Cost-Based Optimizer for interactive SQL on anything
 
Horizon for Big Data
Horizon for Big DataHorizon for Big Data
Horizon for Big Data
 
SQL vs NoSQL: Big Data Adoption & Success in the Enterprise
SQL vs NoSQL: Big Data Adoption & Success in the EnterpriseSQL vs NoSQL: Big Data Adoption & Success in the Enterprise
SQL vs NoSQL: Big Data Adoption & Success in the Enterprise
 

Semelhante a SQL, NoSQL, Distributed SQL: Choose your DataStore carefully

UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
Rahul Borate
 
(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWS(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWS
Amazon Web Services
 
Colorado Springs Open Source Hadoop/MySQL
Colorado Springs Open Source Hadoop/MySQL Colorado Springs Open Source Hadoop/MySQL
Colorado Springs Open Source Hadoop/MySQL
David Smelker
 

Semelhante a SQL, NoSQL, Distributed SQL: Choose your DataStore carefully (20)

Comparative study of modern databases
Comparative study of modern databasesComparative study of modern databases
Comparative study of modern databases
 
Move your on prem data to a lake in a Lake in Cloud
Move your on prem data to a lake in a Lake in CloudMove your on prem data to a lake in a Lake in Cloud
Move your on prem data to a lake in a Lake in Cloud
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
 
Database Technologies
Database TechnologiesDatabase Technologies
Database Technologies
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data Architecture
 
Scaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQLScaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQL
 
Revision
RevisionRevision
Revision
 
NoSQL.pptx
NoSQL.pptxNoSQL.pptx
NoSQL.pptx
 
NOsql Presentation.pdf
NOsql Presentation.pdfNOsql Presentation.pdf
NOsql Presentation.pdf
 
amazon database
amazon databaseamazon database
amazon database
 
Managing storage on Prem and in Cloud
Managing storage on Prem and in CloudManaging storage on Prem and in Cloud
Managing storage on Prem and in Cloud
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
 
(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWS(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWS
 
SQL on Hadoop
SQL on HadoopSQL on Hadoop
SQL on Hadoop
 
Sql Bits 2020 - Designing Performant and Scalable Data Lakes using Azure Data...
Sql Bits 2020 - Designing Performant and Scalable Data Lakes using Azure Data...Sql Bits 2020 - Designing Performant and Scalable Data Lakes using Azure Data...
Sql Bits 2020 - Designing Performant and Scalable Data Lakes using Azure Data...
 
Colorado Springs Open Source Hadoop/MySQL
Colorado Springs Open Source Hadoop/MySQL Colorado Springs Open Source Hadoop/MySQL
Colorado Springs Open Source Hadoop/MySQL
 
No sql databases
No sql databasesNo sql databases
No sql databases
 
Architecting a datalake
Architecting a datalakeArchitecting a datalake
Architecting a datalake
 

Último

👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
karishmasinghjnh
 
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
gajnagarg
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
gajnagarg
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
amitlee9823
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
amitlee9823
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
amitlee9823
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
amitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
gajnagarg
 
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
gajnagarg
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
amitlee9823
 

Último (20)

Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
 
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - Almora
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
 
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 

SQL, NoSQL, Distributed SQL: Choose your DataStore carefully

  • 1. SQL, NoSQL, Distributed SQL: Choose your DataStore Carefully Md Kamaruzzaman
  • 2. About Me Md Kamaruzzaman Lead Software Architect Blog: https://md-kamaruzzaman.medium.com/ Twitter: @KamaruzzMd
  • 4. Why Right DataStore Matters? One size does not fit all Fulfil the Functional Requirements Fulfil the Non-Functional Requirements Avoid rewriting the Code due to DataStore change Reduce migration cost Enable faster development Reduce operational cost Reduce maintenance cost
  • 5. CAP Theorem Distributed DataStore: Data is stored in more than one Node (using Sharding and Replication) Consistency: All clients see the same view of data, even right after update or delete Availability: All clients can always read and write Partition-tolerance: The system continues to work as expected in case of network partition (communication loss or delay between nodes).
  • 6. Relational Database (SQL) Key Features: • Based on E.F. Codd’s paper on RDBMS (1970) • Table based and relational • Multi-table, multi-row ACID transactional guarantee • Vertically scalable • Referential integrity • Normalization of Data • Structured Query language (SQL) • Battle-tested • Sharding is managed by the Application/Middleware • CA • Example: PostgreSQL, Oracle, MS-SQL, MySQL
  • 7. Relational Database When to use: • As OLTP Database with ACID transactional guarantee • Structured Data • Vertically scalable Data • Data is relational When not to use: • As OLAP Database • Semi-structured (e.g. JSON, XML) or unstructured Data • Horizontal scalability • Geographic Data distribution is required • Data is extremely relational
  • 8. Key-Value Store Key Features: • Data structure is Key-Value pair (HashTable) • Value can be wide range of data structures (objects) • Horizontally scalable using shared-nothing sharding • Sharding is managed by the Database • Schemaless • Data redundancy and duplication due to denormalization • In memory Key-Value store can be used as distributed Cache • CP or AP • Example: Redis, Memcached, RocksDB
  • 9. Key-Value Store When to use: • As OLTP Database with no ACID transactional guarantee • High throughput, low latency Read/Write • Horizontal scalability with sharding managed by the Database • Large amount of Dataset • In-Memory Key-Value Store: • Improved database access performance • CMS, Real-time systems When not to use: • Dataset is small • As OLTP Database with ACID transactional guarantee • As OLAP Database • Data is extremely relational
  • 10. Document Database Key Features: • Database to store semi-structured Data (e.g. JSON, XML) • Schemaless • Multi-document ACID transactional guarantee • Data redundancy and duplication due to denormalization • Horizontally scalable • Sharding is managed by the Database • CP or AP • Example: MongoDB, CouchDB
  • 11. Document Database When to use: • As OLTP Database with limited ACID transactional guarantee • Data is semi-structured with advanced query features • Rapid application development • Data is schemaless • Horizontal scaling with sharding managed by the Database • Documents give better performance over normalized table due to data structure When not to use: • Data is structured • As OLAP Database (OLAP) • Multi-table (collection) ACID transactional guarantee is needed • Data is extremely relational
  • 12. Wide Column Store Key Features: • Two dimensional key-value store • Column families are stored separately • Schemaless • Horizontally scalable with shared nothing sharding • Sharding is managed by the Database • Data redundancy and duplication due to denormalization • AP • Low latency write operations • Example: Cassandra, ScyllaDB, BigTable
  • 13. Distributed Wide Column Store When to use: • As OLTP Database with no ACID transactional guarantee • Planet scale database with massive amount of write/read • Near linear horizontal scalability with sharding managed by the Database • Extremely large amount of Dataset • As OLAP Database with additional OLAP tools (e.g. Spark) • Extremely low latency write/read When not to use: • As OLTP Database with ACID transactional guarantee • Dataset is small • Data is extremely relational • Data is document (e.g. JSON)
  • 14. Graph Database Key Features: • Use Graph Data structure (nodes, edges, properties) • Relationships are first class citizens • Optimal for highly connected Dataset • Use Graph Algorithms (e.g. Graph Traversal) for faster queries. • ACID Transactional guarantee. • CP • Example: Neo4j, Gremlin Source: https://neo4j.com
  • 15. Graph Database When to use: • Data is extremely relational • Relationship in the Data is very important • As OLTP Database with ACID transactional guarantee • Schema is evolving When not to use: • As analytics Database (OLAP) • Data is not relational (disconnected) or lowly relational • Data is Document • Key-Value store
  • 16. Distributed SQL Key Features: • Table based and relational • Multi-table, multi-row ACID transactional guarantee within some constraint (e.g. in Availability zones) • Horizontally scalable • Sharding is managed by the Database • Geographic Data Distribution • Referential integrity • Structured Query language (SQL) • CP with very high availability • Example: Google Spanner, CockroachDB, YugabyteDB
  • 17. Distributed SQL When to use: • As OLTP Database with ACID transactional guarantee • Near linear horizontal scalability with sharding managed by the Database • Consistency, Availability and Partition-tolerance within an SLA • Geographic Data distribution is required • Data is structured and relational When not to use: • Geographic Data distribution is not required • Lower Database price is desired • As OLAP Database • Semi-structured (e.g. JSON, XML) or unstructured Data • Vertically scalable data • Data is extremely relational
  • 18. Search Engine Key Features: • Provide Full-text search using Inverted Index • Supports stop-word, synonyms, auto correction • Data is structured or semi-structured • Horizontally scalable • Geo queries (location based search) • CP • Example: Apache Solr, Elasticsearch Source: https://community.hitachivantara.com
  • 19. Search Engine When to use: • Moderate to advanced full-text search is needed • Horizontal scalability with sharding managed by the Database • GEO search is needed • Structured or semi-structured data (e.g. Log Data, JSON, XML) When not to use: • As operational Database (OLTP) • As analytics Database (OLAP) • Data is extremely relational
  • 20. Object Storage Key Features: • Manages Data as objects • Store Data as well as Metadata (Unique ID, Security Info) • Single Repository (Flat hierarchy) • REST API for CRUD operations • Used mainly for unstructured and semi-structured data • Provide globally unique identifier to access the data • AP • Data replication and data distribution at object-level granularity • Example: Amazon S3, Azure Blob Storage, Google Cloud Storage
  • 21. Object Storage When to use: • To store unstructured and semi-structured data with Object level granularity (e.g. Streaming Videos, Images, CSV/XML files, Backups) • High availability and high durability • To reduce cost • As Data lake • Automatic Backup and Redundancy When not to use: • As operation Database (OLTP) • As analytical Database (OLAP) • Block Storage, directories • Structured data
  • 22. Data Warehouse Key Features: • Large-scale Analytical (OLAP) Database • Data abstraction is structed and relational • Central repositories of all analytical data • Columnar store • Supports SQL • Horizontally Scalabale • AP • Massively Parallel Processing (MPP) • Efficient distributed query execution engine • Petabyte, Exabyte scale dataset • Example: Google BigQuery, Snowflake, Amazon Redshift Source: https://datawarehouseinfo.com
  • 23. Data Warehouse When to use: • As Analytical Database with Complex analytical queries • Extremely large Dataset (Petabyte) • Limitless scaling • Faster querying for large-scale database • BI and advanced analytics are critical for the company • Value added features like Machine Learning When not to use: • As operation Database (OLTP) • Dataset is small • Data Warehouse is overkill for the company due to price or nature of business • OLTP Databases or Data Lakes are used for Analytics
  • 25. Future One size fits many Hybrid Transactional/Analytical Processing (HTAP) Multi-Model Database SQL, NoSQL will learn from each other Multi-Cloud Database-as-a-Service (DBaaS) Serverless Database Specialized Hardware for different Database Many new Databases