SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
5 Reasons that made MongoDB
the Leading NoSQL Database
Henrik Ingo
Solutions Architect, MongoDB
2
Hi, I am Henrik Ingo
@h_ingo
5 Reasons that made MongoDB
the Leading NoSQL Database
Henrik Ingo
Solutions Architect, MongoDB
4
1. Open Source
2. Replication
3. Sharding
4. Schemaless
5. Cloud, Big Data...
5 MongoDB features that are
NOT reasons to choose MongoDB
5
1. Open Source
2. Replication
3. Sharding
4. Schemaless
5. Cloud, Big Data...
Reasons to move FROM relational TO NoSQL
...all NoSQL Databases do this.
Ok, so what ARE the
Top 5 reasons to choose MongoDB?
1. General purpose
8
1. General Purpose Database
Big Data Product & Asset
Catalogs
Security &
Fraud
Internet of
Things
Database-as-a-
Service
Mobile
Apps
Customer Data
Management
Data
Hub
Social &
Collaboration
Content
Management
Intelligence Agencies
Top Investment and
Retail Banks
Top US Retailer
Top Global Shipping
Company
Top Industrial Equipment
Manufacturer
Top Media Company
Top Investment and
Retail Banks
9
5 NoSQL categories
Key Value Wide Column Document
Graph Map Reduce
Redis, Riak Cassandra
Neo4j Hadoop
10
MongoDB is a Document Database
MongoDB
Rich Queries
• Find Paul’s cars
• Find everybody in London with a car
built between 1970 and 1980
Geospatial
• Find all of the car owners within 5km of
Trafalgar Sq.
Text Search
• Find all the cars described as having
leather seats
Aggregation
• Calculate the average value of Paul’s
car collection
Map Reduce
• What is the ownership pattern of colors
by geography over time? (is purple
trending up in China?)
{
first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location:
[45.123,47.232],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
}
}
11
Most popular NoSQL database
12
Most popular NoSQL database
Document
Wide
Column
Wide
Column
KV
KV
Graph DocumentKV KV
13
Hadoop
Document
Right tool for the right job
Column
KV
Graph
14
Hadoop
Right tool for the right job
RDBMS .
Document
Column
KV
Graph
15
Operational Database Landscape
2. Agile
17
Ease of use
Paul Downey (17419636)
Easy to use
18
Integrated single binary
Chalon Handmade (6206864791)
Integrated single binary
19
Replication & sharding
Replication & Sharding
Daniel Oines (7390222182)
20
mms.mongodb.com/learn-more/automation
MMS Automation
21
Schemaless iterative development
22
{
first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location:
[45.123,47.232],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
}
}
Flexible Schema
23
Rich query language = less code
MongoDB
Rich Queries
• Find Paul’s cars
• Find everybody in London with a car
built between 1970 and 1980
Geospatial
• Find all of the car owners within 5km of
Trafalgar Sq.
Text Search
• Find all the cars described as having
leather seats
Aggregation
• Calculate the average value of Paul’s
car collection
Map Reduce
• What is the ownership pattern of colors
by geography over time? (is purple
trending up in China?)
{
first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location:
[45.123,47.232],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
}
}
24
Query language = JSON & JavaScript
db.collection.find( { "firstname" : "Henrik" } )
25
Real life agility
Customer Project RDBMS MongoDB
360O customer view
$22M
2 years
Failed
Minimal
90 days
In production
Subscriber database
20 tables
35 joins
login = 5 joins
high latencies
15 months
20 persons
5 collections
2 queries
login = 1 query
10x faster
4 months
10 persons
eCommerce analytics
prototyped only
perf challenges
prototype in 1 week
good perf
http://www.mongodb.com/lp/whitepaper/quantifying-business-advantage
3. JSON & JavaScript
27
MEAN stack
Express.js
28
MEAN stack
Express.js
JSON
JSON
29
JavaScript
JVM stack
JVM
RDBMS
JDBC Spring, Morphia
JSON
Tomcat, Jetty, Play, Spring...
JSON
4. Aggregation Framework
31
OpenStreetMap data as JSON
db.collection.find( { "firstname" : "Henrik" } )
{ "_id" : 98684990,
"addr:housenumber" : "4",
"website" : "http://www.ravintolapohjanpoika.fi/",
"amenity" : "pub",
"addr:city" : "Helsinki",
"addr:postcode" : "00770",
"location" : {
"type" : "Point",
"coordinates" : [
25.0760622,
60.261145
]
},
"addr:street" : "Jakomäenkuja",
"addr:country" : "FI",
"name" : "Pohjanpoika"
}
http://rosslawley.co.uk/posts/the-most-popular-pub-name/
32
OpenStreetMap data as JSON
db.collection.find( { "firstname" : "Henrik" } )
db.pubs.aggregate( [
{ $match : { "addr:city" : { $in :
[ "Helsinki", "Turku", "Tampere" ] } } },
{ $group : { "_id" : "$addr:city", "count" : { "$sum" : 1 } } },
{ $sort : { "count" : -1 } }
] )
{ "_id" : "Helsinki", "count" : 150 }
{ "_id" : "Tampere", "count" : 53 }
{ "_id" : "Turku", "count" : 23 }
33
Big Data warning: data may be dirty
db.collection.find( { "firstname" : "Henrik" } )
db.pubs.find( { "addr:city" : { $exists : false } } ).count()
2291
db.pubs.find( { "addr:city" : { $exists : true } } ).count()
701
34
Sharding is a first class citizen
db.collection.find( { "firstname" : "Henrik" } )
{ $match : ... }
{ $group : ... }
{ $sort : ... }
DB DB DB
Query Router
35
Sharding is a first class citizen
db.collection.find( { "firstname" : "Henrik" } )
{ results }
{ $match : ... }
{ $group : ... }
{ $sort : ... }
{ $match : ... }
{ $group : ... }
{ $sort : ... }
{ $match : ... }
{ $group : ... }
{ $sort : ... }
{ $group : ... }
{ $sort : ... }
5. Ecosystem
37
7,000,000+
MongoDB Downloads
150,000+
Online Education Registrants
35,000+
MongoDB Management Service (MMS) Users
30,000+
MongoDB User Group Members
20,000+
MongoDB Days Attendees
Global Community
38
MongoDB Partners (500)
Software & Services
Cloud & Channel Hardware
39
MongoDB Inc
350+ employees 1,000+ customers
Over $231 million in funding13 offices around the world
Summary
41
1. Open Source
2. Replication
3. Sharding
4. Schemaless
5. Agile, Cloud, Big Data...
5 MongoDB features that are
NOT reasons to choose MongoDB
42
1. General purpose
2. Agile
3. JSON & JavaScript
4. Aggregation framework
5. Ecosystem
Top 5 reasons to choose MongoDB
5 Reasons that made MongoDB the leading NoSQL Database

