5 Reasons that made MongoDB the leading NoSQL Database
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

5 Reasons that made MongoDB the leading NoSQL Database

  • 857 views
Uploaded on

A comparison of NoSQL and relational databases and 5 unique MongoDB strengths that have made MongoDB so popular.

A comparison of NoSQL and relational databases and 5 unique MongoDB strengths that have made MongoDB so popular.

More in: Technology , Sports
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
857
On Slideshare
759
From Embeds
98
Number of Embeds
2

Actions

Shares
Downloads
5
Comments
0
Likes
3

Embeds 98

https://twitter.com 90
http://www.slideee.com 8

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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?
  • 7. 1. General purpose
  • 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, … } } }
  • 11. 11 Most popular NoSQL database
  • 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
  • 15. 15 Operational Database Landscape
  • 16. 2. Agile
  • 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)
  • 20. 20 mms.mongodb.com/learn-more/automation MMS Automation
  • 21. 21 Schemaless iterative development
  • 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
  • 27. 27 MEAN stack Express.js
  • 28. 28 MEAN stack Express.js JSON JSON
  • 29. 29 JavaScript JVM stack JVM RDBMS JDBC Spring, Morphia JSON Tomcat, Jetty, Play, Spring... JSON
  • 30. 4. Aggregation Framework
  • 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 : ... }
  • 36. 5. Ecosystem
  • 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
  • 40. Summary
  • 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