SlideShare a Scribd company logo
León, December 4th 2015
Juan Antonio Roy Couto
basicsbasics
#UniLEMongoDB
Twitter Hashtag MongoDB Basics
2
Who am I?
Juan Antonio Roy Couto
❏ Financial Software Developer
❏ Email: juanroycouto@gmail.com
❏ Twitter: @juanroycouto
❏ Linkedin: https://www.linkedin.com/in/juanroycouto
❏ Slideshare: slideshare.net/juanroycouto
❏ Personal blog: http://www.juanroy.es
❏ Contributor at: http://www.mongodbspain.com
❏ Charrosfera member: http://www.charrosfera.com
MongoDB Basics
3
❏ History
❏ Ranking, Who, Community & Metrics, Drivers
❏ Products
❏ Cluster Overview
❏ Characteristics
❏ Schema Design
❏ How does MongoDB work?
❏ Utilities
❏ Data analytics
❏ Ops Manager
❏ Cloud Manager
Agenda MongoDB Basics
4
History MongoDB Basics
MongoDB
Internet of things
Cloud computing
Wearables
Apps
Smart cities
❏ Non structured data
❏ Enabling Big Data analytics
❏ Faster development
❏ Real time analytics
❏ Better strategic decisions
❏ Reduce costs and time to
market
5
DB Ranking
DB-Engines Ranking & Gartner Magic Quadrant
MongoDB Basics
6
Who? MongoDB Basics
7
Who is using MongoDB?
https://www.mongodb.com/who-uses-mongodb
Who provides MongoDB?
https://www.mongodb.com/partners/list
Community & Metrics
https://www.mongodb.org/community
MongoDB Basics
❏ 10 million downloads
❏ 2,000+ customers (including over one third of the Fortune 100)
❏ 100+ MongoDB User Groups and 40,000 members worldwide
❏ 300,000+ Education Registrations
❏ The only “Challenger” to relational databases in Gartner’s
Operational Database Magic Quadrant
❏ Highest placed non-relational database in DB Engines rankings
8
Drivers
https://docs.mongodb.org/ecosystem/drivers/
MongoDB Basics
9
MongoDB
APP
DRIVER
❏ c
❏ c++
❏ c#
❏ Java
❏ Node.js
❏ Perl
❏ PHP
❏ Python
❏ Motor
❏ Ruby
❏ Scala
❏ Go
❏ Erlang
Products
https://www.mongodb.com/products/overview
MongoDB Basics
10
Enterprise Advanced
❏ 24-365 Support
❏ Ops or Cloud Manager
❏ Advanced Security
❏ On-Demand Training, ...
Professional
❏ Expert Support
❏ Cloud Manager
Cloud Manager
Development
❏ Expert Support
❏ Enterprise Advanced
❏ Personal Training
Ops Manager Consulting Training
Concepts MongoDB Basics
11
MongoDB SQL
Database Database
Collection Table
Document Row
Field Column
Embedding/$lookup Join
Stand-alone MongoDB installation MongoDB Basics
12
MongoDB
Client
DRIVER
Client
DRIVER
Client
DRIVER
SecondarySecondary
Replica Set MongoDB installation MongoDB Basics
13
Primary
Client
DRIVER
Client
DRIVER
Client
DRIVER
Replica Set
Replica Set
Secondary
Secondary
Cluster overview MongoDB Basics
14
Primary
Client
DRIVER
Client
DRIVER
Client
DRIVER
Secondary
Secondary
Primary
Secondary
Secondary
Primary
Secondary
Secondary
Primary
mongos mongos mongos
config server
config server
config server
Shard 0 Shard 1 Shard 2 Shard N-1
Characteristics
http://www.mongodbspain.com/en/2014/08/17/mongodb-characteristics-future/
MongoDB Basics
15
MongoDB Characteristics
Open Source & General Purpose NoSQL Database Document Oriented (JSON) & Schemaless
High Availability (Native Replication) Automatic Failover
Scalability (Auto Sharding & Load Balancing)
TTL Indexes, Capped Collections, Index Intersection, full-text
search, GeoSpatial Queries (2d & 2dsphere)
Security (Authentication, Authorization, Users, Roles) Aggregation Framework & MapReduce
Connectors for:
● Hadoop & Spark (Batch Data Processing)
● BI (Business Inteligence)
Pluggable Storage Engine API (WiredTiger, MMAPv1,
Encrypted,In-memory,...)
Joins ($lookup) Document validation, Compass GUI, ...
JSON Document MongoDB Basics
16
> db.customers.findOne()
{
"_id" : ObjectId("54131863041cd2e6181156ba"),
"first_name" : "Peter",
"last_name" : "Keil",
"address" : {
"street" : "C/Alcalá",
"number" : 123,
"location" : "Madrid",
},
"pets" : [
{
"type" : "Dog",
"breed" : "Airedale Terrier",
"name" : "Linda",
},
{
"type" : "Dog",
"breed" : "Akita",
"name" : "Bruto",
}
]
}
>
SQL Schema Design MongoDB Basics
17
❏ Customer Key
❏ First Name
❏ Last Name
Tables
Customers
❏ Address Key
❏ Customer Key
❏ Street
❏ Number
❏ Location
Addresses
❏ Pet Key
❏ Customer Key
❏ Type
❏ Breed
❏ Name
Pets
MongoDB Schema Design MongoDB Basics
18
Customers Collection
❏ Street
❏ Number
❏ Location
Addresses
❏ Type
❏ Breed
❏ Name
Pets
Customers Info
❏ First Name
❏ Last Name
❏ Type
❏ Breed
❏ Name
> db.customers.findOne()
{
"_id" : ObjectId("54131863041cd2e6181156ba"),
"first_name" : "Peter",
"last_name" : "Keil",
"address" : {
"street" : "C/Alcalá",
"number" : 123,
"location" : "Madrid",
},
"pets" : [
{
"type" : "Dog",
"breed" : "Airedale Terrier",
"name" : "Linda",
},
{
"type" : "Dog",
"breed" : "Akita",
"name" : "Bruto",
}
]
}
>
❏ Replica set
❏ Shards
❏ config servers
❏ mongos
❏ Cluster overview
Cluster overview MongoDB Basics
19
Cluster overview
Replica Set
❏ High Availability
❏ Data Safety
❏ Asynchronous
❏ Automatic Node Recovery
❏ Read Preference
❏ Write Concern
Replica Set
Secondary
Secondary
Primary
MongoDB Basics
20
❏ Scale out
❏ Even data distribution across all of the
shards based on a shard key
❏ A shard key range belongs to only one
shard
❏ More efficient queries (performance)
Cluster overview
Shards
Cluster
Shard 0 Shard 2Shard 1
A-I J-Q R-Z
MongoDB Basics
21
Cluster overview
Config servers
❏ config database
❏ Identical information (consistency check).
❏ Metadata:
❏ Cluster shards list
❏ Data per shard (chunk ranges)
❏ ...
❏ Replica Set (3.2 version)
MongoDB Basics
22
❏ Receives client requests and returns results.
❏ Reads the metadata and sends the query to the necessary
shard/shards.
❏ Does not store data.
❏ Keeps a cache version of the metadata.
Cluster overview
mongos
MongoDB Basics
23
Definitions
❏ Range: Data division based on the values of the shard key.
❏ Chunk: They are not physical data. Chunks are just a logical grouping of
data into ranges (64MB by default).
❏ Split: Chunk division (size > 64MB). No data is moved. Background.
❏ Migration: Chunk movements between shards in order to get an even
distribution. Only one chunk is moved at a time.
❏ Balanced system: The same number of chunks per shard.
❏ Balancer: Checks if a migration is needed and starts it (background).
❏ Pre-split: First data is split, then it is stored.
❏ Tag-based sharding: Used when you want to pin ranges to a specific
shard.
MongoDB Basics
24
How does MongoDB work?
Shard 0 Shard 1 Shard 2 Shard 3
mongos
Client
Migrations
MongoDB Basics
25
Utilities
Backup tools
MongoDB Basics
26
Name Description
mongoexport Generates a JSON or CSV file from a mongodb instance
mongoimport Imports content from a JSON, CSV or TSV export
mongodump Utility for creating a binary export
mongorestore Writes data to a mongodb instance from a binary file
Utilities
Track tools
MongoDB Basics
27
Name Description
mongostat
Provides a quick overview of the status of a running mongod or
mongos instance
mongotop
Provides a method to track the amount of time a mongodb
instance spends reading or writing data.
mongotop provides statistics on a collection level.
By default, returns values each second.
Data analytics MongoDB Basics
28
❏ Internals
❏ Aggregation Framework
❏ Map Reduce
❏ Externals
❏ Spark
❏ Hadoop
❏ Tableau (BI)
❏ ...
OPS Manager MongoDB Basics
29
The best way to run MongoDB within your own data center or public cloud
❏ Monitors 100+ key database and system health metrics
(operations, memory, CPU,...)
❏ Customizable web dashboard
❏ Deploy new clusters (adding shards, replica set members,…)
❏ Alerts
❏ Backup (point-in-time recovery)
❏ Automation (upgrades, scaling,..)
Cloud Manager MongoDB Basics
❏ Simplify complex operational tasks (Reduce tedious manual steps to just a click of a button)
❏ Automated database management (deploy and upgrade with zero downtime)
❏ Continuous real-time backup (Cloud manager is disaster recovery).
❏ Full performance visibility
❏ Alerts
❏ Get the insights you need to make critical decisions fast.
❏ Cloud Manager saves you time, money, and helps you protect the customer experience by
eliminating the guesswork from running MongoDB.
30
❏ High Performance
❏ Flexible
❏ Automatic Scalable
❏ Automatic Failover
❏ High Availability
❏ Reduced Administrative Tasks (replica set, sharding, disaster recovery)
❏ Real Time Analytic Tools (aggregation framework, mapReduce, Hadoop,
Spark, and BI connectors,...)
❏ Easy To Learn
Summary MongoDB Basics
31
Questions?
Questions? MongoDB Basics
32
Thank you for your attention!
MongoDB Basics
León, December 4th 2015
Juan Antonio Roy Couto

