SlideShare a Scribd company logo
1 of 71
Download to read offline
Eric Reid, Senior Consulting Engineer, MongoDB
Don't Panic –
The Hitchhiker's Guide to the MongoDB Galaxy
Volume 1
In Which We Define the Context of This Talk
The Hitchhiker’s Guide to the Galaxy
Douglas Adams
"The Guide is described as resembling 'a
small, thin, flexible lap computer’ encased
in a 'sturdy plastic cover' with the words
'Don't Panic' inscribed on it 'in large,
friendly letters'. It is presumably of robust
construction, making it able to withstand
falling through time/space wormholes and
being thrown into swamps, being rescued,
and still operating.”
A Slightly More Optimistic Message…
YOU
GOT
THIS!
% whoami
Gorilla gorilla (lowland)
Gorilla beringei (mountain)
Great Ape Conservation Fund
Part Silverback…
% whoami
42Gorilla gorilla (lowland)
Gorilla beringei (mountain)
Great Ape Conservation Fund
Part Silverback… Part Hitchhiker
Welcome, Fellow Hitchhiker
Is this you?
§ “I’ve been told I need to learn this MongoDB thing…”
§ “I want to learn MongoDB, but I don’t know where to start…”
§ “MongoDB seems to be expanding too fast to keep up with…”
§ “When I ask how to join tables in MongoDB, people snort…”
§ ”But, but, I’ve been using RDBMSs, like, forever !!!”
Welcome, Fellow Hitchhiker
Is this you?
§ “I’ve been told I need to learn this MongoDB thing…”
§ “I want to learn MongoDB, but I don’t know where to start…”
§ “MongoDB seems to be expanding too fast to keep up with…”
§ “When I ask how to join tables in MongoDB, people snort…”
§ ”But, but, I’ve been using RDBMSs forever !!!”
YOU
GOT
THIS!
Volume 2
In Which We Attempt to Assure You It’ll Be OK
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ All since 2007-2008 (really, since c. 2013)
Making Sense Of All Things Mongo
Comparison: A Certain Red-ish, 40-year-old RDBMS
§ All since 1977
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ All since 2007-2008 (really, since c. 2013)
The MongoDB Community
Open Source. Freely available for use. Thousands of
users, millions of deployments.
Server Community Edition
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ All since 2007-2008 (really, since c. 2013)
.
Server Enterprise Edition
MongoDB, Inc.
Support. Best Practices. DBaaS. Enterprise
functionality/features . Innovation.
Atlas MongoDB Service
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ All since 2007-2008 (really, since c. 2013)
.
Server Enterprise Edition
MongoDB, Inc.
Support. Best Practices. DBaaS. Enterprise
functionality/features . Innovation.
Atlas MongoDB Service
BI Connector
[connect to BI Tools]
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ All since 2007-2008 (really, since c. 2013)
.
Server Enterprise Edition
MongoDB, Inc.
Support. Best Practices. DBaaS. Enterprise
functionality/features . Innovation.
Atlas MongoDB Service
Ops Manager
[on-prem mgmt]
Cloud Manager
[hosted mgmt]
BI Connector
[connect to BI Tools]
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ All since 2007-2008 (really, since c. 2013)
.
Server Enterprise Edition
MongoDB, Inc.
Support. Best Practices. DBaaS. Enterprise
functionality/features . Innovation.
Atlas MongoDB Service
Ops Manager
[on-prem mgmt]
Sync + Stitch
[mobile / serverless]
Cloud Manager
[hosted mgmt]
BI Connector
[connect to BI Tools]
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ All since 2007-2008 (really, since c. 2013)
.
Server Enterprise Edition
MongoDB, Inc.
Support. Best Practices. DBaaS. Enterprise
functionality/features . Innovation.
Atlas MongoDB Service
Ops Manager
[on-prem mgmt]
Sync + Stitch
[mobile / serverless]
Cloud Manager
[hosted mgmt]
BI Connector
[connect to BI Tools]
Charts
[built-in visualization]
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ Too much stuff… panic… rising…
= ?
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
§ Too much stuff… panic… rising…
= ?
YOU
GOT
THIS!
Making Sense Of All Things Mongo
Our Rapidly Expanding Universe
Big MongoDB Rule:
It’s OK (and often desirable) to Start Simply
Volume 3
In Which We Enlighten Fellow Hitchhikers
In Search of the ‘Aha!’ Moments
The Story of the Data Designer
who had to have a schema…
In Search of the ‘Aha!’ Moments
Top 5 Takeaways for new MongoDB Hitchhikers
Top 5 Takeaways for new MongoDB Hitchhikers
1) MongoDB is proven for uses Big and Small
Top 5 Takeaways for new MongoDB Hitchhikers
1) MongoDB is proven for uses Big and Small
2) One needn’t use (or even fully understand) the more complex
pieces of MongoDB to use it well
Top 5 Takeaways for new MongoDB Hitchhikers
1) MongoDB is proven for uses Big and Small
2) One needn’t use (or even fully understand) the more complex
pieces of MongoDB to use it well
3) “Schemaless” is both a misnomer and an opportunity
Top 5 Takeaways for new MongoDB Hitchhikers
1) MongoDB is proven for uses Big and Small
2) One needn’t use (or even fully understand) the more complex
pieces of MongoDB to use it well
3) “Schemaless” is both a misnomer and an opportunity
4) New Hitchhikers need to check their preconceptions at the
door
Top 5 Takeaways for new MongoDB Hitchhikers
1) MongoDB is proven for uses Big and Small
2) One needn’t use (or even fully understand) the more complex
pieces of MongoDB to use it well
3) “Schemaless” is both a misnomer and an opportunity
4) New Hitchhikers need to check their preconceptions at the
door
5) Let your access patterns determine your data structure
Making Sense Of All Things Mongo
Start Simply and Locally
• MongoDB Server on your {laptop,desktop}, plus Compass or
MongoDB Shell
• Be Careful: mongos is not the MongoDB Shell!
• Be aware of MongoDB Shell database ‘context’
% mongo localhost:27017
> use myDatabase
switched to db myDatabase
> db.myCollection.insert({field:"this is in myDatabase.myCollection"})
WriteResult({ "nInserted" : 1 })
> use admin
switched to db admin
> db.myCollection.find()
>
Making Sense Of All Things Mongo
Start Simply and Locally
Making Sense Of All Things Mongo
Start Simply and Locally
• MongoDB Server on your {laptop,desktop}, plus Compass or
MongoDB Shell
Making Sense Of All Things Mongo
Start Simply and Locally
• MongoDB Server on your {laptop,desktop}, plus Compass or
MongoDB Shell
• Be Careful: mongos is not the MongoDB Shell
Making Sense Of All Things Mongo
Start Simply and Locally
• MongoDB Server on your {laptop,desktop}, plus Compass or
MongoDB Shell
• Be Careful: mongos is not the MongoDB Shell!
• Be aware of MongoDB Shell database ‘context’
% mongo localhost:27017
> use myDatabase
switched to db myDatabase
> db.myCollection.insert({field:"this is in myDatabase.myCollection"})
WriteResult({ "nInserted" : 1 })
> use admin
switched to db admin
> db.myCollection.find()
>
Making Sense Of All Things Mongo
Coming From RDBMS-land?
Making Sense Of All Things Mongo
Coming From RDBMS-land?
Jumping In
Data Design
Jumping In
Data Design
§ Access patterns drive MongoDB data design
Jumping In
Data Design
§ Access patterns drive MongoDB data design
§ Collection definition cannot be done in a vacuum
§ First: “What are the main types of things in your database?”
§ Then: “What are your apps’ most important queries?”
§ Then: “What are your apps’ most important writes?”
Jumping In
Data Design
§ Access patterns drive MongoDB data design
§ Collection definition cannot be done in a vacuum
§ First: “What are the main types of things in your database?”
§ Then: “What are your apps’ most important queries?”
§ Then: “What are your apps’ most important writes?”
§ Never, never, never, never, never expect to port an app from an
RDBMS with a 1:1 mapping from tables to collections
Jumping In
Data Design
§ Access patterns drive MongoDB data design
§ Collection definition cannot be done in a vacuum
§ First: “What are the main types of things in your database?”
§ Then: “What are your apps’ most important queries?”
§ Then: “What are your apps’ most important writes?”
§ Never, never, never, never, never expect to port an app from an
RDBMS with a 1:1 mapping from tables to collections
§ Know thy working set
“If I’d Only Known…”
Tales from the Road Warrior
“If I’d Only Known…”
Tales from the Road Warrior
§ MongoDB Shell is a JavaScript interpreter!
> for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) }
{ "acknowledged" : true, "insertedId" : 20 }
“If I’d Only Known…”
Tales from the Road Warrior
§ MongoDB Shell is a JavaScript interpreter!
§ MongoDB Shell has shortcuts
> for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) }
{ "acknowledged" : true, "insertedId" : 20 }
“If I’d Only Known…”
Tales from the Road Warrior
§ MongoDB Shell is a JavaScript interpreter!
§ MongoDB Shell has shortcuts
§ Don’t try to be overly clever with Boolean values
§ {$ne: true} is not the same as {$eq: false}
> for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) }
{ "acknowledged" : true, "insertedId" : 20 }
“If I’d Only Known…”
Tales from the Road Warrior
§ MongoDB Shell is a JavaScript interpreter!
§ MongoDB Shell has shortcuts
§ Don’t try to be overly clever with Boolean values
§ {$ne: true} is not the same as {$eq: false}
§ Copy-and-Paste can introduce “smart quotes”; MongoDB Shell
doesn’t like “smart quotes”
> for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) }
{ "acknowledged" : true, "insertedId" : 20 }
And now, Eric’s ‘Aha!’ Moment…
The story of bindIp
And now, Eric’s ‘Aha!’ Moment…
The story of bindIp
net:
port: 27017
bindIp: 127.0.0.1, 192.168.0.101
mongod.conf
Tools for Your MongoDB Life
Tools for Your MongoDB Life
m
§ https://github.com/aheckmann/m
§ Manage multiple versions of
MongoDB, quickly switch between
them
§ Used for: local sandboxes
$ m
4.0.5-ent
ο 4.0.8
4.0.9
$ m 4.0.9
Activating 4.0.9
$ mongod --version
db version v4.0.9
Tools for Your MongoDB Life
mtools
§ https://github.com/rueckstiess/mto
ols
§ a) Log analysis and visualization of
any mongod logfile
§ b) mlaunch quick spin-up script;
Stand up local test Standalone,
Replica Set, or Sharded Cluster in
seconds
$ mlaunch init --replicaset --
sharded 3
launching: "mongod" on port 27018
launching: "mongod" on port 27019
:
:
Tools for Your MongoDB Life
mgeneratejs
§ https://github.com/rueckstiess/mgeneratejs
§ Generate semi-structured JSON for import w/mongoimport
§ Used for: any instance
$ mgeneratejs '{"name": "$name", "age": "$age", "emails": {"$array":
{"of": "$email", "number": 3}}}' -n 1000000 > collectionData.json
$ mongoimport –d test –c myCollection collectionData.json
2019-04-18T17:31:26.922-0400 connected to: localhost
2019-04-18T17:32:57.893-0400 imported 1000000 documents
O, Where to Turn?
Community Resources for MongoDB Novitiate
O, Where to Turn?
Community Resources for MongoDB Novitiate
§ The MongoDB Slack Community is the place to meet other users, learn,
and get answers to questions.
O, Where to Turn?
Community Resources for MongoDB Novitiate
§ The MongoDB Slack Community is the place to meet other users, learn,
and get answers to questions.
§ MongoDB-User Community Support Forum: A community forum best
suited for open-ended, opinion-based, or general questions about
MongoDB. You can post and view the forum via the Google Groups web
interface or subscribe to updates via email.
O, Where to Turn?
Community Resources for MongoDB Novitiate
§ The MongoDB Slack Community is the place to meet other users, learn,
and get answers to questions.
§ MongoDB-User Community Support Forum: A community forum best
suited for open-ended, opinion-based, or general questions about
MongoDB. You can post and view the forum via the Google Groups web
interface or subscribe to updates via email.
§ Stack Overflow: A community Q&A site for specific programming
questions with factual, rather than subjective, answers
O, Where to Turn?
Community Resources for MongoDB Novitiate
§ The MongoDB Slack Community is the place to meet other users, learn,
and get answers to questions.
§ MongoDB-User Community Support Forum: A community forum best
suited for open-ended, opinion-based, or general questions about
MongoDB. You can post and view the forum via the Google Groups web
interface or subscribe to updates via email.
§ Stack Overflow: A community Q&A site for specific programming
questions with factual, rather than subjective, answers
§ DBA Stack Exchange: A community Q&A site for database administrators
and other database professionals.
O, Where to Turn?
Enterprise Resources for MongoDB Novitiate
O, Where to Turn?
Enterprise Resources for MongoDB Novitiate
§ MongoDB Technical Support provides Enterprise Customers with timely
technical support for MongoDB products
O, Where to Turn?
Enterprise Resources for MongoDB Novitiate
§ MongoDB Technical Support provides Enterprise Customers with timely
technical support for MongoDB products
§ MongoDB Professional Services gives Customers access to world class
MongoDB Best Practices and expertise on-site
O, Where to Turn?
Enterprise Resources for MongoDB Novitiate
§ MongoDB Technical Support provides Enterprise Customers with timely
technical support for MongoDB products
§ MongoDB Professional Services gives Customers access to world class
MongoDB Best Practices and expertise on-site
§ MongoDB University serves up free self-paced or instructor-paced virtual
courses, and offers MongoDB Admin and Developer Certifications
Summing Up
Summing Up
§ It’s OK to start simply with MongoDB
Summing Up
§ It’s OK to start simply with MongoDB
§ Be open to the new concepts and paradigms offered by
MongoDB
Summing Up
§ It’s OK to start simply with MongoDB
§ Be open to the new concepts and paradigms offered by
MongoDB
§ The ‘Aha!’ moments will come in time – look for them!
Summing Up
§ It’s OK to start simply with MongoDB
§ Be open to the new concepts and paradigms offered by
MongoDB
§ The ‘Aha!’ moments will come in time – look for them!
§ Don’t be afraid to ask
Summing Up
§ It’s OK to start simply with MongoDB
§ Be open to the new concepts and paradigms offered by
MongoDB
§ The ‘Aha!’ moments will come in time – look for them!
§ Don’t be afraid to ask
§ Don’t Panic You Got This!
YOU
GOT
THIS!
Volume 4
In Which We Entertain Your Queries Questions
Thank you!!!
Eric Reid
eric.reid@mongodb.com
mongosilverback.net
YOU
GOT
THIS!
Attribution
§ Hitchhikers Guide to the Galaxy Characters
© Douglas Adams
§ Hitchhiker’s Guide to the Galaxy Icons
by Iconshock
§ Silverback Photo
© Kathmandutraveler - Dreamstime.com
MongoDB World 2019: Don't Panic - The Hitchhiker's Guide to the MongoDB Galaxy

