SlideShare a Scribd company logo
4
Most read
5
Most read
22
Most read
SQL vs. NoSQL Databases
Presented By: Osama Jomaa
Miami University
SQL Database Issues
●
Scalability
●
Flexibility
Scalability
The ability of a system to handle a growing amount
of work in a capable manner or its ability to be
enlarged to accommodate that growth.
Scalability Types
Photo Source: https://blog.openshift.com/scaling-in-action-on-openshift/
Vertical Horizontal
SQL Dbs are Vertically Scalable
✔ Low performance
✔ Lots of engineering work
✔ Expensive
Flexibility
The ability of a system to change during
the development life cycle
SQL DBs Structure
✔ Change of the data structure is
difficult and costly
✔ Not suitable for model software
methodologies, e.g. agile.
Performance
The capabilities of a system when
observed under particular conditions
SQL DBs are Relational DBs
✔ Cross-table queries are inevitable
✔ Multiple queries on different tables
hurts the performance
✔ No direct mapping between tables in a
database and objects in an OOL
NoSQL Databases
Not Only SQL :)
Scalability
➔ Auto Sharding
Flexibility
✔ Schema-free Database
✔ Suitable for the rapid application
development
Performance
✔ No cross-collection queries
✔ Data is manipulated through
OO APIs
NoSQL Database Types
✔ Document Databases
✔ MongoDB
✔ Graph Stores
✔ Key-value Stores
✔ Wide-column stores
MongoDB
High Performance
✔ Easily Scalable
✔ Document-based
✔ NoSQL
✔ BSON formatted Data
✔ Queried through Idiomatic Drivers
MongoDB
ID First_Name Last_Name
0 Osama Jomaa
1 Steve Brightwood
ID Account_Type Account_Balance Currency Holder (FK:
Persons)
0 Investement 80000.00 USD 0
1 Savings 70400.00 USD 0
2 Checking 4500.00 USD 0
3 Checking 4500.00 YEN 1
4 Investement 5000.00 YEN 1
5 Savings 6000.00 YEN 1
Account Holders
Accounts
MongoDB
ID First_Name Last_Name
0 Osama Jomaa
1 Steve Brightwood
ID Account_Type Account_Balance Currency Holder (FK:
Persons)
0 Investment 80000.00 USD 0
1 Savings 70400.00 USD 0
2 Checking 4500.00 USD 0
3 Checking 4500.00 YEN 1
4 Investment 5000.00 YEN 1
5 Savings 6000.00 YEN 1
Account Holders
Accounts
Table
Record
MongoDB
[{
"ID": 0,
"first_name": "Osama",
"last_name": "Jomaa",
"accounts": [
{
"id": 0,
"account_type": "Investement",
"account_balance": "80000.00",
"currency": "USD"
},
{
"id": 1,
"account_type": "Savings",
"account_balance": "70400.00",
"currency": "USD"
},
{
"id": 2,
"account_type": "Checking",
"account_balance": "4500.00",
"currency": "USD"
}]
},
{
"ID": 1,
"first_name": "Steve",
"last_name": "Brightwood",
"accounts": [
{
"id": 3,
"account_type": "Checking",
"account_balance": "4500.00",
"currency": "YEN"
},
{
"id": 4,
"account_type": "Investement",
"account_balance": "5000.00",
"currency": "YEN"
},
{
"id": 2,
"account_type": "Savings",
"account_balance": "6000.00",
"currency": "YEN"
}]
}]
MongoDB
[{
"ID": 0,
"first_name": "Osama",
"last_name": "Jomaa",
"accounts": [
{
"id": 0,
"account_type": "Investement",
"account_balance": "80000.00",
"currency": "USD"
},
{
"id": 1,
"account_type": "Savings",
"account_balance": "70400.00",
"currency": "USD"
},
{
"id": 2,
"account_type": "Checking",
"account_balance": "4500.00",
"currency": "USD"
}]
},
{
"ID": 1,
"first_name": "Steve",
"last_name": "Brightwood",
"accounts": [
{
"id": 3,
"account_type": "Checking",
"account_balance": "4500.00",
"currency": "YEN"
},
{
"id": 4,
"account_type": "Investement",
"account_balance": "5000.00",
"currency": "YEN"
},
{
"id": 2,
"account_type": "Savings",
"account_balance": "6000.00",
"currency": "YEN"
}]
}]
Collection
Document
Array
Our DB: Paper
{
“PMID” : The pubmed id for the paper
“Organism” : The organism that the paper studies
“Citation” : The list of citations of the paper
“MeshHeadings” : The list of the MeSH headings that the
paper is annotated to
“PubTypes” : The list of publication types for this paper
“Proteins”: The list of proteins studied in the paper
}
Our DB: Protein
{
“PID”: Protein ID,
“Organism”: The organism of the protein
“Sequence”: The amino acid sequence of the protein
“GO Terms”: The Gene Ontology terms that the proteins
is annotated to
“Papers”: The list of papers that the protein is studied in
“Homologs”: The homologs of the protein acquired by
BLAST
}
Our DB: MeSH Tree
{
“TID”: Term ID
“Category”: One of the 16 MeSH top level categories
“Parent”: The direct MeSH parent of the term
“Ancestors”: The list of the term MeSH ancestors
}

