SlideShare a Scribd company logo
1 of 26
Introduction to NoSQL and
MongoDB
Eng. Ahmed Farag
Outlines
• NOSQL
• MongoDB
2/15/2018 2
Introduction to NoSQL
• a database used to manage huge sets of
unstructured data, where in the data is not
stored in tabular relations like relational
databases
2/15/2018 3
Introduction to NoSQL
• NoSQL database is designed to overcome the
Performance, Scalability, Data Modelling and
Distribution limitations that are seen in the
Relational Databases.
2/15/2018 4
What is Structured Data?
• Structured data is usually text files, with
defined column titles and data in rows. Such
data can easily be visualized in form of charts
and can be processed using data mining tools.
2/15/2018 5
What is Unstructured Data?
• Unstructured data can be anything like video file,
image file, PDF, Emails etc. What does these files
have in common, nothing.
• Structured Information can be extracted from
unstructured data, but the process is time
consuming. And as more and more modern data is
unstructured, there was a need to have something to
store such data for growing applications, hence
setting path for NoSQL.
2/15/2018 6
NoSQL Database Types
• Document (MongoDB)
• Graph
• Key-Value
• Wide-column
2/15/2018 7
Advantages of NoSQL Databases
• Dynamic Schemas
• Sharding
• Replication
• Integrated Caching
2/15/2018 8
Dynamic Schemas
• In Relational Databases like Oracle, MySQL we define
table structures, right?
• For example, if we want to save records of Student
Data, then we will have to create a table named
Student, add columns to it, like student_id,
student_name etc, this is called defined schema,
where in we define the structure before saving any
data.
2/15/2018 9
Dynamic Schemas con…
• If in future we plan to add some more related data in
our Student table, then we will have to add a new
column to our table. Which is easy, if we have less
data in our tables, but what if we have millions of
records. Migration to the updated schema would be
a hectic job.
• NoSQL databases solve this problem, as in a NoSQL
database, schema definition is not required.
2/15/2018 10
Sharding
• In Sharding, large databases are partitioned into small,
faster and easily manageable databases.
• The (classic) Relational Databases follow a vertical
architecture where in a single server holds the data, as
all the data is related.
• Relational Databases does not provide Sharding feature
by default, to achieve this a lot of efforts has to be put
in, because transactional integrity(Inserting/Updating
data in transactions), multiple table JOINS etc cannot
be easily achieved in distributed architecture in case of
Relational Databases
2/15/2018 11
Sharding con…
• NoSQL Databases have the Sharding feature as
default. No additional efforts required. They
automatically spread the data across servers,
fetch the data in the fastest time from the
server.
2/15/2018 12
Replication
• Auto data replication is also supported in
NoSQL databases by default. Hence, if one DB
server goes down, data is restored using its
copy created on another server in network
2/15/2018 13
Integrated Caching
• Many NoSQL databases have support for
Integrated Caching, where in the frequently
demanded data is stored in cache to make the
queries faster.
2/15/2018 14
CAP theory for NoSQL
• Consistency
• Availability
• Partitioning tolerance
• How it is interpreted:
– You must always give something up: consistency,
availability or tolerance to failure and
reconfiguration
Outlines
• NOSQL
• MongoDB
2/15/2018 16
MongoDB - NoSQL Database
• is a NoSQL database written in C++ language.
• stores the data in form of key-value pairs.
• MongoDB is a document oriented database where it
stores data in collections instead of tables.
• The best part of MongoDB is that the drivers are
available for almost all the popular programming
languages.
2/15/2018 17
MongoDB - NoSQL Database Con…
• provides high performance and scalability along with
data modelling and data management of huge sets of
data in an enterprise application.
• provides the feature of Auto-Scaling.
• MongoDB is a cross platform database and can be
installed across different platforms like Windows,
Linux etc.
2/15/2018 18
Document based storage
• A Document is nothing but a data structure with name-
value pairs like in JSON. It is very easy to map any custom
Object of any programming language with a MongoDB
Document.
• For example : Student object has attributes name , rollno
and subjects , where subjects is a List.
• Document for Student in MongoDB will be like :
{
name : "Stduytonight",
rollno : 1,
subjects : ["C Language", "C++", "Core Java"]
}
2/15/2018 19
Key Features of MongoDB
• MongoDB provides high performance.
• Input/output operations are lesser than relational databases due
to support of embedded documents(data models) and Select
queries are also faster as Indexes in MongoDB supports faster
queries.
2/15/2018 20
Key Features of MongoDB
• MongoDB has a rich Query Language
• supporting all the major CRUD operations. The Query Language
also provides good Text Search and Aggregation features.
• Horizontal Scalability is possible due to Sharding.
• Auto Replication feature of MongoDB leads to High
Availability.
• It provides an automatic failover mechanism, as data is restored
through backup(replica) copy if server fails
2/15/2018 21
Organizations that use MongoDB
• some of the big and notable organizations
which are using MongoDB as database for
most of their business applications.
– Adobe
– LinkedIn
– McAfee
– Four Square
– eBay
– SAP
2/15/2018 22
Install
• Download and install suitable package for
each platform [Windows, Linux, Mac OSX,
Solaris]
• Create a folder e.g. C:mongodb
• Go to bin of installation folder.
• Run mongod.exe then mongo.exe
• Make sure that mongod.exe (MongoDB
Server) is running without any problems
before running mongo.exe
Install – create data directory
Processes & configuration
• Mongod – Database instance
– It is the primary daemon process for the
MongoDB system. It handles data requests,
manages data access, and performs background
management operations
• Mongos – Sharding processes
• Mongo – an interactive shell ( a client)
– Fully functional JavaScript environment for use
with a MongoDB
The mongo shell
• The mongo shell is an interactive JavaScript
interface to MongoDB.
• We can use the mongo shell to query and
update data as well as perform administrative
operations
2/15/2018 26

