• Share
  • Email
  • Embed
  • Like
  • Private Content
MongoDB Use Cases and Roadmap
 

MongoDB Use Cases and Roadmap

on

  • 1,892 views

From A Morning with MongoDB - Milan on October 24, 2012.

From A Morning with MongoDB - Milan on October 24, 2012.

Statistics

Views

Total Views
1,892
Views on SlideShare
1,731
Embed Views
161

Actions

Likes
0
Downloads
13
Comments
0

3 Embeds 161

http://www.10gen.com 146
http://www.mongodb.com 11
http://drupal1.10gen.cc 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    MongoDB Use Cases and Roadmap MongoDB Use Cases and Roadmap Presentation Transcript

    • Use Cases and Roadmap Norberto Leite Senior Solutions Architect, EMEA norberto@10gen.com @nleiteThursday, 25 October 12
    • Agenda •Use Cases •Roadmap •FutureThursday, 25 October 12
    • Use CasesThursday, 25 October 12
    • Big Data = MongoDB = Solved Content Management Operational Intelligence E-Commerce User Data Management High Volume Data Feeds MobileThursday, 25 October 12
    • Location Based Service •Problem: •Location based social networking service needs to scale to high number of users and check-ins •Solution: •Used MongoDB deployed on EC2 •8 clusters, 40 machines, 15k QPS, 2.3 billion records •Auto-sharding and geo-spatial indexing are key •Results: •To date have scaled to 9m users, 3m check-ins per day, 750m total check-ins, 20m places, 400k merchantsThursday, 25 October 12
    • •Problem: •Business needed modern data store for rapid development and scale •Solution: •Used PHP and MongoDB •Results: •RealTime estatistics •All data, images etc store together •No need for complex migrations •Enable very rapid development and growthThursday, 25 October 12
    • •Problem: •Deal with massive data volume across all customers •Solution: •Use MongoDB to replace Google Analytics / Omniture •Results: •Less than one week to build prototype and POC •Rapid deployment of new featuresThursday, 25 October 12
    • •Problem: •Lots of friction with RDMS for archiving storage •Needed to more scalable archive storage database •Solution: •Keep MySQL for active data ( 100 Million ) •MongoDB for archive ( 2 Billion ) •Results: •No more alter tables statements taking over 2 months •Sharding fixed vertical scale problem •Very happily looking for other ways to use MongoDBThursday, 25 October 12
    • How Telefónica uses MongoDB Apps M2M Event Acquisition Event notification Event Notifier Portal API Event Mng Core Storage Mng Mng Storage Platform Event Gateway BOSS Event acquisition Operator Network MNO1 MNO2 MNOnThursday, 25 October 12
    • And many others ...Thursday, 25 October 12
    • RoadmapThursday, 25 October 12
    • The Evolution of MongoDB 1.8 2.0 2.2 2.4 March ‘11 Sept ‘11 Aug ‘12 winter ‘12 Journaling Index enhancements Aggregation Sharding and to improve size and Framework Replica set performance Multi-Data Center enhancements Authentication with Deployments Spherical geo sharded clusters Improved search Replica Set Performance and Enhancements Concurrency Concurrency improvementsThursday, 25 October 12
    • 2.2 Release August 2012 • Concurrency: yielding + db level locking • New aggregation framework • TTL Collections • Improved free list implementation • Tag aware sharding • Read Preferences • http://docs.mongodb.org/manual/release-notes/2.2/Thursday, 25 October 12
    • Yielding + DB Locking • improved yielding on page fault • breaking down the global level lock • Lock per Database in 2.2 • Lock per Collection post 2.2Thursday, 25 October 12
    • Aggregation Framework • pipeline model (a bit like unix pipes) • like a "group by" – Operators – $project, $group, $match, $limit, $skip, $unwind, $sort – Expressions – Logical Expressions: $and, $not, $or, $cmp ... – Math Expressions: $add, $divide, $mod ... – String Expressions: $strcasecmp, $substr, $toLower ... – Date/Time Expressions: $dayOfMonth, $hour... – Multi-Expressions: $ifNull, $cond • Use Cases: Real-time / inline analyticsThursday, 25 October 12
    • Example - For each "tag", list the authors { title : "my tech blog" , author : "bob" , tags : [ "fun" , "good" , "tech" ] , } { title : "cool tech" , author : "jim" , tags : [ "awesome" , "tech" ] , }Thursday, 25 October 12
    • Aggregate Command db.blogs.aggregate( { $project : { author : 1, tags : 1 } }, { $unwind : "$tags" }, { $group : { _id : { tags : "$tags" }, authors : { $addToSet : "$author" } } } );Thursday, 25 October 12
    • Time To Live (TTL) Collections • auto expire data out of a collection • must be on a date datatype • single value is evaluated • Use Cases: data retention, cache expiration db.events.ensureIndex( { "timestamp": 1 }, { expireAfterSeconds: 3600 } )Thursday, 25 October 12
    • Tag aware sharding • Distribute data based on a Tag • Use Cases: Locality for Data by Data Center sh.addShardTag("shard0000", "dc-emea") sh.addTagRange("mydb.users", { country: "uk"}, { country: "ul"}, "dc-emea" ); sh.addTagRange("mydb.users", { country: "by"},{ country: "bz"}, "dc-emea" );Thursday, 25 October 12
    • Read Preferences • Mode • PRIMARY, PRIMARY_PREFERRED • SECONDARY, SECONDARY_PREFERRED • NEAREST • Tag Sets • Uses Replica Set tags • Passed Tag is used to find matching membersThursday, 25 October 12
    • 2.4 Roadmap Must • Kerberos integration • LDAP/AD integration Nice To Have • Hash Shard Key • Background Index Build on Secondaries • V8 for Map/Reduce (replaces Spider Monkey) • Geo: intersecting polygons, Geo shard key • Agg: $out, more functions, speed improvementsThursday, 25 October 12
    • And beyond • Full Text Search • Collection / Extent level locking • Field level security • AuditThursday, 25 October 12
    • Thursday, 25 October 12