SlideShare a Scribd company logo
#MDBlocal
Jumpstart!
Your Introduction To MongoDB
#MDBlocal
Jay Gordon
Cloud Developer Advocate
MongoDB - NYC
@jaydestro
#MDBlocal
WHY AM I HERE?
I love waking up early.
or...
You are ready to start your MongoDB.local
Experience!
#MDBlocal
Agenda
• Compatibility
• Document Model
• Query Language
• MongoDB Components
• SysAdmin/DevOps - Implementation
#MDBlocal
WHAT COLOR IS
THIS DRESS?
#MDBlocal
Social Media goes wild…
#MDBlocal
It went viral
#MDBlocal
The webservers… not so happy.
#MDBlocal
The webservers… not so happy.
#MDBlocal
App handling votes, handled requests like
a champ
#MDBlocal
What did I learn?
● People like dresses
● People LOVE sharing opinions
● The web servers were not efficient
● MongoDB withstood the traffic
● MongoDB was perfect for voting app
#MDBlocal
#MDBlocal
#MDBlocal
ENOUGH ABOUT ME.
#MDBlocal
OK, so what is MongoDB?
MongoDB is a cross-platform and open-
source document-oriented database, a
kind of NoSQL database. As a document
database, MongoDB shuns the relational
database's table-based structure to
adapt JSON-like documents that have
dynamic schemas which it calls BSON.
#MDBlocal
OK, so what is MongoDB?
● Written in C++, C and JavaScript.
● Source and binary packages
available for download on
mongodb.com/download
● Affero GPL License
● Ready for Cloud or Bare Metal
Environments
#MDBlocal
OK, so what is MongoDB?
MongoDB was written to make it simple to store
data.
{"Key": "Value"}
Create dynamic schemas for your data.
Model your data based on your app.
#MDBlocal
More than just key-value
var LocationSchema = new Schema({
name: String,
loc: {
type: [Number], // [<longitude>, <latitude>]
index: '2d' // create the geospatial index
}
});
Create dynamic schemas for your data.
Model your data based on your app.
#MDBlocal
#MDBlocal
COMPATIBILITY
#MDBlocal
MongoDB was made to run anywhere…
#MDBlocal
Use the languages you know to access
your data..
#MDBlocal
DOCUMENT MODEL
#MDBlocal
We're talkin' about documents
#MDBlocal
We're talkin' about documents
#MDBlocal
We're talkin' about documents
#MDBlocal
Rich data similar to JSON
#MDBlocal
Rich data similar to JSON
● Binary serialization JSON data representation!
● Easier to transfer than text files.
● Lightweight, transversable, efficient.
#MDBlocal
QUERY LANGUAGE
#MDBlocal
Expressive Query Language - Compass
#MDBlocal
Expressive Query Language - mongo Shell
#MDBlocal
Expressive Query Language
#MDBlocal
Indexes
Indexes support the efficient execution of queries in
MongoDB.
Without indexes, MongoDB must perform a collection
scan
(Look at every doc for results)
#MDBlocal
Index Types
• Single Field
• Multikey
• Text
• Geospatial
• Hashed
• Compound
#MDBlocal
Aggregation Pipeline
A framework for data aggregation modeled on the
concept of data processing pipelines.
Documents enter a multi-stage pipeline that
transforms the documents into aggregated results.
#MDBlocal
Aggregation Pipeline
Reduce the CPU cycles in processing your app, let
MongoDB handle aggregation.
Results produced from aggregation lower in total
byte size of your data, saving bandwidth.
#MDBlocal
Think about a Unix pipeline, stages
bash-3.2$ ps auxwww | grep mongod.conf | awk '{
print $2 }'
39087
41024
#MDBlocal
Collection of Zip Code Data : Data Model
{
"_id": "10280",
"city": "NEW YORK",
"state": "NY",
"pop": 5574,
"loc": [
-74.016323,
40.710537
]
}
#MDBlocal
Return States with Populations above 10
Million
db.zipcodes.aggregate( [
{ $group: { _id: "$state", totalPop: { $sum:
"$pop" } } },
{ $match: { totalPop: { $gte: 10*1000*1000 }
} }
] )
#MDBlocal
MONGODB COMPONENTS
#MDBlocal
Replica Sets
A replica set in MongoDB is a group of mongod
processes that maintain the same data set
Replica sets provide redundancy and high
availability, and are the basis for all production
deployments.
#MDBlocal
Replication
PRIMARY
SECONDARY SECONDARY
DRIVER
APPLICATION
#MDBlocal
Replication
PRIMARY
SECONDARY SECONDARY
DRIVER
APPLICATION
#MDBlocal
Replication
SECONDARY PRIMARY
DRIVER
APPLICATION
FAILED
#MDBlocal
Replication
SECONDARY PRIMARY
DRIVER
APPLICATION
RECOVERY
#MDBlocal
Replication
SECONDARY PRIMARY
DRIVER
APPLICATION
SECONDARY
#MDBlocal
Sharding - Increase throughput through
distribution
Sharding is a method for distributing data across
multiple machines.
MongoDB uses sharding to support deployments
with very large data sets and high throughput
operations.
#MDBlocal
Sharded Cluster Example
SHARD
0
SHARD
1
SHARD
2
SHARD
3
ROUTER
mongos
DRIVER
APPLICATION
P
S S
CONFIG SERVERS
#MDBlocal
Sharded Replicas Example
ROUTER
mongos
DRIVER
APPLICATION
P
S S
P
S S
P
S S
P
S S
P
S S
CONFIG SERVERS
#MDBlocal
DEVOPS AND SYSADMINS
LET'S TALK ABOUT
MAKING LIFE EASIER
#MDBlocal
Tasks to consider...
PATCHES
UPGRADES
SECURITY
BACKUPS
RECOVERY
99.999% UPTIME
UPSCALE
DOWNSCALE
#MDBlocal
Helping you deploy in any environment...
Cloud ManagerOps Manager MongoDB Atlas
data: on-prem or
cloud
ops: on-prem or
cloud
data: on-prem or
cloud
ops: cloud
Fully Managed Cloud
ConvenienceControl
#MDBlocal
Helping you deploy in any environment...
ConvenienceControl
Cloud ManagerOps Manager MongoDB Atlas
data: on-prem or
cloud
ops: on-prem or
cloud
data: on-prem or
cloud
ops: cloud
Fully Managed Cloud
#MDBlocal
Helping you deploy in any environment...
ConvenienceControl
Cloud ManagerOps Manager MongoDB Atlas
data: on-prem or
cloud
ops: on-prem or
cloud
data: on-prem or
cloud
ops: cloud
Fully Managed Cloud
#MDBlocal
Fully automated MongoDB hosting in the
cloud
#MDBlocal
The smartest and easiest way to run
MongoDB!
Elastic MongoDB Service in Cloud
Secure by default
VPC peering for AWS
Performance tools
Point-in-time restores
Monitoring and Alerting
Real-time performance metrics
#MDBlocal
The smartest and easiest way to run
MongoDB!
Three node prod set, default!
Self Healing
Redundant (Multi-AZ)
#MDBlocal
Security, MongoDB Atlas's #1 Priority
In-flight Security:
• TLS/SSL
• Authentication and Authorization
• IP Whitelists
• User roles
• At-rest security:
• VPC Peering (AWS)
• AES-256 CBC hardware encryption
#MDBlocal
Scale with ease
#MDBlocal
Backups and Disaster Recovery
● Snapshots every 6 hours
● Point-in-time backup of replica
● Pay-as-you-go
● Set up at any time
● Queryable Backup without full restore
● Replicas are for redundancy, not data
recovery
#MDBlocal
Data Explorer
#MDBlocal
Graphs and Metrics
● MongoDB specific
● Hardware specific
● Utilization
● Performance
#MDBlocal
Real time performance information
#MDBlocal
Monitoring and Alerting
● Supports Third-Party integrations
● Webhooks
● Email
● SMS
● PagerDuty
● Slack
#MDBlocal
Live migration tools
● Just provide details on where your data is
● Cutover window provided by tailing oplog live
● Reduced downtime over manual import
● Support directly from MongoDB team
#MDBlocal
Deploy with your DevOps Automation
Tools
#MDBlocal
Your data is flexible, your Cloud Platform
can be too
#MDBlocal
Integration with Backend as a Service,
Stitch
#MDBlocal
Atlas free tier, get started now!
● mongodb.com/atlas
● Free three node cluster
● 512 MB Disk
● No credit card
● Easiest way to start
#MDBlocal
What's Next?
● Keynotes
● Sessions
● Ask The Experts
● MongoDB University
● YouTube Tutorials
● Advocacy Hub
#MDBlocal
THANK YOU
FOR JOINING!