More Related Content

What's hot

NoSQL - 05March2014 Seminar
NoSQL - 05March2014 SeminarNoSQL - 05March2014 Seminar
NoSQL - 05March2014 SeminarJainul Musani
 
Appache Cassandra
Appache Cassandra  Appache Cassandra
Appache Cassandra nehabsairam
 
Data Modeling for NoSQL
Data Modeling for NoSQLData Modeling for NoSQL
Data Modeling for NoSQLTony Tam
 
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 EnterpriseAnita Luthra
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQLbalwinders
 
9. Document Oriented Databases
9. Document Oriented Databases9. Document Oriented Databases
9. Document Oriented DatabasesFabio Fumarola
 
NoSQL Data Architecture Patterns
NoSQL Data ArchitecturePatternsNoSQL Data ArchitecturePatterns
NoSQL Data Architecture PatternsMaynooth University
 
Accelerating Delivery of Data Products - The EBSCO Way
Accelerating Delivery of Data Products - The EBSCO WayAccelerating Delivery of Data Products - The EBSCO Way
Accelerating Delivery of Data Products - The EBSCO WayMongoDB
 
Big Challenges in Data Modeling: NoSQL and Data Modeling
Big Challenges in Data Modeling: NoSQL and Data ModelingBig Challenges in Data Modeling: NoSQL and Data Modeling
Big Challenges in Data Modeling: NoSQL and Data ModelingDATAVERSITY
 
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 2020Julien Le Dem
 

What's hot (20)

Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
NOSQL vs SQL
NOSQL vs SQLNOSQL vs SQL
NOSQL vs SQL
 
NoSQL Consepts
NoSQL ConseptsNoSQL Consepts
NoSQL Consepts
 
NoSQL - 05March2014 Seminar
NoSQL - 05March2014 SeminarNoSQL - 05March2014 Seminar
NoSQL - 05March2014 Seminar
 
Rdbms vs. no sql
Rdbms vs. no sqlRdbms vs. no sql
Rdbms vs. no sql
 
Appache Cassandra
Appache Cassandra  Appache Cassandra
Appache Cassandra
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Data Modeling for NoSQL
Data Modeling for NoSQLData Modeling for NoSQL
Data Modeling for NoSQL
 
NoSQL
NoSQLNoSQL
NoSQL
 
Difficult to processed by
Difficult to processed byDifficult to processed by
Difficult to processed by
 
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
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
9. Document Oriented Databases
9. Document Oriented Databases9. Document Oriented Databases
9. Document Oriented Databases
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL Database
 