More Related Content

ODP
MongoDB Concepts
PPTX
Tag based sharding presentation
PPTX
PDF
Шардинг в MongoDB, Henrik Ingo (MongoDB)
PDF
Introduction to Sharding
PDF
Mongo db basics
PPTX
MongoDB - External Authentication
PDF
MongoDB - visualisation of slow operations
MongoDB Concepts
Tag based sharding presentation
Шардинг в MongoDB, Henrik Ingo (MongoDB)
Introduction to Sharding
Mongo db basics
MongoDB - External Authentication
MongoDB - visualisation of slow operations

What's hot (20)

PPTX
MongoDB Roadmap
PPTX
PPTX
Get expertise with mongo db
PPTX
MongoDB basics & Introduction
PPTX
MongoDB: Comparing WiredTiger In-Memory Engine to Redis
PDF
A New MongoDB Sharding Architecture for Higher Availability and Better Resour...
PPTX
MongoDB - Sharded Cluster Tutorial
KEY
Mongodb sharding
ODP
MongoDB - Ekino PHP
PDF
Managing Data and Operation Distribution In MongoDB
PDF
MongoDB FabLab León
PPTX
Advanced Sharding Features in MongoDB 2.4
PPTX
MongoDB for Beginners
PPTX
MongoDB Scalability Best Practices
PPTX
MongoDB Auto-Sharding at Mongo Seattle
PPTX
Choosing a Shard key
PDF
Mongo db basics
PPTX
Back to Basics Webinar 6: Production Deployment
PPTX
Back to Basics Spanish 4 Introduction to sharding
PDF
Sharding
MongoDB Roadmap
Get expertise with mongo db
MongoDB basics & Introduction
MongoDB: Comparing WiredTiger In-Memory Engine to Redis
A New MongoDB Sharding Architecture for Higher Availability and Better Resour...
MongoDB - Sharded Cluster Tutorial
Mongodb sharding
MongoDB - Ekino PHP
Managing Data and Operation Distribution In MongoDB
MongoDB FabLab León
Advanced Sharding Features in MongoDB 2.4
MongoDB for Beginners
MongoDB Scalability Best Practices
MongoDB Auto-Sharding at Mongo Seattle
Choosing a Shard key
Mongo db basics
Back to Basics Webinar 6: Production Deployment
Back to Basics Spanish 4 Introduction to sharding
Sharding
Ad

