SlideShare a Scribd company logo
MongoDB“Walking on water and developing software from a
specification are easy if both are frozen.”
BY :
NklMish
@nklmish
Why & What?
Features
Aggregation framework overview
Sharding and Replica Set
Summary
Agenda
This talk is not about :
NoSql
Relational vs Non-Relational
Comparison of other NoSql flavors
NOTE
“One size fits all” approach no longer applies
NoSql Database
SchemaLess != NoSchema
Document based Approach
Non-Relational Dbs scale more easily, especially
horizontally
In a nutshell focus on speed, performance, flexibility and
scalability.
What is MongoDB?
“Nothing endures but change”
Agility.
High Scalability => horizontal => thousand of nodes or clouds or across multiple data centers
Rich Indexing
Real life example:
Server Density
OTTO
Expedia, Forbes, MetLife,Bosch, etc.
Why?
“Luck is not a factor. Hope is not a strategy. Fear is not an option”
RDBMS
Tables
Records/rows
Queries return
records
Mapping
“You improvise. You adapt. You overcome.”
MongoDB
Collections
Documents/objects
Queries return a
cursor ???? Because
of performance,
efficiency
Standard Db Features
Docs are stored in BSON => Mongo understands JSON
natively => Any Valid JSON can be imported and
queried(E.g. mongoimport -f foo.json).
Map Reduce
Aggregation Framework
GridFS (for Efficient binary large objects )
GeoNear
Features
“Stable Velocity. Sustainable Pace.”
$match – filter docs
$project – reshape docs
$group – Summarize docs
$unwind – Expand docs
$sort – Order docs
$limit/$skip – paginate docs
$redact – Restrict docs
$geoNear – Proximity sort docs
$let, $map – Define variables
Aggregation In Nutshell
“Talk is cheap. Show me the code”
{
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
{
name : “Javascript”,
price : 150,
Type : “hardCopy”
}
Matching
{$match : {
Type : “ebook”
}}
{
name : “Java”,
price : 200,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
{
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
{
name : “Javascript”,
price : 150,
Type : “hardCopy”
}
Query Operator
{$match : {
price : {$gt : 200}
}}
{
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
{
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
Including Excluding part of document
{$project : {
name :1,
price : 1,
Type : 0
}}
{
name : “Java”,
price : 200”
}
{
name : “Php”,
price : 200
}
{
name : “Java”,
price : 250,
Type : “ebook”,
quantity : 3
}
{
name : “Php”,
price : 200,
Type : “ebook”,
quantity : 2
}
Custom Field Computation
{$project : {
fullStock : {
$mul : [“$price”, “$quantity”]
},
Title : “$name”
}}
{
fullStock : 750,
Title: “Java”
}
{
price : 400,
Title: “Php”
}
{
name : “Java”,
price : 250,
Type : “ebook”,
quantity : 3
}
{
name : “Php”,
price : 200,
Type : “ebook”,
quantity : 2
}
Generating Sub-Document
{$project : {
fullStock : {
$mul : [“$price”, “$quantity”]
},
details : {Title : “$name”, quantity : “$quantity” }
}}
{
fullStock : 750,
details : {Title: “Java”, quantity : 3}
},
{,
fullStock : 400,
details : {Title: “Php”, quantity : 2}
}
$group
Group Docs by value
By default in memory processing
Helpful operators that go with:
$max, $min, $avg, $sum
$addToSet, $push
$first, $last
{
name : “Java Fun”,
publisher : “manning”,
price : 1000
}
{
name : “Oracle Fun”,
publisher : “manning”,
price : 1000
}
{
name : “Php Fun”,
publisher : “Orelly”,
price : 400
}
Compute Average
{$group : {
_id : “$publisher”,
avgPrice : {$avg : “$price” }
}}
{
_id: manning,
avgPrice :1000
},
{
_id : Php,,
avgPrice: 400
}
$unwind
Useful for doc containing array fields:
Create docs from array entries
Entries can be replace by value
{
publisher :“manning”,
title: [“java”, “Php”],
discount : 50%
}
$unwind
{$unwind : $category}
{
publisher : manning,
title: java,
discount :50%
},
{
publisher : manning,
title: Php,
discount :50%
}
$redact
Restrict access to docs based on doc fields
to define privileges
Useful terminology $$DESCEND, $$PRUNE,
$$KEEP
{
_id :123,
name : logo,
security : “ANYONE”,
Profit : {
security : “MARKETING”,
revenue : 500%,
ProfitByCountry : {
security : “BOARD_OF_DIRECTOR”
PL : 800 %
NO : 700 %
DK : 600%
SW : 500 %
}
}
}
$redact
db.products.aggregate([
{$match : {name : “logo”}},
$redact : {
$cond : {
if : {$eq : …},
then : “$$DESCEND”,
else : “$PRUNE
}
}
])
{...}
Sharding(Horizontal scaling)
Sharding
Allow to store data across multiple machines.
Ok but what for ?
Database systems with large data sets and high throughput applications
can challenge the capacity of a single server.
High query rates can exhaust the CPU capacity of the server.
Larger data sets exceed the storage capacity of a single machine
Working set sizes larger than the system’s RAM stress the I/O capacity of
disk drives.
Replica Set
Replica Set
Group of mongod processes that maintain the same data set. Provides redundancy and high
availability, in a nutshell basis for all production deployments.
Min 3 nodes required E.g.
Document oriented db.
Scale and performs well
Provide powerful aggregration framework
Tested on massive datasets.
Support for map reduce.
Summary
Questions ????

More Related Content

What's hot (20)

PPT
Tech Gupshup Meetup On MongoDB - 24/06/2016
Mukesh Tilokani
 
PPT
Xml dom & sax by bhavsingh maloth
Bhavsingh Maloth
 
PDF
Scala with mongodb
Knoldus Inc.
 
PDF
WordPress Café: Using WordPress as a Framework
Exove
 
PDF
CouchDB Open Source Bridge
Chris Anderson
 
PPTX
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...
BookNet Canada
 
PDF
Introduction to couchdb
iammutex
 
PPTX
Mongo DB 102
Abhijeet Vaikar
 
PPTX
Multipart form data
Yubin Lim
 
KEY
MongoDB hearts Django? (Django NYC)
Mike Dirolf
 
PPTX
Intro To Mongo Db
chriskite
 
PPT
Scala with MongoDB
Abdhesh Kumar
 
PPT
java script json
chauhankapil
 
PPTX
Json parser
Son Nguyen
 
PDF
Ebook Accessibility: Why, How, and What For - ebookcraft 2016 - Laura Brady
BookNet Canada
 
PDF
Introduction to MongoDB
Justin Smestad
 
PDF
ePUB 3 and Publishing e-books
Kerem Karatal
 
PPTX
Java script
rajshreemuthiah
 
PPTX
Elasticsearch
Michal Vrchota
 
PDF
Experion Presentation at JavaOne 2011: Memory optimizing Java ME applications
Experion Technologies
 
Tech Gupshup Meetup On MongoDB - 24/06/2016
Mukesh Tilokani
 
Xml dom & sax by bhavsingh maloth
Bhavsingh Maloth
 
Scala with mongodb
Knoldus Inc.
 
WordPress Café: Using WordPress as a Framework
Exove
 
CouchDB Open Source Bridge
Chris Anderson
 
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...
BookNet Canada
 
Introduction to couchdb
iammutex
 
Mongo DB 102
Abhijeet Vaikar
 
Multipart form data
Yubin Lim
 
MongoDB hearts Django? (Django NYC)
Mike Dirolf
 
Intro To Mongo Db
chriskite
 
Scala with MongoDB
Abdhesh Kumar
 
java script json
chauhankapil
 
Json parser
Son Nguyen
 
Ebook Accessibility: Why, How, and What For - ebookcraft 2016 - Laura Brady
BookNet Canada
 
Introduction to MongoDB
Justin Smestad
 
ePUB 3 and Publishing e-books
Kerem Karatal
 
Java script
rajshreemuthiah
 
Elasticsearch
Michal Vrchota
 
Experion Presentation at JavaOne 2011: Memory optimizing Java ME applications
Experion Technologies
 

Viewers also liked (17)

PDF
UArts 2012 Opening Meeting Invite
Pamela Shropshire
 
DOC
Discurso Verónika Mendoza en evento CONFIEP
Eduardo Zegarra Méndez
 
PDF
Po pierwsze smartfon
BPSC
 
PDF
Oficio simulacro de sismos y tsunami ugel chiclayo
Karina Verónica Santisteban Fernandez
 
PDF
Plan de Gobierno en Economia y Agro--Verónika Mendoza
Eduardo Zegarra Méndez
 
PPT
AEROSOLS
Jagadeesh Babu
 
PDF
Event triggered control design of linear networked systems with quantizations
ISA Interchange
 
PDF
Valve usage and replacement when converting power generation from coal to gas
Mountain States Engineering and Controls
 
PDF
Contrato docente Coar Lambayeque área tecnologías educativas
Karina Verónica Santisteban Fernandez
 
PDF
Built environment_urban transformation
Keerthana Ravichandran
 
PDF
Proposed urban renewal of nw ne quiapo district & riverfront revitalization
Aleli Arafol
 
PPT
Gaya hidup sihat
ashleywyf1984
 
PPTX
Pyrrole (o.c iv)
Srinivas Bhairy
 
PPTX
RECENT ADVANCES IN THE TREATMENT OF DIABETES MELLITUS AND ITS COMPLICATIONS
SANJAY YADAV
 
PPSX
Godrej company
Vasantkumar Parakhiya
 
PDF
Barbarians At the Gate
Carl Huckstep
 
UArts 2012 Opening Meeting Invite
Pamela Shropshire
 
Discurso Verónika Mendoza en evento CONFIEP
Eduardo Zegarra Méndez
 
Po pierwsze smartfon
BPSC
 
Oficio simulacro de sismos y tsunami ugel chiclayo
Karina Verónica Santisteban Fernandez
 
Plan de Gobierno en Economia y Agro--Verónika Mendoza
Eduardo Zegarra Méndez
 
AEROSOLS
Jagadeesh Babu
 
Event triggered control design of linear networked systems with quantizations
ISA Interchange
 
Valve usage and replacement when converting power generation from coal to gas
Mountain States Engineering and Controls
 
Contrato docente Coar Lambayeque área tecnologías educativas
Karina Verónica Santisteban Fernandez
 
Built environment_urban transformation
Keerthana Ravichandran
 
Proposed urban renewal of nw ne quiapo district & riverfront revitalization
Aleli Arafol
 
Gaya hidup sihat
ashleywyf1984
 
Pyrrole (o.c iv)
Srinivas Bhairy
 
RECENT ADVANCES IN THE TREATMENT OF DIABETES MELLITUS AND ITS COMPLICATIONS
SANJAY YADAV
 
Godrej company
Vasantkumar Parakhiya
 
Barbarians At the Gate
Carl Huckstep
 
Ad

Similar to Mongo - an intermediate introduction (20)

PPTX
Introduction to MongoDB and Workshop
AhmedabadJavaMeetup
 
PDF
Ams adapters
Bruno Alló Bacarini
 
PDF
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
PDF
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
confluent
 
PDF
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
PDF
The Django Book chapter 5 Models
Vincent Chien
 
KEY
Couchdb: No SQL? No driver? No problem
delagoya
 
PDF
Replacing Oracle with MongoDB for a templating application at the Bavarian go...
Comsysto Reply GmbH
 
PPTX
MongoDB 3.4 webinar
Andrew Morgan
 
PDF
MongoDB Munich 2012: MongoDB for official documents in Bavaria
MongoDB
 
PDF
Specification-Driven Development of REST APIs by Alexander Zinchuk
OdessaJS Conf
 
PDF
Building Your First MongoDB App
Henrik Ingo
 
ODP
Intro to CouchDB
sbisbee
 
PDF
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
NoSQLmatters
 
PDF
Introduction to CouchDB
OpusVL
 
PPTX
MongoDB
nikhil2807
 
PDF
jQuery and Rails: Best Friends Forever
stephskardal
 
KEY
[Coscup 2012] JavascriptMVC
Alive Kuo
 
PDF
OSGi and Spring Data for simple (Web) Application Development - Christian Bar...
mfrancis
 
PDF
OSGi and Spring Data for simple (Web) Application Development
Christian Baranowski
 
Introduction to MongoDB and Workshop
AhmedabadJavaMeetup
 
Ams adapters
Bruno Alló Bacarini
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
confluent
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
The Django Book chapter 5 Models
Vincent Chien
 
Couchdb: No SQL? No driver? No problem
delagoya
 
Replacing Oracle with MongoDB for a templating application at the Bavarian go...
Comsysto Reply GmbH
 
MongoDB 3.4 webinar
Andrew Morgan
 
MongoDB Munich 2012: MongoDB for official documents in Bavaria
MongoDB
 
Specification-Driven Development of REST APIs by Alexander Zinchuk
OdessaJS Conf
 
Building Your First MongoDB App
Henrik Ingo
 
Intro to CouchDB
sbisbee
 
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
NoSQLmatters
 
Introduction to CouchDB
OpusVL
 
MongoDB
nikhil2807
 
jQuery and Rails: Best Friends Forever
stephskardal
 
[Coscup 2012] JavascriptMVC
Alive Kuo
 
OSGi and Spring Data for simple (Web) Application Development - Christian Bar...
mfrancis
 
OSGi and Spring Data for simple (Web) Application Development
Christian Baranowski
 
Ad

More from nklmish (10)

PDF
Demystifying Kafka
nklmish
 
PDF
Scaling CQRS in theory, practice, and reality
nklmish
 
PDF
CQRS and EventSourcing with Spring & Axon
nklmish
 
PDF
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX
nklmish
 
PDF
Kotlin boost yourproductivity
nklmish
 
PDF
Distributed tracing - get a grasp on your production
nklmish
 
PDF
Spock
nklmish
 
PDF
Microservice no fluff, the REAL stuff
nklmish
 
PDF
Neo4J
nklmish
 
PPTX
Detailed Introduction To Docker
nklmish
 
Demystifying Kafka
nklmish
 
Scaling CQRS in theory, practice, and reality
nklmish
 
CQRS and EventSourcing with Spring & Axon
nklmish
 
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX
nklmish
 
Kotlin boost yourproductivity
nklmish
 
Distributed tracing - get a grasp on your production
nklmish
 
Spock
nklmish
 
Microservice no fluff, the REAL stuff
nklmish
 
Neo4J
nklmish
 
Detailed Introduction To Docker
nklmish
 

Recently uploaded (20)

PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 

Mongo - an intermediate introduction

  • 1. MongoDB“Walking on water and developing software from a specification are easy if both are frozen.” BY : NklMish @nklmish
  • 2. Why & What? Features Aggregation framework overview Sharding and Replica Set Summary Agenda
  • 3. This talk is not about : NoSql Relational vs Non-Relational Comparison of other NoSql flavors NOTE
  • 4. “One size fits all” approach no longer applies NoSql Database SchemaLess != NoSchema Document based Approach Non-Relational Dbs scale more easily, especially horizontally In a nutshell focus on speed, performance, flexibility and scalability. What is MongoDB? “Nothing endures but change”
  • 5. Agility. High Scalability => horizontal => thousand of nodes or clouds or across multiple data centers Rich Indexing Real life example: Server Density OTTO Expedia, Forbes, MetLife,Bosch, etc. Why? “Luck is not a factor. Hope is not a strategy. Fear is not an option”
  • 6. RDBMS Tables Records/rows Queries return records Mapping “You improvise. You adapt. You overcome.” MongoDB Collections Documents/objects Queries return a cursor ???? Because of performance, efficiency
  • 7. Standard Db Features Docs are stored in BSON => Mongo understands JSON natively => Any Valid JSON can be imported and queried(E.g. mongoimport -f foo.json). Map Reduce Aggregation Framework GridFS (for Efficient binary large objects ) GeoNear Features “Stable Velocity. Sustainable Pace.”
  • 8. $match – filter docs $project – reshape docs $group – Summarize docs $unwind – Expand docs $sort – Order docs $limit/$skip – paginate docs $redact – Restrict docs $geoNear – Proximity sort docs $let, $map – Define variables Aggregation In Nutshell “Talk is cheap. Show me the code”
  • 9. { name : “Java”, price : 250, Type : “ebook” } { name : “Php”, price : 200, Type : “ebook” } { name : “Javascript”, price : 150, Type : “hardCopy” } Matching {$match : { Type : “ebook” }} { name : “Java”, price : 200, Type : “ebook” } { name : “Php”, price : 200, Type : “ebook” }
  • 10. { name : “Java”, price : 250, Type : “ebook” } { name : “Php”, price : 200, Type : “ebook” } { name : “Javascript”, price : 150, Type : “hardCopy” } Query Operator {$match : { price : {$gt : 200} }} { name : “Java”, price : 250, Type : “ebook” } { name : “Php”, price : 200, Type : “ebook” }
  • 11. { name : “Java”, price : 250, Type : “ebook” } { name : “Php”, price : 200, Type : “ebook” } Including Excluding part of document {$project : { name :1, price : 1, Type : 0 }} { name : “Java”, price : 200” } { name : “Php”, price : 200 }
  • 12. { name : “Java”, price : 250, Type : “ebook”, quantity : 3 } { name : “Php”, price : 200, Type : “ebook”, quantity : 2 } Custom Field Computation {$project : { fullStock : { $mul : [“$price”, “$quantity”] }, Title : “$name” }} { fullStock : 750, Title: “Java” } { price : 400, Title: “Php” }
  • 13. { name : “Java”, price : 250, Type : “ebook”, quantity : 3 } { name : “Php”, price : 200, Type : “ebook”, quantity : 2 } Generating Sub-Document {$project : { fullStock : { $mul : [“$price”, “$quantity”] }, details : {Title : “$name”, quantity : “$quantity” } }} { fullStock : 750, details : {Title: “Java”, quantity : 3} }, {, fullStock : 400, details : {Title: “Php”, quantity : 2} }
  • 14. $group Group Docs by value By default in memory processing Helpful operators that go with: $max, $min, $avg, $sum $addToSet, $push $first, $last
  • 15. { name : “Java Fun”, publisher : “manning”, price : 1000 } { name : “Oracle Fun”, publisher : “manning”, price : 1000 } { name : “Php Fun”, publisher : “Orelly”, price : 400 } Compute Average {$group : { _id : “$publisher”, avgPrice : {$avg : “$price” } }} { _id: manning, avgPrice :1000 }, { _id : Php,, avgPrice: 400 }
  • 16. $unwind Useful for doc containing array fields: Create docs from array entries Entries can be replace by value
  • 17. { publisher :“manning”, title: [“java”, “Php”], discount : 50% } $unwind {$unwind : $category} { publisher : manning, title: java, discount :50% }, { publisher : manning, title: Php, discount :50% }
  • 18. $redact Restrict access to docs based on doc fields to define privileges Useful terminology $$DESCEND, $$PRUNE, $$KEEP
  • 19. { _id :123, name : logo, security : “ANYONE”, Profit : { security : “MARKETING”, revenue : 500%, ProfitByCountry : { security : “BOARD_OF_DIRECTOR” PL : 800 % NO : 700 % DK : 600% SW : 500 % } } } $redact db.products.aggregate([ {$match : {name : “logo”}}, $redact : { $cond : { if : {$eq : …}, then : “$$DESCEND”, else : “$PRUNE } } ]) {...}
  • 21. Sharding Allow to store data across multiple machines. Ok but what for ? Database systems with large data sets and high throughput applications can challenge the capacity of a single server. High query rates can exhaust the CPU capacity of the server. Larger data sets exceed the storage capacity of a single machine Working set sizes larger than the system’s RAM stress the I/O capacity of disk drives.
  • 23. Replica Set Group of mongod processes that maintain the same data set. Provides redundancy and high availability, in a nutshell basis for all production deployments. Min 3 nodes required E.g.
  • 24. Document oriented db. Scale and performs well Provide powerful aggregration framework Tested on massive datasets. Support for map reduce. Summary