More Related Content

Similar to MongoDB World 2019: Don't Panic - The Hitchhiker's Guide to the MongoDB Galaxy

Building your first app with MongoDB
Building your first app with MongoDBBuilding your first app with MongoDB
Building your first app with MongoDBNorberto Leite
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsChristian Heilmann
 
Leveling Up at JavaScript
Leveling Up at JavaScriptLeveling Up at JavaScript
Leveling Up at JavaScriptRaymond Camden
 
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...MongoDB
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++Mike Acton
 
DrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and DrupalDrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and DrupalDoug Green
 
Intro To Mongo Db
Intro To Mongo DbIntro To Mongo Db
Intro To Mongo Dbchriskite
 
Social Analytics with MongoDB
Social Analytics with MongoDBSocial Analytics with MongoDB
Social Analytics with MongoDBPatrick Stokes
 
MongoDB Pros and Cons
MongoDB Pros and ConsMongoDB Pros and Cons
MongoDB Pros and Consjohnrjenson
 
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...DevSecCon
 
DevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesDevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesFab L
 
Ep keyote slides
Ep  keyote slidesEp  keyote slides
Ep keyote slidesOpenEBS
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...CodeOps Technologies LLP
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMilen Dyankov
 
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsMongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsSteven Francia
 
Javaland 2017: "You´ll do microservices now". Now what?
Javaland 2017: "You´ll do microservices now". Now what?Javaland 2017: "You´ll do microservices now". Now what?
Javaland 2017: "You´ll do microservices now". Now what?André Goliath
 
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainKen Collins
 