More Related Content

What's hot (20)

PPTX
Introduction to NOSQL databases
Ashwani Kumar
 
PDF
Nosql data models
Viet-Trung TRAN
 
PPTX
Mongodb vs mysql
hemal sharma
 
PPTX
Introduction to Redis
Arnab Mitra
 
PPTX
Sql vs NoSQL
RTigger
 
PPTX
NoSQL Data Architecture Patterns
Maynooth University
 
PPTX
Graph databases
Vinoth Kannan
 
PPTX
NoSQL databases
Filip Ilievski
 
PPTX
Microsoft Azure
Soumya De
 
PPTX
Relational databases vs Non-relational databases
James Serra
 
PPTX
MongoDB.pptx
Sigit52
 
PPTX
Introduction to MongoDB.pptx
Surya937648
 
PPTX
NoSQL databases - An introduction
Pooyan Mehrparvar
 
PPTX
NOSQL Databases types and Uses
Suvradeep Rudra
 
PPT
Graph database
Shruti Arya
 
PDF
NOSQL- Presentation on NoSQL
Ramakant Soni
 
PDF
Cloud Management
Andreas Chatzakis
 
PPTX
Introduction to MongoDB
NodeXperts
 
PPTX
Mongodb basics and architecture
Bishal Khanal
 
PPTX
Introduction to Relational Databases
Research Support Team, IT Services, University of Oxford
 
Introduction to NOSQL databases
Ashwani Kumar
 
Nosql data models
Viet-Trung TRAN
 
Mongodb vs mysql
hemal sharma
 
Introduction to Redis
Arnab Mitra
 
Sql vs NoSQL
RTigger
 
NoSQL Data Architecture Patterns
Maynooth University
 
Graph databases
Vinoth Kannan
 
NoSQL databases
Filip Ilievski
 
Microsoft Azure
Soumya De
 
Relational databases vs Non-relational databases
James Serra
 
MongoDB.pptx
Sigit52
 
Introduction to MongoDB.pptx
Surya937648
 
NoSQL databases - An introduction
Pooyan Mehrparvar
 
NOSQL Databases types and Uses
Suvradeep Rudra
 
Graph database
Shruti Arya
 
NOSQL- Presentation on NoSQL
Ramakant Soni
 
Cloud Management
Andreas Chatzakis
 
Introduction to MongoDB
NodeXperts
 
Mongodb basics and architecture
Bishal Khanal
 
Introduction to Relational Databases
Research Support Team, IT Services, University of Oxford
 

Similar to SQL vs. NoSQL Databases (20)