NoSQL Data Architecture Patterns
NoSQL Data ArchitecturePatternsNoSQL Data ArchitecturePatterns
NoSQL Data Architecture Patterns
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
 
Accelerating Delivery of Data Products - The EBSCO Way
Accelerating Delivery of Data Products - The EBSCO WayAccelerating Delivery of Data Products - The EBSCO Way
Accelerating Delivery of Data Products - The EBSCO Way
 
Big Challenges in Data Modeling: NoSQL and Data Modeling
Big Challenges in Data Modeling: NoSQL and Data ModelingBig Challenges in Data Modeling: NoSQL and Data Modeling
Big Challenges in Data Modeling: NoSQL and Data Modeling
 
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
 

Similar to Introduction to NoSQL and MongoDB

NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabasesAdi Challa
 
MongoDB Lab Manual (1).pdf used in data science
MongoDB Lab Manual (1).pdf used in data scienceMongoDB Lab Manual (1).pdf used in data science
MongoDB Lab Manual (1).pdf used in data sciencebitragowthamkumar1
 
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...GoQA
 
Presentation On NoSQL Databases
Presentation On NoSQL DatabasesPresentation On NoSQL Databases
Presentation On NoSQL DatabasesAbiral Gautam
 
Sql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explainedSql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explainedSatya Pal
 
SQL vs MongoDB
SQL vs MongoDBSQL vs MongoDB
SQL vs MongoDBcalltutors
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesMaynooth University
 
MongoDB 2.4 and spring data
MongoDB 2.4 and spring dataMongoDB 2.4 and spring data
MongoDB 2.4 and spring dataJimmy Ray
 
Everything You Need to Know About MongoDB Development.pptx
Everything You Need to Know About MongoDB Development.pptxEverything You Need to Know About MongoDB Development.pptx
Everything You Need to Know About MongoDB Development.pptx75waytechnologies
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture OverviewChristopher Foot
 

Similar to Introduction to NoSQL and MongoDB (20)

NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 
MongoDB Lab Manual (1).pdf used in data science
MongoDB Lab Manual (1).pdf used in data scienceMongoDB Lab Manual (1).pdf used in data science
MongoDB Lab Manual (1).pdf used in data science
 
UNIT-2.pptx
UNIT-2.pptxUNIT-2.pptx
UNIT-2.pptx
 
the rising no sql technology
the rising no sql technologythe rising no sql technology
the rising no sql technology
 
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
 
Presentation On NoSQL Databases
Presentation On NoSQL DatabasesPresentation On NoSQL Databases
Presentation On NoSQL Databases
 
NoSQL
NoSQLNoSQL
NoSQL
 
Sql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explainedSql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explained
 
SQL vs MongoDB
SQL vs MongoDBSQL vs MongoDB
SQL vs MongoDB
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choices
 
No sql database
No sql databaseNo sql database
No sql database
 
Mongo db intro.pptx
Mongo db intro.pptxMongo db intro.pptx
Mongo db intro.pptx
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDB
 
MongoDB 2.4 and spring data
MongoDB 2.4 and spring dataMongoDB 2.4 and spring data
MongoDB 2.4 and spring data
 
A peek into the future
A peek into the futureA peek into the future
A peek into the future
 
NoSQL Seminer
NoSQL SeminerNoSQL Seminer
NoSQL Seminer
 
Report 2.0.docx
Report 2.0.docxReport 2.0.docx
Report 2.0.docx
 
Everything You Need to Know About MongoDB Development.pptx
Everything You Need to Know About MongoDB Development.pptxEverything You Need to Know About MongoDB Development.pptx
Everything You Need to Know About MongoDB Development.pptx
 
Database Technologies
Database TechnologiesDatabase Technologies
Database Technologies
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
 

More from Ahmed Farag

Sql modifying data - MYSQL part I
Sql modifying data - MYSQL part ISql modifying data - MYSQL part I
Sql modifying data - MYSQL part IAhmed Farag
 
MYSQL using set operators
MYSQL using set operatorsMYSQL using set operators
MYSQL using set operatorsAhmed Farag
 