Similar to MongoDB World 2019: Don't Panic - The Hitchhiker's Guide to the MongoDB Galaxy (20)

Building your first app with MongoDB
Building your first app with MongoDBBuilding your first app with MongoDB
Building your first app with MongoDB
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
Leveling Up at JavaScript
Leveling Up at JavaScriptLeveling Up at JavaScript
Leveling Up at JavaScript
 
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++
 
DrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and DrupalDrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and Drupal
 
All of Javascript
All of JavascriptAll of Javascript
All of Javascript
 
Intro To Mongo Db
Intro To Mongo DbIntro To Mongo Db
Intro To Mongo Db
 
Social Analytics with MongoDB
Social Analytics with MongoDBSocial Analytics with MongoDB
Social Analytics with MongoDB
 
MongoDB Pros and Cons
MongoDB Pros and ConsMongoDB Pros and Cons
MongoDB Pros and Cons
 
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
 
DevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesDevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation Slides
 
Ep keyote slides
Ep  keyote slidesEp  keyote slides
Ep keyote slides
 
Ep keyote slides
Ep  keyote slidesEp  keyote slides
Ep keyote slides
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
 
1428393873 mhkx3 ln
1428393873 mhkx3 ln1428393873 mhkx3 ln
1428393873 mhkx3 ln
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
 
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsMongoDB, E-commerce and Transactions
MongoDB, E-commerce and Transactions
 
