SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
A primer to NOSQL
• RDBMS was not wrong – It was built for certain use cases
– Strongly defined schema, ACID properties, Transactional systems etc.
– Still, a great choice for those use cases
• Enterprise Apps are no longer just tabular data. They cover:
– Tabular data
– Relational data
– Social data
– Media
– Graphs
– Events
– Locations
– Text
Is RDBMS not good?
• As we hit high volumes, we ran into performance issues
• We started with optimization
– Indexes
– Materialized views for complex joins
– De-normalization
– Caching
• We then started clustering:
– Horizontal – separating reads and writes à resulted in Master/Slave systems à resulted in reads
from slaves and writes to master à resulted in inconsistent reads!
– Vertical – can’t implement joins across partitions, no referential integrity à results in rewrite of
applications
What is limiting in RDBMS
• We now have many applications that rely on RDBMS
• Vertical scaling is expensive
• Horizontal scaling is not sustainable
Catch 22 – The end of ACID?
• Of CAP [Consistency, Availability, Partitioning], we have to choose
à CP or AP or CA
• Choosing from CAP and Eventually Consistent is not so bad!
– DNS servers are actually also eventually consistent
• Settle for weaker consistency model
What is the compromise?
• NOSQL does not stand for No SQL, it means “Not Only SQL”
• It is not a replacement for RDBMS
• Follows CAP Theorem - Consistency, Availability, Partition
Tolerance
• BASE – [Basic Availability, Soft State, Eventual Consistency] at
cluster and ACID – [Atomicity, Consistency, Isolation, Durability] at
each node
NOSQL
• Flexible schema / schema less
• Horizontally scalable
• Cheaper compared to big name RDBMS
• Simple API as compared to SQL used with RDBMS
• Often distributed, partitioned, replicated
• Eventually consistent
Characteristics of NOSQL
• When RDBMS is too restrictive
• ACID support is not really needed
• Object to Relational mapping is not an impedance
• Capturing data from distributed sources
• Storing events/temporal data
• Polyglot persistence is needed
When to use NOSQL
Key Value
All of the data within
consists of an indexed key
and a value
Examples:
Dynamo DB,
Cassandra
Use cases:
Clickstream data
Logs etc.
Column Based
Designed for storing data
tables as sections of
columns of data, rather
than as rows
Examples:
Hbase,
SAP Hana
Use cases:
Internet search
Large volume applications
Document
Database
Expands the KeyValue
stores where documents
contain more complex – a
documents is assigned to
each key
Examples:
MongoDB
CouchDB
Use cases:
Mobile Web appls
Content management etc.
Graph
Database
Data whose relations are
well represented as a
graph
Has elements which are
interconnected with
undetermined number of
relations
Examples:
Polyglot
Neo4J
Use cases:
Recommendation engines
Geo-Spatial applications
NOSQL – Types, Examples, Use Cases

Contenu connexe

Tendances

Simple cloud reference architecture
Simple cloud reference architectureSimple cloud reference architecture
Simple cloud reference architecture
DaeMyung Kang
 

Tendances (20)

SPA vs. MPA
SPA vs. MPASPA vs. MPA
SPA vs. MPA
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data Architecture
 
Supercharge your RDBMS with Elasticsearch
Supercharge your RDBMS with ElasticsearchSupercharge your RDBMS with Elasticsearch
Supercharge your RDBMS with Elasticsearch
 
No SQL
No SQLNo SQL
No SQL
 
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
 
Meta cloud architecture for the mobile agile enterprise
Meta cloud architecture for the mobile agile enterpriseMeta cloud architecture for the mobile agile enterprise
Meta cloud architecture for the mobile agile enterprise
 
Architecture Of Large Scale Websites
Architecture Of Large Scale WebsitesArchitecture Of Large Scale Websites
Architecture Of Large Scale Websites
 
Store
StoreStore
Store
 
Maximizing performance via tuning and optimization
Maximizing performance via tuning and optimizationMaximizing performance via tuning and optimization
Maximizing performance via tuning and optimization
 
Sql2017 in memory oltp for developers
Sql2017 in memory oltp for developersSql2017 in memory oltp for developers
Sql2017 in memory oltp for developers
 
Mongo db groundup-0-nosql-intro-syedawasekhirni
Mongo db groundup-0-nosql-intro-syedawasekhirniMongo db groundup-0-nosql-intro-syedawasekhirni
Mongo db groundup-0-nosql-intro-syedawasekhirni
 
Migrating to Cassandra
Migrating to CassandraMigrating to Cassandra
Migrating to Cassandra
 
Einführung: MariaDB heute und unsere Vision für die Zukunft
Einführung: MariaDB heute und unsere Vision für die ZukunftEinführung: MariaDB heute und unsere Vision für die Zukunft
Einführung: MariaDB heute und unsere Vision für die Zukunft
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache Cassandra
 
Soa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesSoa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web services
 
Amazon simple db
Amazon simple dbAmazon simple db
Amazon simple db
 
No sql databases
No sql databasesNo sql databases
No sql databases
 