Viewers also liked (16)

PPTX
Mongo db on azure for developers
PDF
MongoDB Evenings Houston: What's the Scoop on MongoDB and Hadoop? by Jake Ang...
PPT
2010 mongo berlin-shardinginternals (1)
PDF
Webinar: Building Your First App with MongoDB and Java
PDF
Complex Legacy System Archiving/Data Retention with MongoDB and Xquery
PDF
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
PDF
Big Data at Oracle - Strata 2015 San Jose
PDF
Bhawani prasad data integration-ppt
PDF
Mongo DB
PDF
MongoDB Launchpad 2016: MongoDB 3.4: Your Database Evolved
PDF
MongoDB World 2016: Scaling MongoDB with Docker and cGroups
PDF
Mettre en Oeuvre une Plateforme d'Intégration et de Gestion des Informations ...
PPT
MongoDB Schema Design
PPTX
MongoDB Schema Design: Four Real-World Examples
PPT
MDM Strategy & Roadmap
PDF
Alphorm.com-Formation MongoDB Administration
Mongo db on azure for developers
MongoDB Evenings Houston: What's the Scoop on MongoDB and Hadoop? by Jake Ang...
2010 mongo berlin-shardinginternals (1)
Webinar: Building Your First App with MongoDB and Java
Complex Legacy System Archiving/Data Retention with MongoDB and Xquery
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
Big Data at Oracle - Strata 2015 San Jose
Bhawani prasad data integration-ppt
Mongo DB
MongoDB Launchpad 2016: MongoDB 3.4: Your Database Evolved
MongoDB World 2016: Scaling MongoDB with Docker and cGroups
Mettre en Oeuvre une Plateforme d'Intégration et de Gestion des Informations ...
MongoDB Schema Design
MongoDB Schema Design: Four Real-World Examples
MDM Strategy & Roadmap
Alphorm.com-Formation MongoDB Administration
Ad