Contenu connexe

En vedette

OSCON 2012 MongoDB Tutorial
OSCON 2012 MongoDB TutorialOSCON 2012 MongoDB Tutorial
OSCON 2012 MongoDB Tutorial
Steven Francia
 

En vedette (10)

OSCON 2012 MongoDB Tutorial
OSCON 2012 MongoDB TutorialOSCON 2012 MongoDB Tutorial
OSCON 2012 MongoDB Tutorial
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdams
 
Neo, Titan & Cassandra
Neo, Titan & CassandraNeo, Titan & Cassandra
Neo, Titan & Cassandra
 
CouchDB Vs MongoDB
CouchDB Vs MongoDBCouchDB Vs MongoDB
CouchDB Vs MongoDB
 
Scalable sentiment classification for big data analysis using naive bayes cla...
Scalable sentiment classification for big data analysis using naive bayes cla...Scalable sentiment classification for big data analysis using naive bayes cla...
Scalable sentiment classification for big data analysis using naive bayes cla...
 
Java application monitoring with Dropwizard Metrics and graphite
Java application monitoring with Dropwizard Metrics and graphite Java application monitoring with Dropwizard Metrics and graphite
Java application monitoring with Dropwizard Metrics and graphite
 
Intro To MongoDB
Intro To MongoDBIntro To MongoDB
Intro To MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
MongoDB Schema Design
MongoDB Schema DesignMongoDB Schema Design
MongoDB Schema Design
 

Plus de Henrik Ingo

Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failover
Henrik Ingo
 
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Henrik Ingo
 