Simple cloud reference architecture
Simple cloud reference architectureSimple cloud reference architecture
Simple cloud reference architecture
 
Redux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applicationsRedux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applications
 
Cosmosdb graph
Cosmosdb graphCosmosdb graph
Cosmosdb graph
 

Similaire à Nosql primer

Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
Don Demcsak
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
Adi Challa
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
Qian Lin
 

Similaire à Nosql primer (20)

Mongo db model relationships with documents
Mongo db model relationships with documentsMongo db model relationships with documents
Mongo db model relationships with documents
 
Cassandra Architecture FTW
Cassandra Architecture FTWCassandra Architecture FTW
Cassandra Architecture FTW
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot Persistence
 
Scaling RDBMS on AWS- ClustrixDB @AWS Meetup 20160711
Scaling RDBMS on AWS- ClustrixDB @AWS Meetup 20160711Scaling RDBMS on AWS- ClustrixDB @AWS Meetup 20160711
Scaling RDBMS on AWS- ClustrixDB @AWS Meetup 20160711
 
Practical Design Patterns for Building Applications Resilient to Infrastructu...
Practical Design Patterns for Building Applications Resilient to Infrastructu...Practical Design Patterns for Building Applications Resilient to Infrastructu...
Practical Design Patterns for Building Applications Resilient to Infrastructu...
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
Sql vs nosql
Sql vs nosqlSql vs nosql
Sql vs nosql
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skies
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
 
SQL vs NoSQL Data Modeling.pptx
SQL vs NoSQL Data Modeling.pptxSQL vs NoSQL Data Modeling.pptx
SQL vs NoSQL Data Modeling.pptx
 
NoSQL
NoSQLNoSQL
NoSQL
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Introduction to nosql
Introduction to nosqlIntroduction to nosql
Introduction to nosql
 
Big Data Platforms: An Overview
Big Data Platforms: An OverviewBig Data Platforms: An Overview
Big Data Platforms: An Overview
 
NoSql
NoSqlNoSql
NoSql
 
NoSQL Evolution
NoSQL EvolutionNoSQL Evolution
NoSQL Evolution
 
NoSQL A brief look at Apache Cassandra Distributed Database
NoSQL A brief look at Apache Cassandra Distributed DatabaseNoSQL A brief look at Apache Cassandra Distributed Database
NoSQL A brief look at Apache Cassandra Distributed Database
 

Dernier

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Dernier (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
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
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
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-...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 

Nosql primer

  • 1. A primer to NOSQL
  • 2. • RDBMS was not wrong – It was built for certain use cases – Strongly defined schema, ACID properties, Transactional systems etc. – Still, a great choice for those use cases • Enterprise Apps are no longer just tabular data. They cover: – Tabular data – Relational data – Social data – Media – Graphs – Events – Locations – Text Is RDBMS not good?
  • 3. • As we hit high volumes, we ran into performance issues • We started with optimization – Indexes – Materialized views for complex joins – De-normalization – Caching • We then started clustering: – Horizontal – separating reads and writes à resulted in Master/Slave systems à resulted in reads from slaves and writes to master à resulted in inconsistent reads! – Vertical – can’t implement joins across partitions, no referential integrity à results in rewrite of applications What is limiting in RDBMS
  • 4. • We now have many applications that rely on RDBMS • Vertical scaling is expensive • Horizontal scaling is not sustainable Catch 22 – The end of ACID?
  • 5. • Of CAP [Consistency, Availability, Partitioning], we have to choose à CP or AP or CA • Choosing from CAP and Eventually Consistent is not so bad! – DNS servers are actually also eventually consistent • Settle for weaker consistency model What is the compromise?
  • 6. • NOSQL does not stand for No SQL, it means “Not Only SQL” • It is not a replacement for RDBMS • Follows CAP Theorem - Consistency, Availability, Partition Tolerance • BASE – [Basic Availability, Soft State, Eventual Consistency] at cluster and ACID – [Atomicity, Consistency, Isolation, Durability] at each node NOSQL
  • 7. • Flexible schema / schema less • Horizontally scalable • Cheaper compared to big name RDBMS • Simple API as compared to SQL used with RDBMS • Often distributed, partitioned, replicated • Eventually consistent Characteristics of NOSQL
  • 8. • When RDBMS is too restrictive • ACID support is not really needed • Object to Relational mapping is not an impedance • Capturing data from distributed sources • Storing events/temporal data • Polyglot persistence is needed When to use NOSQL
  • 9. Key Value All of the data within consists of an indexed key and a value Examples: Dynamo DB, Cassandra Use cases: Clickstream data Logs etc. Column Based Designed for storing data tables as sections of columns of data, rather than as rows Examples: Hbase, SAP Hana Use cases: Internet search Large volume applications Document Database Expands the KeyValue stores where documents contain more complex – a documents is assigned to each key Examples: MongoDB CouchDB Use cases: Mobile Web appls Content management etc. Graph Database Data whose relations are well represented as a graph Has elements which are interconnected with undetermined number of relations Examples: Polyglot Neo4J Use cases: Recommendation engines Geo-Spatial applications NOSQL – Types, Examples, Use Cases