PPTX
Introduction to NoSQL Database
Mohammad Alghanem
 
ODP
MongoDB Distilled
b0ris_1
 
PDF
MongoDB .local Chicago 2019: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
PPTX
MongoDB Knowledge share
Mr Kyaing
 
PPTX
Intro to MongoDB Workshop
Lauren Hayward Schaefer
 
PPTX
No SQL - MongoDB
Mirza Asif
 
PDF
MongoDB Lab Manual (1).pdf used in data science
bitragowthamkumar1
 
PPTX
Introduction to MongoDB and Workshop
AhmedabadJavaMeetup
 
PPTX
Intro to MongoDB (Extended Session)
All Things Open
 
PPTX
MongoDB San Francisco 2013: Schema design presented by Jason Zucchetto, Consu...
MongoDB
 
PPTX
DBVersity MongoDB Online Training Presentations
Srinivas Mutyala
 
PPT
Mongo Bb - NoSQL tutorial
Mohan Rathour
 
PPTX
An Introduction To NoSQL & MongoDB
Lee Theobald
 
PDF
SQL vs NoSQL deep dive
Ahmed Shaaban
 
PDF
From SQL to NoSQL -- Changing Your Mindset
Lauren Hayward Schaefer
 
PPTX
Mongo - an intermediate introduction
nklmish
 
PDF
MongoDB World 2019: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
PPTX
MongoDB
Tharun Srinivasa
 
PDF
MongoDB .local Houston 2019: Jumpstart: From SQL to NoSQL -- Changing Your Mi...
MongoDB
 
PDF
MongoDB: Back to Basics
Lauren Hayward Schaefer
 
Introduction to NoSQL Database
Mohammad Alghanem
 
MongoDB Distilled
b0ris_1
 
MongoDB .local Chicago 2019: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB Knowledge share
Mr Kyaing
 
Intro to MongoDB Workshop
Lauren Hayward Schaefer
 
No SQL - MongoDB
Mirza Asif
 
MongoDB Lab Manual (1).pdf used in data science
bitragowthamkumar1
 
Introduction to MongoDB and Workshop
AhmedabadJavaMeetup
 
Intro to MongoDB (Extended Session)
All Things Open
 
MongoDB San Francisco 2013: Schema design presented by Jason Zucchetto, Consu...
MongoDB
 
DBVersity MongoDB Online Training Presentations
Srinivas Mutyala
 
Mongo Bb - NoSQL tutorial
Mohan Rathour
 
An Introduction To NoSQL & MongoDB
Lee Theobald
 
SQL vs NoSQL deep dive
Ahmed Shaaban
 
From SQL to NoSQL -- Changing Your Mindset
Lauren Hayward Schaefer
 
Mongo - an intermediate introduction
nklmish
 
MongoDB World 2019: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local Houston 2019: Jumpstart: From SQL to NoSQL -- Changing Your Mi...
MongoDB
 
MongoDB: Back to Basics
Lauren Hayward Schaefer
 
Ad

Recently uploaded (20)

PPT
Reliability Monitoring of Aircrfat commerce
Rizk2
 
PDF
Group 5_RMB Final Project on circular economy
pgban24anmola
 
PDF
SaleServicereport and SaleServicereport
2251330007
 
PPTX
Generative AI Boost Data Governance and Quality- Tejasvi Addagada
Tejasvi Addagada
 
PDF
TCU EVALUATION FACULTY TCU Taguig City 1st Semester 2017-2018
MELJUN CORTES
 
PPTX
microservices-with-container-apps-dapr.pptx
vjay22
 
PDF
UNISE-Operation-Procedure-InDHIS2trainng
ahmedabduselam23
 
PDF
GOOGLE ADS (1).pdf THE ULTIMATE GUIDE TO
kushalkeshwanisou
 
PPTX
Monitoring Improvement ( Pomalaa Branch).pptx
fajarkunee
 