Similar to MongoDB Basics Unileon (20)

PPTX
MongoDB Workshop Universidad de Huelva
PDF
mongodb tutorial
PPTX
MongoDB 3.2 - a giant leap. What’s new?
PDF
Mongodb
PPT
MongoDB Pros and Cons
PDF
An introduction to MongoDB
PDF
An introduction to MongoDB by César Trigo #OpenExpoDay 2014
PPTX
MongoDB Schema Design: Practical Applications and Implications
PPT
MongoDB Tick Data Presentation
PDF
MongoDB
PPT
MongoDB Knowledge Shareing
PPTX
Conceptos básicos. Seminario web 6: Despliegue de producción
PPTX
How sitecore depends on mongo db for scalability and performance, and what it...
PPT
MongoDB Sharding Webinar 2014
PDF
MongoDB Europe 2016 - Big Data meets Big Compute
PDF
Mongodb (1)
DOCX
What is the significance of MongoDB and what are its usages.docx
PPTX
Dev Jumpstart: Build Your First App with MongoDB
PPTX
Architecting Wide-ranging Analytical Solutions with MongoDB
PDF
Mongo db transcript
MongoDB Workshop Universidad de Huelva
mongodb tutorial
MongoDB 3.2 - a giant leap. What’s new?
Mongodb
MongoDB Pros and Cons
An introduction to MongoDB
An introduction to MongoDB by César Trigo #OpenExpoDay 2014
MongoDB Schema Design: Practical Applications and Implications
MongoDB Tick Data Presentation
MongoDB
MongoDB Knowledge Shareing
Conceptos básicos. Seminario web 6: Despliegue de producción
How sitecore depends on mongo db for scalability and performance, and what it...
MongoDB Sharding Webinar 2014
MongoDB Europe 2016 - Big Data meets Big Compute
Mongodb (1)
What is the significance of MongoDB and what are its usages.docx
Dev Jumpstart: Build Your First App with MongoDB
Architecting Wide-ranging Analytical Solutions with MongoDB
Mongo db transcript