MYSQL single rowfunc-multirowfunc-groupby-having
MYSQL single rowfunc-multirowfunc-groupby-havingMYSQL single rowfunc-multirowfunc-groupby-having
MYSQL single rowfunc-multirowfunc-groupby-havingAhmed Farag
 
Introduction to OOP concepts
Introduction to OOP conceptsIntroduction to OOP concepts
Introduction to OOP conceptsAhmed Farag
 
Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Ahmed Farag
 
C++ Files and Streams
C++ Files and Streams C++ Files and Streams
C++ Files and Streams Ahmed Farag
 
intro to pointer C++
intro to  pointer C++intro to  pointer C++
intro to pointer C++Ahmed Farag
 

More from Ahmed Farag (14)

Intro to php
Intro to phpIntro to php
Intro to php
 
MYSql manage db
MYSql manage dbMYSql manage db
MYSql manage db
 
Normalization
NormalizationNormalization
Normalization
 
Sql modifying data - MYSQL part I
Sql modifying data - MYSQL part ISql modifying data - MYSQL part I
Sql modifying data - MYSQL part I
 
MYSQL using set operators
MYSQL using set operatorsMYSQL using set operators
MYSQL using set operators
 
MYSQL join
MYSQL joinMYSQL join
MYSQL join
 
MYSQL single rowfunc-multirowfunc-groupby-having
MYSQL single rowfunc-multirowfunc-groupby-havingMYSQL single rowfunc-multirowfunc-groupby-having
MYSQL single rowfunc-multirowfunc-groupby-having
 
Introduction to OOP concepts
Introduction to OOP conceptsIntroduction to OOP concepts
Introduction to OOP concepts
 
Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)
 
C++ Files and Streams
C++ Files and Streams C++ Files and Streams
C++ Files and Streams
 
OOP C++
OOP C++OOP C++
OOP C++
 
Functions C++
Functions C++Functions C++
Functions C++
 
intro to pointer C++
intro to  pointer C++intro to  pointer C++
intro to pointer C++
 