Introducing Xtrabackup Manager
Introducing Xtrabackup ManagerIntroducing Xtrabackup Manager
Introducing Xtrabackup Manager
Henrik Ingo
 
Databases and the Cloud
Databases and the CloudDatabases and the Cloud
Databases and the Cloud
Henrik Ingo
 
Fixed in drizzle
Fixed in drizzleFixed in drizzle
Fixed in drizzle
Henrik Ingo
 
How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011
Henrik Ingo
 

Plus de Henrik Ingo (17)

Introduction to new high performance storage engines in mongodb 3.0
Introduction to new high performance storage engines in mongodb 3.0Introduction to new high performance storage engines in mongodb 3.0
Introduction to new high performance storage engines in mongodb 3.0
 
Meteor - The next generation software stack
Meteor - The next generation software stackMeteor - The next generation software stack
Meteor - The next generation software stack
 
MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014 MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014
 
Building Your First MongoDB App
Building Your First MongoDB AppBuilding Your First MongoDB App
Building Your First MongoDB App
 
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop ConnectorAnalytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop Connector
 
Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19
Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19
Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19
 
Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failover
 
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
 
Introducing Xtrabackup Manager
Introducing Xtrabackup ManagerIntroducing Xtrabackup Manager
Introducing Xtrabackup Manager
 
Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)
 
Froscon 2012 how big corporations play the open source game
Froscon 2012   how big corporations play the open source gameFroscon 2012   how big corporations play the open source game
Froscon 2012 how big corporations play the open source game
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to Galera
 
Databases and the Cloud
Databases and the CloudDatabases and the Cloud
Databases and the Cloud
 
Fixed in drizzle
Fixed in drizzleFixed in drizzle
Fixed in drizzle
 
Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011
 
Froscon2011: How i learned to use sql and then learned not to use it
Froscon2011:  How i learned to use sql and then learned not to use itFroscon2011:  How i learned to use sql and then learned not to use it
Froscon2011: How i learned to use sql and then learned not to use it
 
How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011
 

Dernier

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
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
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
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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 the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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)
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