Recently uploaded (20)

PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPTX
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
PPTX
Supervised vs unsupervised machine learning algorithms
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PDF
Lecture1 pattern recognition............
PDF
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
PDF
Fluorescence-microscope_Botany_detailed content
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
climate analysis of Dhaka ,Banglades.pptx
PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PDF
Business Analytics and business intelligence.pdf
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
Introduction-to-Cloud-ComputingFinal.pptx
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
Supervised vs unsupervised machine learning algorithms
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
Miokarditis (Inflamasi pada Otot Jantung)
Business Ppt On Nestle.pptx huunnnhhgfvu
Reliability_Chapter_ presentation 1221.5784
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
Lecture1 pattern recognition............
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
Fluorescence-microscope_Botany_detailed content
STUDY DESIGN details- Lt Col Maksud (21).pptx
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
climate analysis of Dhaka ,Banglades.pptx
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
Data_Analytics_and_PowerBI_Presentation.pptx
Business Analytics and business intelligence.pdf

MongoDB Basics Unileon

  • 1. León, December 4th 2015 Juan Antonio Roy Couto basicsbasics
  • 3. Who am I? Juan Antonio Roy Couto ❏ Financial Software Developer ❏ Email: juanroycouto@gmail.com ❏ Twitter: @juanroycouto ❏ Linkedin: https://www.linkedin.com/in/juanroycouto ❏ Slideshare: slideshare.net/juanroycouto ❏ Personal blog: http://www.juanroy.es ❏ Contributor at: http://www.mongodbspain.com ❏ Charrosfera member: http://www.charrosfera.com MongoDB Basics 3
  • 4. ❏ History ❏ Ranking, Who, Community & Metrics, Drivers ❏ Products ❏ Cluster Overview ❏ Characteristics ❏ Schema Design ❏ How does MongoDB work? ❏ Utilities ❏ Data analytics ❏ Ops Manager ❏ Cloud Manager Agenda MongoDB Basics 4
  • 5. History MongoDB Basics MongoDB Internet of things Cloud computing Wearables Apps Smart cities ❏ Non structured data ❏ Enabling Big Data analytics ❏ Faster development ❏ Real time analytics ❏ Better strategic decisions ❏ Reduce costs and time to market 5
  • 6. DB Ranking DB-Engines Ranking & Gartner Magic Quadrant MongoDB Basics 6
  • 7. Who? MongoDB Basics 7 Who is using MongoDB? https://www.mongodb.com/who-uses-mongodb Who provides MongoDB? https://www.mongodb.com/partners/list
  • 8. Community & Metrics https://www.mongodb.org/community MongoDB Basics ❏ 10 million downloads ❏ 2,000+ customers (including over one third of the Fortune 100) ❏ 100+ MongoDB User Groups and 40,000 members worldwide ❏ 300,000+ Education Registrations ❏ The only “Challenger” to relational databases in Gartner’s Operational Database Magic Quadrant ❏ Highest placed non-relational database in DB Engines rankings 8
  • 9. Drivers https://docs.mongodb.org/ecosystem/drivers/ MongoDB Basics 9 MongoDB APP DRIVER ❏ c ❏ c++ ❏ c# ❏ Java ❏ Node.js ❏ Perl ❏ PHP ❏ Python ❏ Motor ❏ Ruby ❏ Scala ❏ Go ❏ Erlang
  • 10. Products https://www.mongodb.com/products/overview MongoDB Basics 10 Enterprise Advanced ❏ 24-365 Support ❏ Ops or Cloud Manager ❏ Advanced Security ❏ On-Demand Training, ... Professional ❏ Expert Support ❏ Cloud Manager Cloud Manager Development ❏ Expert Support ❏ Enterprise Advanced ❏ Personal Training Ops Manager Consulting Training
  • 11. Concepts MongoDB Basics 11 MongoDB SQL Database Database Collection Table Document Row Field Column Embedding/$lookup Join
  • 12. Stand-alone MongoDB installation MongoDB Basics 12 MongoDB Client DRIVER Client DRIVER Client DRIVER
  • 13. SecondarySecondary Replica Set MongoDB installation MongoDB Basics 13 Primary Client DRIVER Client DRIVER Client DRIVER Replica Set
  • 14. Replica Set Secondary Secondary Cluster overview MongoDB Basics 14 Primary Client DRIVER Client DRIVER Client DRIVER Secondary Secondary Primary Secondary Secondary Primary Secondary Secondary Primary mongos mongos mongos config server config server config server Shard 0 Shard 1 Shard 2 Shard N-1
  • 15. Characteristics http://www.mongodbspain.com/en/2014/08/17/mongodb-characteristics-future/ MongoDB Basics 15 MongoDB Characteristics Open Source & General Purpose NoSQL Database Document Oriented (JSON) & Schemaless High Availability (Native Replication) Automatic Failover Scalability (Auto Sharding & Load Balancing) TTL Indexes, Capped Collections, Index Intersection, full-text search, GeoSpatial Queries (2d & 2dsphere) Security (Authentication, Authorization, Users, Roles) Aggregation Framework & MapReduce Connectors for: ● Hadoop & Spark (Batch Data Processing) ● BI (Business Inteligence) Pluggable Storage Engine API (WiredTiger, MMAPv1, Encrypted,In-memory,...) Joins ($lookup) Document validation, Compass GUI, ...
  • 16. JSON Document MongoDB Basics 16 > db.customers.findOne() { "_id" : ObjectId("54131863041cd2e6181156ba"), "first_name" : "Peter", "last_name" : "Keil", "address" : { "street" : "C/Alcalá", "number" : 123, "location" : "Madrid", }, "pets" : [ { "type" : "Dog", "breed" : "Airedale Terrier", "name" : "Linda", }, { "type" : "Dog", "breed" : "Akita", "name" : "Bruto", } ] } >
  • 17. SQL Schema Design MongoDB Basics 17 ❏ Customer Key ❏ First Name ❏ Last Name Tables Customers ❏ Address Key ❏ Customer Key ❏ Street ❏ Number ❏ Location Addresses ❏ Pet Key ❏ Customer Key ❏ Type ❏ Breed ❏ Name Pets
  • 18. MongoDB Schema Design MongoDB Basics 18 Customers Collection ❏ Street ❏ Number ❏ Location Addresses ❏ Type ❏ Breed ❏ Name Pets Customers Info ❏ First Name ❏ Last Name ❏ Type ❏ Breed ❏ Name > db.customers.findOne() { "_id" : ObjectId("54131863041cd2e6181156ba"), "first_name" : "Peter", "last_name" : "Keil", "address" : { "street" : "C/Alcalá", "number" : 123, "location" : "Madrid", }, "pets" : [ { "type" : "Dog", "breed" : "Airedale Terrier", "name" : "Linda", }, { "type" : "Dog", "breed" : "Akita", "name" : "Bruto", } ] } >
  • 19. ❏ Replica set ❏ Shards ❏ config servers ❏ mongos ❏ Cluster overview Cluster overview MongoDB Basics 19
  • 20. Cluster overview Replica Set ❏ High Availability ❏ Data Safety ❏ Asynchronous ❏ Automatic Node Recovery ❏ Read Preference ❏ Write Concern Replica Set Secondary Secondary Primary MongoDB Basics 20
  • 21. ❏ Scale out ❏ Even data distribution across all of the shards based on a shard key ❏ A shard key range belongs to only one shard ❏ More efficient queries (performance) Cluster overview Shards Cluster Shard 0 Shard 2Shard 1 A-I J-Q R-Z MongoDB Basics 21
  • 22. Cluster overview Config servers ❏ config database ❏ Identical information (consistency check). ❏ Metadata: ❏ Cluster shards list ❏ Data per shard (chunk ranges) ❏ ... ❏ Replica Set (3.2 version) MongoDB Basics 22
  • 23. ❏ Receives client requests and returns results. ❏ Reads the metadata and sends the query to the necessary shard/shards. ❏ Does not store data. ❏ Keeps a cache version of the metadata. Cluster overview mongos MongoDB Basics 23
  • 24. Definitions ❏ Range: Data division based on the values of the shard key. ❏ Chunk: They are not physical data. Chunks are just a logical grouping of data into ranges (64MB by default). ❏ Split: Chunk division (size > 64MB). No data is moved. Background. ❏ Migration: Chunk movements between shards in order to get an even distribution. Only one chunk is moved at a time. ❏ Balanced system: The same number of chunks per shard. ❏ Balancer: Checks if a migration is needed and starts it (background). ❏ Pre-split: First data is split, then it is stored. ❏ Tag-based sharding: Used when you want to pin ranges to a specific shard. MongoDB Basics 24
  • 25. How does MongoDB work? Shard 0 Shard 1 Shard 2 Shard 3 mongos Client Migrations MongoDB Basics 25
  • 26. Utilities Backup tools MongoDB Basics 26 Name Description mongoexport Generates a JSON or CSV file from a mongodb instance mongoimport Imports content from a JSON, CSV or TSV export mongodump Utility for creating a binary export mongorestore Writes data to a mongodb instance from a binary file
  • 27. Utilities Track tools MongoDB Basics 27 Name Description mongostat Provides a quick overview of the status of a running mongod or mongos instance mongotop Provides a method to track the amount of time a mongodb instance spends reading or writing data. mongotop provides statistics on a collection level. By default, returns values each second.
  • 28. Data analytics MongoDB Basics 28 ❏ Internals ❏ Aggregation Framework ❏ Map Reduce ❏ Externals ❏ Spark ❏ Hadoop ❏ Tableau (BI) ❏ ...
  • 29. OPS Manager MongoDB Basics 29 The best way to run MongoDB within your own data center or public cloud ❏ Monitors 100+ key database and system health metrics (operations, memory, CPU,...) ❏ Customizable web dashboard ❏ Deploy new clusters (adding shards, replica set members,…) ❏ Alerts ❏ Backup (point-in-time recovery) ❏ Automation (upgrades, scaling,..)
  • 30. Cloud Manager MongoDB Basics ❏ Simplify complex operational tasks (Reduce tedious manual steps to just a click of a button) ❏ Automated database management (deploy and upgrade with zero downtime) ❏ Continuous real-time backup (Cloud manager is disaster recovery). ❏ Full performance visibility ❏ Alerts ❏ Get the insights you need to make critical decisions fast. ❏ Cloud Manager saves you time, money, and helps you protect the customer experience by eliminating the guesswork from running MongoDB. 30
  • 31. ❏ High Performance ❏ Flexible ❏ Automatic Scalable ❏ Automatic Failover ❏ High Availability ❏ Reduced Administrative Tasks (replica set, sharding, disaster recovery) ❏ Real Time Analytic Tools (aggregation framework, mapReduce, Hadoop, Spark, and BI connectors,...) ❏ Easy To Learn Summary MongoDB Basics 31
  • 33. Thank you for your attention! MongoDB Basics León, December 4th 2015 Juan Antonio Roy Couto