SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

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

Destacado (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
 

Más 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
 

Más 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
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

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