5 Reasons that made MongoDB the leading NoSQL Database

  • 1. 5 Reasons that made MongoDB the Leading NoSQL Database Henrik Ingo Solutions Architect, MongoDB
  • 2. 2 Hi, I am Henrik Ingo @h_ingo
  • 3. 5 Reasons that made MongoDB the Leading NoSQL Database Henrik Ingo Solutions Architect, MongoDB
  • 4. 4 1. Open Source 2. Replication 3. Sharding 4. Schemaless 5. Cloud, Big Data... 5 MongoDB features that are NOT reasons to choose MongoDB
  • 5. 5 1. Open Source 2. Replication 3. Sharding 4. Schemaless 5. Cloud, Big Data... Reasons to move FROM relational TO NoSQL ...all NoSQL Databases do this.
  • 6. Ok, so what ARE the Top 5 reasons to choose MongoDB?
  • 8. 8 1. General Purpose Database Big Data Product & Asset Catalogs Security & Fraud Internet of Things Database-as-a- Service Mobile Apps Customer Data Management Data Hub Social & Collaboration Content Management Intelligence Agencies Top Investment and Retail Banks Top US Retailer Top Global Shipping Company Top Industrial Equipment Manufacturer Top Media Company Top Investment and Retail Banks
  • 9. 9 5 NoSQL categories Key Value Wide Column Document Graph Map Reduce Redis, Riak Cassandra Neo4j Hadoop
  • 10. 10 MongoDB is a Document Database MongoDB Rich Queries • Find Paul’s cars • Find everybody in London with a car built between 1970 and 1980 Geospatial • Find all of the car owners within 5km of Trafalgar Sq. Text Search • Find all the cars described as having leather seats Aggregation • Calculate the average value of Paul’s car collection Map Reduce • What is the ownership pattern of colors by geography over time? (is purple trending up in China?) { first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } }
  • 12. 12 Most popular NoSQL database Document Wide Column Wide Column KV KV Graph DocumentKV KV
  • 13. 13 Hadoop Document Right tool for the right job Column KV Graph
  • 14. 14 Hadoop Right tool for the right job RDBMS . Document Column KV Graph
  • 17. 17 Ease of use Paul Downey (17419636) Easy to use
  • 18. 18 Integrated single binary Chalon Handmade (6206864791) Integrated single binary
  • 19. 19 Replication & sharding Replication & Sharding Daniel Oines (7390222182)
  • 22. 22 { first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } } Flexible Schema
  • 23. 23 Rich query language = less code MongoDB Rich Queries • Find Paul’s cars • Find everybody in London with a car built between 1970 and 1980 Geospatial • Find all of the car owners within 5km of Trafalgar Sq. Text Search • Find all the cars described as having leather seats Aggregation • Calculate the average value of Paul’s car collection Map Reduce • What is the ownership pattern of colors by geography over time? (is purple trending up in China?) { first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } }
  • 24. 24 Query language = JSON & JavaScript db.collection.find( { "firstname" : "Henrik" } )
  • 25. 25 Real life agility Customer Project RDBMS MongoDB 360O customer view $22M 2 years Failed Minimal 90 days In production Subscriber database 20 tables 35 joins login = 5 joins high latencies 15 months 20 persons 5 collections 2 queries login = 1 query 10x faster 4 months 10 persons eCommerce analytics prototyped only perf challenges prototype in 1 week good perf http://www.mongodb.com/lp/whitepaper/quantifying-business-advantage
  • 26. 3. JSON & JavaScript
  • 29. 29 JavaScript JVM stack JVM RDBMS JDBC Spring, Morphia JSON Tomcat, Jetty, Play, Spring... JSON
  • 31. 31 OpenStreetMap data as JSON db.collection.find( { "firstname" : "Henrik" } ) { "_id" : 98684990, "addr:housenumber" : "4", "website" : "http://www.ravintolapohjanpoika.fi/", "amenity" : "pub", "addr:city" : "Helsinki", "addr:postcode" : "00770", "location" : { "type" : "Point", "coordinates" : [ 25.0760622, 60.261145 ] }, "addr:street" : "Jakomäenkuja", "addr:country" : "FI", "name" : "Pohjanpoika" } http://rosslawley.co.uk/posts/the-most-popular-pub-name/
  • 32. 32 OpenStreetMap data as JSON db.collection.find( { "firstname" : "Henrik" } ) db.pubs.aggregate( [ { $match : { "addr:city" : { $in : [ "Helsinki", "Turku", "Tampere" ] } } }, { $group : { "_id" : "$addr:city", "count" : { "$sum" : 1 } } }, { $sort : { "count" : -1 } } ] ) { "_id" : "Helsinki", "count" : 150 } { "_id" : "Tampere", "count" : 53 } { "_id" : "Turku", "count" : 23 }
  • 33. 33 Big Data warning: data may be dirty db.collection.find( { "firstname" : "Henrik" } ) db.pubs.find( { "addr:city" : { $exists : false } } ).count() 2291 db.pubs.find( { "addr:city" : { $exists : true } } ).count() 701
  • 34. 34 Sharding is a first class citizen db.collection.find( { "firstname" : "Henrik" } ) { $match : ... } { $group : ... } { $sort : ... } DB DB DB Query Router
  • 35. 35 Sharding is a first class citizen db.collection.find( { "firstname" : "Henrik" } ) { results } { $match : ... } { $group : ... } { $sort : ... } { $match : ... } { $group : ... } { $sort : ... } { $match : ... } { $group : ... } { $sort : ... } { $group : ... } { $sort : ... }
  • 37. 37 7,000,000+ MongoDB Downloads 150,000+ Online Education Registrants 35,000+ MongoDB Management Service (MMS) Users 30,000+ MongoDB User Group Members 20,000+ MongoDB Days Attendees Global Community
  • 38. 38 MongoDB Partners (500) Software & Services Cloud & Channel Hardware
  • 39. 39 MongoDB Inc 350+ employees 1,000+ customers Over $231 million in funding13 offices around the world
  • 41. 41 1. Open Source 2. Replication 3. Sharding 4. Schemaless 5. Agile, Cloud, Big Data... 5 MongoDB features that are NOT reasons to choose MongoDB
  • 42. 42 1. General purpose 2. Agile 3. JSON & JavaScript 4. Aggregation framework 5. Ecosystem Top 5 reasons to choose MongoDB