Intro to C++
Intro to C++Intro to C++
Intro to C++
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Introduction to NoSQL and MongoDB

  • 1. Introduction to NoSQL and MongoDB Eng. Ahmed Farag
  • 3. Introduction to NoSQL • a database used to manage huge sets of unstructured data, where in the data is not stored in tabular relations like relational databases 2/15/2018 3
  • 4. Introduction to NoSQL • NoSQL database is designed to overcome the Performance, Scalability, Data Modelling and Distribution limitations that are seen in the Relational Databases. 2/15/2018 4
  • 5. What is Structured Data? • Structured data is usually text files, with defined column titles and data in rows. Such data can easily be visualized in form of charts and can be processed using data mining tools. 2/15/2018 5
  • 6. What is Unstructured Data? • Unstructured data can be anything like video file, image file, PDF, Emails etc. What does these files have in common, nothing. • Structured Information can be extracted from unstructured data, but the process is time consuming. And as more and more modern data is unstructured, there was a need to have something to store such data for growing applications, hence setting path for NoSQL. 2/15/2018 6
  • 7. NoSQL Database Types • Document (MongoDB) • Graph • Key-Value • Wide-column 2/15/2018 7
  • 8. Advantages of NoSQL Databases • Dynamic Schemas • Sharding • Replication • Integrated Caching 2/15/2018 8
  • 9. Dynamic Schemas • In Relational Databases like Oracle, MySQL we define table structures, right? • For example, if we want to save records of Student Data, then we will have to create a table named Student, add columns to it, like student_id, student_name etc, this is called defined schema, where in we define the structure before saving any data. 2/15/2018 9
  • 10. Dynamic Schemas con… • If in future we plan to add some more related data in our Student table, then we will have to add a new column to our table. Which is easy, if we have less data in our tables, but what if we have millions of records. Migration to the updated schema would be a hectic job. • NoSQL databases solve this problem, as in a NoSQL database, schema definition is not required. 2/15/2018 10
  • 11. Sharding • In Sharding, large databases are partitioned into small, faster and easily manageable databases. • The (classic) Relational Databases follow a vertical architecture where in a single server holds the data, as all the data is related. • Relational Databases does not provide Sharding feature by default, to achieve this a lot of efforts has to be put in, because transactional integrity(Inserting/Updating data in transactions), multiple table JOINS etc cannot be easily achieved in distributed architecture in case of Relational Databases 2/15/2018 11
  • 12. Sharding con… • NoSQL Databases have the Sharding feature as default. No additional efforts required. They automatically spread the data across servers, fetch the data in the fastest time from the server. 2/15/2018 12
  • 13. Replication • Auto data replication is also supported in NoSQL databases by default. Hence, if one DB server goes down, data is restored using its copy created on another server in network 2/15/2018 13
  • 14. Integrated Caching • Many NoSQL databases have support for Integrated Caching, where in the frequently demanded data is stored in cache to make the queries faster. 2/15/2018 14
  • 15. CAP theory for NoSQL • Consistency • Availability • Partitioning tolerance • How it is interpreted: – You must always give something up: consistency, availability or tolerance to failure and reconfiguration
  • 17. MongoDB - NoSQL Database • is a NoSQL database written in C++ language. • stores the data in form of key-value pairs. • MongoDB is a document oriented database where it stores data in collections instead of tables. • The best part of MongoDB is that the drivers are available for almost all the popular programming languages. 2/15/2018 17
  • 18. MongoDB - NoSQL Database Con… • provides high performance and scalability along with data modelling and data management of huge sets of data in an enterprise application. • provides the feature of Auto-Scaling. • MongoDB is a cross platform database and can be installed across different platforms like Windows, Linux etc. 2/15/2018 18
  • 19. Document based storage • A Document is nothing but a data structure with name- value pairs like in JSON. It is very easy to map any custom Object of any programming language with a MongoDB Document. • For example : Student object has attributes name , rollno and subjects , where subjects is a List. • Document for Student in MongoDB will be like : { name : "Stduytonight", rollno : 1, subjects : ["C Language", "C++", "Core Java"] } 2/15/2018 19
  • 20. Key Features of MongoDB • MongoDB provides high performance. • Input/output operations are lesser than relational databases due to support of embedded documents(data models) and Select queries are also faster as Indexes in MongoDB supports faster queries. 2/15/2018 20
  • 21. Key Features of MongoDB • MongoDB has a rich Query Language • supporting all the major CRUD operations. The Query Language also provides good Text Search and Aggregation features. • Horizontal Scalability is possible due to Sharding. • Auto Replication feature of MongoDB leads to High Availability. • It provides an automatic failover mechanism, as data is restored through backup(replica) copy if server fails 2/15/2018 21
  • 22. Organizations that use MongoDB • some of the big and notable organizations which are using MongoDB as database for most of their business applications. – Adobe – LinkedIn – McAfee – Four Square – eBay – SAP 2/15/2018 22
  • 23. Install • Download and install suitable package for each platform [Windows, Linux, Mac OSX, Solaris] • Create a folder e.g. C:mongodb • Go to bin of installation folder. • Run mongod.exe then mongo.exe • Make sure that mongod.exe (MongoDB Server) is running without any problems before running mongo.exe
  • 24. Install – create data directory
  • 25. Processes & configuration • Mongod – Database instance – It is the primary daemon process for the MongoDB system. It handles data requests, manages data access, and performs background management operations • Mongos – Sharding processes • Mongo – an interactive shell ( a client) – Fully functional JavaScript environment for use with a MongoDB
  • 26. The mongo shell • The mongo shell is an interactive JavaScript interface to MongoDB. • We can use the mongo shell to query and update data as well as perform administrative operations 2/15/2018 26

Editor's Notes

  1. You must be wondering what does dynamic schema means? In Relational Databases like Oracle, MySQL we define table structures, right? For example, if we want to save records of Student Data, then we will have to create a table named Student, add columns to it, like student_id, student_name etc, this is called defined schema, where in we define the structure before saving any data. If in future we plan to add some more related data in our Student table, then we will have to add a new column to our table. Which is easy, if we have less data in our tables, but what if we have millions of records. Migration to the updated schema would be a hectic job. NoSQL databases solve this problem, as in a NoSQL database, schema definition is not required ----------------------------