DOCX
🧩 1. Solvent R-WPS Office work scientific
NohaSalah45
 
PDF
Predicting Titanic Survival Presentation
praxyfarhana
 
PDF
ilide.info-tg-understanding-culture-society-and-politics-pr_127f984d2904c57ec...
jed P
 
PDF
Datàaaaaaaaaaengineeeeeeeeeeeeeeeeeeeeeee
juadsr96
 
PDF
5- Global Demography Concepts _ Population Pyramids .pdf
pkhadka824
 
PPTX
Comparative Study of ML Techniques for RealTime Credit Card Fraud Detection S...
Debolina Ghosh
 
PPTX
美国史蒂文斯理工学院毕业证书{SIT学费发票SIT录取通知书}哪里购买
Taqyea
 
PPTX
Data Analytics using sparkabcdefghi.pptx
KarkuzhaliS3
 
PPTX
How to Add Columns and Rows in an R Data Frame
subhashenia
 
PPTX
办理学历认证InformaticsLetter新加坡英华美学院毕业证书,Informatics成绩单
Taqyea
 
PPTX
Krezentios memories in college data.pptx
notknown9
 
Reliability Monitoring of Aircrfat commerce
Rizk2
 
Group 5_RMB Final Project on circular economy
pgban24anmola
 
SaleServicereport and SaleServicereport
2251330007
 
Generative AI Boost Data Governance and Quality- Tejasvi Addagada
Tejasvi Addagada
 
TCU EVALUATION FACULTY TCU Taguig City 1st Semester 2017-2018
MELJUN CORTES
 
microservices-with-container-apps-dapr.pptx
vjay22
 
UNISE-Operation-Procedure-InDHIS2trainng
ahmedabduselam23
 
GOOGLE ADS (1).pdf THE ULTIMATE GUIDE TO
kushalkeshwanisou
 
Monitoring Improvement ( Pomalaa Branch).pptx
fajarkunee
 
🧩 1. Solvent R-WPS Office work scientific
NohaSalah45
 
Predicting Titanic Survival Presentation
praxyfarhana
 
ilide.info-tg-understanding-culture-society-and-politics-pr_127f984d2904c57ec...
jed P
 
Datàaaaaaaaaaengineeeeeeeeeeeeeeeeeeeeeee
juadsr96
 
5- Global Demography Concepts _ Population Pyramids .pdf
pkhadka824
 
Comparative Study of ML Techniques for RealTime Credit Card Fraud Detection S...
Debolina Ghosh
 
美国史蒂文斯理工学院毕业证书{SIT学费发票SIT录取通知书}哪里购买
Taqyea
 
Data Analytics using sparkabcdefghi.pptx
KarkuzhaliS3
 
How to Add Columns and Rows in an R Data Frame
subhashenia
 
办理学历认证InformaticsLetter新加坡英华美学院毕业证书,Informatics成绩单
Taqyea
 
Krezentios memories in college data.pptx
notknown9
 
Ad