More Related Content

What's hot (20)

PPTX
Creating Highly Available MongoDB Microservices with Docker Containers and Ku...
MongoDB
 
PDF
Serverless architecture: introduction & first steps
The Software House
 
PPTX
NGINX for Application Delivery & Acceleration
NGINX, Inc.
 
PPTX
Building the Real-Time Performance Panel
MongoDB
 
PDF
"High-load is at the intersection of DevOps and PHP development",
Fwdays
 
PDF
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Frank Munz
 
ODP
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Bastiaan Bakker
 
PDF
Engineering an Encrypted Storage Engine
MongoDB
 
PDF
Devoxx fr 2016 - Apache Kafka - Stream Data Platform
Publicis Sapient Engineering
 
PDF
Optimizing MongoDB: Lessons Learned at Localytics
andrew311
 
PDF
Building an Angular 2 App
Felix Gessert
 
PDF
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
Nguyen Duc Phu
 
PPTX
Interconnecting containers at scale #Dockercon
sarahnovotny
 
PDF
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Frank Munz
 
PDF
Google cloud run + elixir boilerplate
Renato Freire Ricardo
 
PPTX
Using Aggregation for Analytics
MongoDB
 
PPTX
Serverless Presentation from Devoxx 2017 Casablanca (AWS Lambda / FaaS / Fn ...
Frank Munz
 
PDF
IoT-javascript-2019-fosdem
Phil www.rzr.online.fr
 
PDF
NATS in action - A Real time Microservices Architecture handled by NATS
Raül Pérez
 
PPT
MongoDB Basic Concepts
MongoDB
 
Creating Highly Available MongoDB Microservices with Docker Containers and Ku...
MongoDB
 
Serverless architecture: introduction & first steps
The Software House
 
NGINX for Application Delivery & Acceleration
NGINX, Inc.
 
Building the Real-Time Performance Panel
MongoDB
 
"High-load is at the intersection of DevOps and PHP development",
Fwdays
 
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Frank Munz
 
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Bastiaan Bakker
 
Engineering an Encrypted Storage Engine
MongoDB
 
Devoxx fr 2016 - Apache Kafka - Stream Data Platform
Publicis Sapient Engineering
 
Optimizing MongoDB: Lessons Learned at Localytics
andrew311
 
Building an Angular 2 App
Felix Gessert
 
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
Nguyen Duc Phu
 
Interconnecting containers at scale #Dockercon
sarahnovotny
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Frank Munz
 
Google cloud run + elixir boilerplate
Renato Freire Ricardo
 
Using Aggregation for Analytics
MongoDB
 
Serverless Presentation from Devoxx 2017 Casablanca (AWS Lambda / FaaS / Fn ...
Frank Munz
 
IoT-javascript-2019-fosdem
Phil www.rzr.online.fr
 
NATS in action - A Real time Microservices Architecture handled by NATS
Raül Pérez
 
MongoDB Basic Concepts
MongoDB
 

Similar to Jumpstart: Your Introduction To MongoDB (20)

PPTX
Jumpstart: Your Introduction to MongoDB
MongoDB
 
PPTX
Jumpstart: Your Introduction to MongoDB
MongoDB
 
PPTX
Webinar: When to Use MongoDB
MongoDB
 
PPTX
MongoDB Evening Austin, TX 2017
MongoDB
 
PPTX
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
MongoDB
 
PPTX
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Andrew Morgan
 
PPTX
When to Use MongoDB
MongoDB
 
PDF
Webinar: Data Streaming with Apache Kafka & MongoDB
MongoDB
 
PDF
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB
 
PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
PPTX
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDB
MongoDB
 
PPTX
MongoDB BI Connector & Tableau
MongoDB
 
PPTX
Webinar: Simplifying the Database Experience with MongoDB Atlas
MongoDB
 
PDF
Mongo db first steps with csharp
Serdar Buyuktemiz
 
PPTX
Webinar: Live Data Visualisation with Tableau and MongoDB
MongoDB
 
PPTX
Addressing Your Backup Needs Using Ops Manager and Atlas
MongoDB
 
PPTX
Using MongoDB For BigData in 20 Minutes
András Fehér
 
PPTX
MongoDB.local Sydney: An Introduction to Document Databases with MongoDB
MongoDB
 
PDF
Pros and Cons of MongoDB in Web Development
Nirvana Canada
 
PDF
Scaling MongoDB with Docker and cgroups
marcoita
 
Jumpstart: Your Introduction to MongoDB
MongoDB
 
Jumpstart: Your Introduction to MongoDB
MongoDB
 
Webinar: When to Use MongoDB
MongoDB
 
MongoDB Evening Austin, TX 2017
MongoDB
 
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
MongoDB
 
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Andrew Morgan
 
When to Use MongoDB
MongoDB
 
Webinar: Data Streaming with Apache Kafka & MongoDB
MongoDB
 
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDB
MongoDB
 
MongoDB BI Connector & Tableau
MongoDB
 
Webinar: Simplifying the Database Experience with MongoDB Atlas
MongoDB
 
Mongo db first steps with csharp
Serdar Buyuktemiz
 
Webinar: Live Data Visualisation with Tableau and MongoDB
MongoDB
 
Addressing Your Backup Needs Using Ops Manager and Atlas
MongoDB
 
Using MongoDB For BigData in 20 Minutes
András Fehér
 
MongoDB.local Sydney: An Introduction to Document Databases with MongoDB
MongoDB
 
Pros and Cons of MongoDB in Web Development
Nirvana Canada
 
Scaling MongoDB with Docker and cgroups
marcoita
 
Ad

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
PDF
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
PDF
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
PDF
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
PDF
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
PDF
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
PDF
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
PDF
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 
PDF
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB
 
Ad

Jumpstart: Your Introduction To MongoDB