SlideShare a Scribd company logo
1 of 14
Introduction to NoSQL Database
Mohammad Al Ghanem
Senior Software Engineer
Outline
 Introduction To NoSQL.
 Web Application Data growth.
 Characteristic of NoSQL.
 ACID.
 BASE.
 CAP Theory.
 Major NoSQL Types.
 Developers Viewpoint.
 Look at Queries syntax.
 NoSQL Shells.
 Summary.
 Questions.
Introduction to NoSQL
 Stands for Not Only SQL.
 The idea of NoSQL founded in 1998 with term
lightweightSchemaLess by Carlo Strozzi.
 Open source database.
 NoSQL will be the future database.
 Very compatible with distributed systems.
 Lower cost.
 High performance database.
 Founded to handle huge data space.
 Used by Facebook , Google , Wikipedia …
Increasing Web Application Data.
Characteristic of NoSQL
 Large data volumes.
 Scalable replication and distribution (Horizontal scaling).
 Queries need to return answers quickly.
 Asynchronous Inserts & Updates.
 Schema-less.
 Designed to support Caching without 3-rd party tools.
 ACID transaction properties are not needed.
 BASE here.
 CAP Theorem.
 No Joins statement.
 No complicated Relationships
 Less administration time(less cost).
ACID
 Atomic – All transaction completes (commit) or none
of it completes.
 Consistent – Consistency is defined in terms of
constraints.
 Isolated – The transaction will behave as if it is the
only operation being performed upon the database
 Durable – Upon completion of the transaction, the
operation will not be reversed.
BASE
 Basically Available.
 Soft state(expiration of information).
 Eventually Consistent.
 Weak consistency.
 Availability first.
 Simpler and faster.
CAP Theory
Major NoSQL Types
 Key-Value Store.
 Hashing.
 Basic get/put/delete.
 Crazy fast because there is key to get set of values.
 Document Store.
 JSON,XML … document structured.
 No Join.(handle it in your code).
 Column Database.
 Each storage block contains data from only one column.
 Reduce access and scanning time.
 Still use tables without joins statements.
 Better for data analytics.
Developers Viewpoint !
SQL is better ?
 Natural reaction.
 Everyone's experience.
 Fear of change.
NoSQL Will :
 Simplify your data model.
 Easy to install.
 your bugs will be fewer and easier to find.
 Lower administration / less DBAs.
 performance is going to be awesome.
 Scale will be much simpler.
 Rapid Development.
 Large binary objects.
 Graphs/relationships.