SQL vs. NoSQL Databases

  • 1. SQL vs. NoSQL Databases Presented By: Osama Jomaa Miami University
  • 3. Scalability The ability of a system to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth.
  • 4. Scalability Types Photo Source: https://blog.openshift.com/scaling-in-action-on-openshift/ Vertical Horizontal
  • 5. SQL Dbs are Vertically Scalable ✔ Low performance ✔ Lots of engineering work ✔ Expensive
  • 6. Flexibility The ability of a system to change during the development life cycle
  • 7. SQL DBs Structure ✔ Change of the data structure is difficult and costly ✔ Not suitable for model software methodologies, e.g. agile.
  • 8. Performance The capabilities of a system when observed under particular conditions
  • 9. SQL DBs are Relational DBs ✔ Cross-table queries are inevitable ✔ Multiple queries on different tables hurts the performance ✔ No direct mapping between tables in a database and objects in an OOL
  • 12. Flexibility ✔ Schema-free Database ✔ Suitable for the rapid application development
  • 13. Performance ✔ No cross-collection queries ✔ Data is manipulated through OO APIs
  • 14. NoSQL Database Types ✔ Document Databases ✔ MongoDB ✔ Graph Stores ✔ Key-value Stores ✔ Wide-column stores
  • 15. MongoDB High Performance ✔ Easily Scalable ✔ Document-based ✔ NoSQL ✔ BSON formatted Data ✔ Queried through Idiomatic Drivers
  • 16. MongoDB ID First_Name Last_Name 0 Osama Jomaa 1 Steve Brightwood ID Account_Type Account_Balance Currency Holder (FK: Persons) 0 Investement 80000.00 USD 0 1 Savings 70400.00 USD 0 2 Checking 4500.00 USD 0 3 Checking 4500.00 YEN 1 4 Investement 5000.00 YEN 1 5 Savings 6000.00 YEN 1 Account Holders Accounts
  • 17. MongoDB ID First_Name Last_Name 0 Osama Jomaa 1 Steve Brightwood ID Account_Type Account_Balance Currency Holder (FK: Persons) 0 Investment 80000.00 USD 0 1 Savings 70400.00 USD 0 2 Checking 4500.00 USD 0 3 Checking 4500.00 YEN 1 4 Investment 5000.00 YEN 1 5 Savings 6000.00 YEN 1 Account Holders Accounts Table Record
  • 18. MongoDB [{ "ID": 0, "first_name": "Osama", "last_name": "Jomaa", "accounts": [ { "id": 0, "account_type": "Investement", "account_balance": "80000.00", "currency": "USD" }, { "id": 1, "account_type": "Savings", "account_balance": "70400.00", "currency": "USD" }, { "id": 2, "account_type": "Checking", "account_balance": "4500.00", "currency": "USD" }] }, { "ID": 1, "first_name": "Steve", "last_name": "Brightwood", "accounts": [ { "id": 3, "account_type": "Checking", "account_balance": "4500.00", "currency": "YEN" }, { "id": 4, "account_type": "Investement", "account_balance": "5000.00", "currency": "YEN" }, { "id": 2, "account_type": "Savings", "account_balance": "6000.00", "currency": "YEN" }] }]
  • 19. MongoDB [{ "ID": 0, "first_name": "Osama", "last_name": "Jomaa", "accounts": [ { "id": 0, "account_type": "Investement", "account_balance": "80000.00", "currency": "USD" }, { "id": 1, "account_type": "Savings", "account_balance": "70400.00", "currency": "USD" }, { "id": 2, "account_type": "Checking", "account_balance": "4500.00", "currency": "USD" }] }, { "ID": 1, "first_name": "Steve", "last_name": "Brightwood", "accounts": [ { "id": 3, "account_type": "Checking", "account_balance": "4500.00", "currency": "YEN" }, { "id": 4, "account_type": "Investement", "account_balance": "5000.00", "currency": "YEN" }, { "id": 2, "account_type": "Savings", "account_balance": "6000.00", "currency": "YEN" }] }] Collection Document Array
  • 20. Our DB: Paper { “PMID” : The pubmed id for the paper “Organism” : The organism that the paper studies “Citation” : The list of citations of the paper “MeshHeadings” : The list of the MeSH headings that the paper is annotated to “PubTypes” : The list of publication types for this paper “Proteins”: The list of proteins studied in the paper }
  • 21. Our DB: Protein { “PID”: Protein ID, “Organism”: The organism of the protein “Sequence”: The amino acid sequence of the protein “GO Terms”: The Gene Ontology terms that the proteins is annotated to “Papers”: The list of papers that the protein is studied in “Homologs”: The homologs of the protein acquired by BLAST }
  • 22. Our DB: MeSH Tree { “TID”: Term ID “Category”: One of the 16 MeSH top level categories “Parent”: The direct MeSH parent of the term “Ancestors”: The list of the term MeSH ancestors }