Javaland 2017: "You´ll do microservices now". Now what?
Javaland 2017: "You´ll do microservices now". Now what?Javaland 2017: "You´ll do microservices now". Now what?
Javaland 2017: "You´ll do microservices now". Now what?
 
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
 

More from MongoDB

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

More from MongoDB (20)

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

Recently uploaded

Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 

Recently uploaded (20)

Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 

MongoDB World 2019: Don't Panic - The Hitchhiker's Guide to the MongoDB Galaxy

  • 1. Eric Reid, Senior Consulting Engineer, MongoDB Don't Panic – The Hitchhiker's Guide to the MongoDB Galaxy
  • 2. Volume 1 In Which We Define the Context of This Talk
  • 3. The Hitchhiker’s Guide to the Galaxy Douglas Adams "The Guide is described as resembling 'a small, thin, flexible lap computer’ encased in a 'sturdy plastic cover' with the words 'Don't Panic' inscribed on it 'in large, friendly letters'. It is presumably of robust construction, making it able to withstand falling through time/space wormholes and being thrown into swamps, being rescued, and still operating.”
  • 4. A Slightly More Optimistic Message… YOU GOT THIS!
  • 5. % whoami Gorilla gorilla (lowland) Gorilla beringei (mountain) Great Ape Conservation Fund Part Silverback…
  • 6. % whoami 42Gorilla gorilla (lowland) Gorilla beringei (mountain) Great Ape Conservation Fund Part Silverback… Part Hitchhiker
  • 7. Welcome, Fellow Hitchhiker Is this you? § “I’ve been told I need to learn this MongoDB thing…” § “I want to learn MongoDB, but I don’t know where to start…” § “MongoDB seems to be expanding too fast to keep up with…” § “When I ask how to join tables in MongoDB, people snort…” § ”But, but, I’ve been using RDBMSs, like, forever !!!”
  • 8. Welcome, Fellow Hitchhiker Is this you? § “I’ve been told I need to learn this MongoDB thing…” § “I want to learn MongoDB, but I don’t know where to start…” § “MongoDB seems to be expanding too fast to keep up with…” § “When I ask how to join tables in MongoDB, people snort…” § ”But, but, I’ve been using RDBMSs forever !!!” YOU GOT THIS!
  • 9. Volume 2 In Which We Attempt to Assure You It’ll Be OK
  • 10. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § All since 2007-2008 (really, since c. 2013)
  • 11. Making Sense Of All Things Mongo Comparison: A Certain Red-ish, 40-year-old RDBMS § All since 1977
  • 12. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § All since 2007-2008 (really, since c. 2013) The MongoDB Community Open Source. Freely available for use. Thousands of users, millions of deployments. Server Community Edition
  • 13. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § All since 2007-2008 (really, since c. 2013) . Server Enterprise Edition MongoDB, Inc. Support. Best Practices. DBaaS. Enterprise functionality/features . Innovation. Atlas MongoDB Service
  • 14. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § All since 2007-2008 (really, since c. 2013) . Server Enterprise Edition MongoDB, Inc. Support. Best Practices. DBaaS. Enterprise functionality/features . Innovation. Atlas MongoDB Service BI Connector [connect to BI Tools]
  • 15. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § All since 2007-2008 (really, since c. 2013) . Server Enterprise Edition MongoDB, Inc. Support. Best Practices. DBaaS. Enterprise functionality/features . Innovation. Atlas MongoDB Service Ops Manager [on-prem mgmt] Cloud Manager [hosted mgmt] BI Connector [connect to BI Tools]
  • 16. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § All since 2007-2008 (really, since c. 2013) . Server Enterprise Edition MongoDB, Inc. Support. Best Practices. DBaaS. Enterprise functionality/features . Innovation. Atlas MongoDB Service Ops Manager [on-prem mgmt] Sync + Stitch [mobile / serverless] Cloud Manager [hosted mgmt] BI Connector [connect to BI Tools]
  • 17. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § All since 2007-2008 (really, since c. 2013) . Server Enterprise Edition MongoDB, Inc. Support. Best Practices. DBaaS. Enterprise functionality/features . Innovation. Atlas MongoDB Service Ops Manager [on-prem mgmt] Sync + Stitch [mobile / serverless] Cloud Manager [hosted mgmt] BI Connector [connect to BI Tools] Charts [built-in visualization]
  • 18. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § Too much stuff… panic… rising… = ?
  • 19. Making Sense Of All Things Mongo Our Rapidly Expanding Universe § Too much stuff… panic… rising… = ? YOU GOT THIS!
  • 20. Making Sense Of All Things Mongo Our Rapidly Expanding Universe Big MongoDB Rule: It’s OK (and often desirable) to Start Simply
  • 21. Volume 3 In Which We Enlighten Fellow Hitchhikers
  • 22. In Search of the ‘Aha!’ Moments The Story of the Data Designer who had to have a schema…
  • 23. In Search of the ‘Aha!’ Moments
  • 24. Top 5 Takeaways for new MongoDB Hitchhikers
  • 25. Top 5 Takeaways for new MongoDB Hitchhikers 1) MongoDB is proven for uses Big and Small
  • 26. Top 5 Takeaways for new MongoDB Hitchhikers 1) MongoDB is proven for uses Big and Small 2) One needn’t use (or even fully understand) the more complex pieces of MongoDB to use it well
  • 27. Top 5 Takeaways for new MongoDB Hitchhikers 1) MongoDB is proven for uses Big and Small 2) One needn’t use (or even fully understand) the more complex pieces of MongoDB to use it well 3) “Schemaless” is both a misnomer and an opportunity
  • 28. Top 5 Takeaways for new MongoDB Hitchhikers 1) MongoDB is proven for uses Big and Small 2) One needn’t use (or even fully understand) the more complex pieces of MongoDB to use it well 3) “Schemaless” is both a misnomer and an opportunity 4) New Hitchhikers need to check their preconceptions at the door
  • 29. Top 5 Takeaways for new MongoDB Hitchhikers 1) MongoDB is proven for uses Big and Small 2) One needn’t use (or even fully understand) the more complex pieces of MongoDB to use it well 3) “Schemaless” is both a misnomer and an opportunity 4) New Hitchhikers need to check their preconceptions at the door 5) Let your access patterns determine your data structure
  • 30. Making Sense Of All Things Mongo Start Simply and Locally • MongoDB Server on your {laptop,desktop}, plus Compass or MongoDB Shell • Be Careful: mongos is not the MongoDB Shell! • Be aware of MongoDB Shell database ‘context’ % mongo localhost:27017 > use myDatabase switched to db myDatabase > db.myCollection.insert({field:"this is in myDatabase.myCollection"}) WriteResult({ "nInserted" : 1 }) > use admin switched to db admin > db.myCollection.find() >
  • 31. Making Sense Of All Things Mongo Start Simply and Locally
  • 32. Making Sense Of All Things Mongo Start Simply and Locally • MongoDB Server on your {laptop,desktop}, plus Compass or MongoDB Shell
  • 33. Making Sense Of All Things Mongo Start Simply and Locally • MongoDB Server on your {laptop,desktop}, plus Compass or MongoDB Shell • Be Careful: mongos is not the MongoDB Shell
  • 34. Making Sense Of All Things Mongo Start Simply and Locally • MongoDB Server on your {laptop,desktop}, plus Compass or MongoDB Shell • Be Careful: mongos is not the MongoDB Shell! • Be aware of MongoDB Shell database ‘context’ % mongo localhost:27017 > use myDatabase switched to db myDatabase > db.myCollection.insert({field:"this is in myDatabase.myCollection"}) WriteResult({ "nInserted" : 1 }) > use admin switched to db admin > db.myCollection.find() >
  • 35. Making Sense Of All Things Mongo Coming From RDBMS-land?
  • 36. Making Sense Of All Things Mongo Coming From RDBMS-land?
  • 38. Jumping In Data Design § Access patterns drive MongoDB data design
  • 39. Jumping In Data Design § Access patterns drive MongoDB data design § Collection definition cannot be done in a vacuum § First: “What are the main types of things in your database?” § Then: “What are your apps’ most important queries?” § Then: “What are your apps’ most important writes?”
  • 40. Jumping In Data Design § Access patterns drive MongoDB data design § Collection definition cannot be done in a vacuum § First: “What are the main types of things in your database?” § Then: “What are your apps’ most important queries?” § Then: “What are your apps’ most important writes?” § Never, never, never, never, never expect to port an app from an RDBMS with a 1:1 mapping from tables to collections
  • 41. Jumping In Data Design § Access patterns drive MongoDB data design § Collection definition cannot be done in a vacuum § First: “What are the main types of things in your database?” § Then: “What are your apps’ most important queries?” § Then: “What are your apps’ most important writes?” § Never, never, never, never, never expect to port an app from an RDBMS with a 1:1 mapping from tables to collections § Know thy working set
  • 42. “If I’d Only Known…” Tales from the Road Warrior
  • 43. “If I’d Only Known…” Tales from the Road Warrior § MongoDB Shell is a JavaScript interpreter! > for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) } { "acknowledged" : true, "insertedId" : 20 }
  • 44. “If I’d Only Known…” Tales from the Road Warrior § MongoDB Shell is a JavaScript interpreter! § MongoDB Shell has shortcuts > for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) } { "acknowledged" : true, "insertedId" : 20 }
  • 45. “If I’d Only Known…” Tales from the Road Warrior § MongoDB Shell is a JavaScript interpreter! § MongoDB Shell has shortcuts § Don’t try to be overly clever with Boolean values § {$ne: true} is not the same as {$eq: false} > for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) } { "acknowledged" : true, "insertedId" : 20 }
  • 46. “If I’d Only Known…” Tales from the Road Warrior § MongoDB Shell is a JavaScript interpreter! § MongoDB Shell has shortcuts § Don’t try to be overly clever with Boolean values § {$ne: true} is not the same as {$eq: false} § Copy-and-Paste can introduce “smart quotes”; MongoDB Shell doesn’t like “smart quotes” > for (i=1; i<=20; i++) { db.testcol.insertOne( { _id : i, a : i } ) } { "acknowledged" : true, "insertedId" : 20 }
  • 47. And now, Eric’s ‘Aha!’ Moment… The story of bindIp
  • 48. And now, Eric’s ‘Aha!’ Moment… The story of bindIp net: port: 27017 bindIp: 127.0.0.1, 192.168.0.101 mongod.conf
  • 49. Tools for Your MongoDB Life
  • 50. Tools for Your MongoDB Life m § https://github.com/aheckmann/m § Manage multiple versions of MongoDB, quickly switch between them § Used for: local sandboxes $ m 4.0.5-ent ο 4.0.8 4.0.9 $ m 4.0.9 Activating 4.0.9 $ mongod --version db version v4.0.9
  • 51. Tools for Your MongoDB Life mtools § https://github.com/rueckstiess/mto ols § a) Log analysis and visualization of any mongod logfile § b) mlaunch quick spin-up script; Stand up local test Standalone, Replica Set, or Sharded Cluster in seconds $ mlaunch init --replicaset -- sharded 3 launching: "mongod" on port 27018 launching: "mongod" on port 27019 : :
  • 52. Tools for Your MongoDB Life mgeneratejs § https://github.com/rueckstiess/mgeneratejs § Generate semi-structured JSON for import w/mongoimport § Used for: any instance $ mgeneratejs '{"name": "$name", "age": "$age", "emails": {"$array": {"of": "$email", "number": 3}}}' -n 1000000 > collectionData.json $ mongoimport –d test –c myCollection collectionData.json 2019-04-18T17:31:26.922-0400 connected to: localhost 2019-04-18T17:32:57.893-0400 imported 1000000 documents
  • 53. O, Where to Turn? Community Resources for MongoDB Novitiate
  • 54. O, Where to Turn? Community Resources for MongoDB Novitiate § The MongoDB Slack Community is the place to meet other users, learn, and get answers to questions.
  • 55. O, Where to Turn? Community Resources for MongoDB Novitiate § The MongoDB Slack Community is the place to meet other users, learn, and get answers to questions. § MongoDB-User Community Support Forum: A community forum best suited for open-ended, opinion-based, or general questions about MongoDB. You can post and view the forum via the Google Groups web interface or subscribe to updates via email.
  • 56. O, Where to Turn? Community Resources for MongoDB Novitiate § The MongoDB Slack Community is the place to meet other users, learn, and get answers to questions. § MongoDB-User Community Support Forum: A community forum best suited for open-ended, opinion-based, or general questions about MongoDB. You can post and view the forum via the Google Groups web interface or subscribe to updates via email. § Stack Overflow: A community Q&A site for specific programming questions with factual, rather than subjective, answers
  • 57. O, Where to Turn? Community Resources for MongoDB Novitiate § The MongoDB Slack Community is the place to meet other users, learn, and get answers to questions. § MongoDB-User Community Support Forum: A community forum best suited for open-ended, opinion-based, or general questions about MongoDB. You can post and view the forum via the Google Groups web interface or subscribe to updates via email. § Stack Overflow: A community Q&A site for specific programming questions with factual, rather than subjective, answers § DBA Stack Exchange: A community Q&A site for database administrators and other database professionals.
  • 58. O, Where to Turn? Enterprise Resources for MongoDB Novitiate
  • 59. O, Where to Turn? Enterprise Resources for MongoDB Novitiate § MongoDB Technical Support provides Enterprise Customers with timely technical support for MongoDB products
  • 60. O, Where to Turn? Enterprise Resources for MongoDB Novitiate § MongoDB Technical Support provides Enterprise Customers with timely technical support for MongoDB products § MongoDB Professional Services gives Customers access to world class MongoDB Best Practices and expertise on-site
  • 61. O, Where to Turn? Enterprise Resources for MongoDB Novitiate § MongoDB Technical Support provides Enterprise Customers with timely technical support for MongoDB products § MongoDB Professional Services gives Customers access to world class MongoDB Best Practices and expertise on-site § MongoDB University serves up free self-paced or instructor-paced virtual courses, and offers MongoDB Admin and Developer Certifications
  • 63. Summing Up § It’s OK to start simply with MongoDB
  • 64. Summing Up § It’s OK to start simply with MongoDB § Be open to the new concepts and paradigms offered by MongoDB
  • 65. Summing Up § It’s OK to start simply with MongoDB § Be open to the new concepts and paradigms offered by MongoDB § The ‘Aha!’ moments will come in time – look for them!
  • 66. Summing Up § It’s OK to start simply with MongoDB § Be open to the new concepts and paradigms offered by MongoDB § The ‘Aha!’ moments will come in time – look for them! § Don’t be afraid to ask
  • 67. Summing Up § It’s OK to start simply with MongoDB § Be open to the new concepts and paradigms offered by MongoDB § The ‘Aha!’ moments will come in time – look for them! § Don’t be afraid to ask § Don’t Panic You Got This! YOU GOT THIS!
  • 68. Volume 4 In Which We Entertain Your Queries Questions
  • 70. Attribution § Hitchhikers Guide to the Galaxy Characters © Douglas Adams § Hitchhiker’s Guide to the Galaxy Icons by Iconshock § Silverback Photo © Kathmandutraveler - Dreamstime.com