Look at Queries syntax
 db.inventory.find( { type: "snacks" } );
 db.inventory.find( { type: 'food', price: { $lt: 9.95 } } );
 db.inventory.find( { producer: { company: 'ABC123',
address: '123 Street' } } );
 db.inventory.find( { memos: { $elemMatch: { memo : 'on
time', by: 'shipping' } } } );
 db.inventory.insert( { _id: 10, type: "misc", item: "card",
qty: 15 } );
 db.users.remove( { status: "D" } )
 db.users.insert( { name: "sue", age: 26, status: "A" } )
 db.users.update( { age: { $gt: 18 } }, { $set: { status: "A" }
}, { multi: true } )
 db.inventory.save( { type: "book", item: "notebook", qty:
40 } )
What's about functions ?
var myCursor = db.inventory.find( { type: 'food' } );
myCursor.forEach(printjson);
var myCursor = db.inventory.find( { type: 'food' } );
var documentArray = myCursor.toArray();
var myDocument = documentArray[3];
Query Analysis
db.inventory.find( { type: 'food' } ).explain()
Output Here
Summary
NoSQL :
 Handle huge data.
 High availability with small cost.
 More data redundancy.
 High performance.
 Less administration time.
 Less standards.
SQL :
 Good to solve ACID problems.
 Expensive.
 Less data redundancy.
 Increasing availability mean increasing cost.
 More standards.
 More administration.
Pick the right tool for your job !
Thanks for your attention

Questions ?

More Related Content

What's hot

What's hot (20)

CData Data Today: A Developer's Dilemma
CData Data Today: A Developer's DilemmaCData Data Today: A Developer's Dilemma
CData Data Today: A Developer's Dilemma
 
MongoDB - An Introduction
MongoDB - An IntroductionMongoDB - An Introduction
MongoDB - An Introduction
 
Improve your SQL workload with observability
Improve your SQL workload with observabilityImprove your SQL workload with observability
Improve your SQL workload with observability
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
Cassandra-vs-MongoDB
Cassandra-vs-MongoDBCassandra-vs-MongoDB
Cassandra-vs-MongoDB
 
How to Design a Modern Data Warehouse in BigQuery
How to Design a Modern Data Warehouse in BigQueryHow to Design a Modern Data Warehouse in BigQuery
How to Design a Modern Data Warehouse in BigQuery
 
NoSQL Slideshare Presentation
NoSQL Slideshare Presentation NoSQL Slideshare Presentation
NoSQL Slideshare Presentation
 
Azure DocumentDB 101
Azure DocumentDB 101Azure DocumentDB 101
Azure DocumentDB 101
 
Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?
 
Google Cloud Spanner Preview
Google Cloud Spanner PreviewGoogle Cloud Spanner Preview
Google Cloud Spanner Preview
 
Multi model-databases
Multi model-databasesMulti model-databases
Multi model-databases
 
Overhauling a database engine in 2 months
Overhauling a database engine in 2 monthsOverhauling a database engine in 2 months
Overhauling a database engine in 2 months
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
 
MongoDB-SESSION02
MongoDB-SESSION02MongoDB-SESSION02
MongoDB-SESSION02
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
NoSQL for SQL Users
NoSQL for SQL UsersNoSQL for SQL Users
NoSQL for SQL Users
 
FOXX - a Javascript application framework on top of ArangoDB
FOXX - a Javascript application framework on top of ArangoDBFOXX - a Javascript application framework on top of ArangoDB
FOXX - a Javascript application framework on top of ArangoDB
 
Data platform architecture principles - ieee infrastructure 2020
Data platform architecture principles - ieee infrastructure 2020Data platform architecture principles - ieee infrastructure 2020
Data platform architecture principles - ieee infrastructure 2020
 
Multi-model databases and node.js
Multi-model databases and node.jsMulti-model databases and node.js
Multi-model databases and node.js
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 

Viewers also liked (6)

Overview of no sql
Overview of no sqlOverview of no sql
Overview of no sql
 
Characteristics of no sql databases
Characteristics of no sql databasesCharacteristics of no sql databases
Characteristics of no sql databases
 
NoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and ComparisonNoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and Comparison
 
Database Review and Challenges (2016)
Database Review and Challenges (2016)Database Review and Challenges (2016)
Database Review and Challenges (2016)
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 

Similar to Introduction to NoSQL Database

NoSQL - No Security?
NoSQL - No Security?NoSQL - No Security?
NoSQL - No Security?
Gavin Holt
 

Similar to Introduction to NoSQL Database (20)

If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.
 
Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George Grammatikos
 
Indic threads pune12-nosql now and path ahead
Indic threads pune12-nosql now and path aheadIndic threads pune12-nosql now and path ahead
Indic threads pune12-nosql now and path ahead
 
Scaling the Content Repository with Elasticsearch
Scaling the Content Repository with ElasticsearchScaling the Content Repository with Elasticsearch
Scaling the Content Repository with Elasticsearch
 
Moving from SQL Server to MongoDB
Moving from SQL Server to MongoDBMoving from SQL Server to MongoDB
Moving from SQL Server to MongoDB
 
SQL vs NoSQL deep dive
SQL vs NoSQL deep diveSQL vs NoSQL deep dive
SQL vs NoSQL deep dive
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
 
NoSQL
NoSQLNoSQL
NoSQL
 
NoSQL - No Security?
NoSQL - No Security?NoSQL - No Security?
NoSQL - No Security?
 
NoSQL Databases Introduction - UTN 2013
NoSQL Databases Introduction - UTN 2013NoSQL Databases Introduction - UTN 2013
NoSQL Databases Introduction - UTN 2013
 
Enterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison PillEnterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison Pill
 
NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020
 
vOfficeware Brown Bag - NOSQL
vOfficeware Brown Bag - NOSQLvOfficeware Brown Bag - NOSQL
vOfficeware Brown Bag - NOSQL
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorial
 
NOSQL
NOSQLNOSQL
NOSQL
 
MySQL Document Store for Modern Applications
MySQL Document Store for Modern ApplicationsMySQL Document Store for Modern Applications
MySQL Document Store for Modern Applications
 
MeteorJS Introduction
MeteorJS IntroductionMeteorJS Introduction
MeteorJS Introduction
 
Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101
 
JS App Architecture
JS App ArchitectureJS App Architecture
JS App Architecture
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Introduction to NoSQL Database

  • 1. Introduction to NoSQL Database Mohammad Al Ghanem Senior Software Engineer
  • 2. Outline  Introduction To NoSQL.  Web Application Data growth.  Characteristic of NoSQL.  ACID.  BASE.  CAP Theory.  Major NoSQL Types.  Developers Viewpoint.  Look at Queries syntax.  NoSQL Shells.  Summary.  Questions.
  • 3. Introduction to NoSQL  Stands for Not Only SQL.  The idea of NoSQL founded in 1998 with term lightweightSchemaLess by Carlo Strozzi.  Open source database.  NoSQL will be the future database.  Very compatible with distributed systems.  Lower cost.  High performance database.  Founded to handle huge data space.  Used by Facebook , Google , Wikipedia …
  • 5. Characteristic of NoSQL  Large data volumes.  Scalable replication and distribution (Horizontal scaling).  Queries need to return answers quickly.  Asynchronous Inserts & Updates.  Schema-less.  Designed to support Caching without 3-rd party tools.  ACID transaction properties are not needed.  BASE here.  CAP Theorem.  No Joins statement.  No complicated Relationships  Less administration time(less cost).
  • 6. ACID  Atomic – All transaction completes (commit) or none of it completes.  Consistent – Consistency is defined in terms of constraints.  Isolated – The transaction will behave as if it is the only operation being performed upon the database  Durable – Upon completion of the transaction, the operation will not be reversed.
  • 7. BASE  Basically Available.  Soft state(expiration of information).  Eventually Consistent.  Weak consistency.  Availability first.  Simpler and faster.
  • 9. Major NoSQL Types  Key-Value Store.  Hashing.  Basic get/put/delete.  Crazy fast because there is key to get set of values.  Document Store.  JSON,XML … document structured.  No Join.(handle it in your code).  Column Database.  Each storage block contains data from only one column.  Reduce access and scanning time.  Still use tables without joins statements.  Better for data analytics.
  • 10. Developers Viewpoint ! SQL is better ?  Natural reaction.  Everyone's experience.  Fear of change. NoSQL Will :  Simplify your data model.  Easy to install.  your bugs will be fewer and easier to find.  Lower administration / less DBAs.  performance is going to be awesome.  Scale will be much simpler.  Rapid Development.  Large binary objects.  Graphs/relationships.
  • 11. Look at Queries syntax  db.inventory.find( { type: "snacks" } );  db.inventory.find( { type: 'food', price: { $lt: 9.95 } } );  db.inventory.find( { producer: { company: 'ABC123', address: '123 Street' } } );  db.inventory.find( { memos: { $elemMatch: { memo : 'on time', by: 'shipping' } } } );  db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } );  db.users.remove( { status: "D" } )  db.users.insert( { name: "sue", age: 26, status: "A" } )  db.users.update( { age: { $gt: 18 } }, { $set: { status: "A" } }, { multi: true } )  db.inventory.save( { type: "book", item: "notebook", qty: 40 } )
  • 12. What's about functions ? var myCursor = db.inventory.find( { type: 'food' } ); myCursor.forEach(printjson); var myCursor = db.inventory.find( { type: 'food' } ); var documentArray = myCursor.toArray(); var myDocument = documentArray[3]; Query Analysis db.inventory.find( { type: 'food' } ).explain() Output Here
  • 13. Summary NoSQL :  Handle huge data.  High availability with small cost.  More data redundancy.  High performance.  Less administration time.  Less standards. SQL :  Good to solve ACID problems.  Expensive.  Less data redundancy.  Increasing availability mean increasing cost.  More standards.  More administration. Pick the right tool for your job !
  • 14. Thanks for your attention  Questions ?

Editor's Notes

  1. Soft state : Data may be time-dependent on user interaction with possible expiration after a period of time. The data must be updated or accessed to remain relevant in the system.