• Share
  • Email
  • Embed
  • Like
  • Private Content
A Morning with MongoDB Barcelona: Use Cases and Roadmap
 

A Morning with MongoDB Barcelona: Use Cases and Roadmap

on

  • 1,076 views

http://www.10gen.com/events/MongoDB-Morning-Barcelona

http://www.10gen.com/events/MongoDB-Morning-Barcelona

Statistics

Views

Total Views
1,076
Views on SlideShare
968
Embed Views
108

Actions

Likes
1
Downloads
4
Comments
0

3 Embeds 108

http://www.10gen.com 102
http://drupal1.10gen.cc 4
http://www.mongodb.com 2

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

    A Morning with MongoDB Barcelona: Use Cases and Roadmap A Morning with MongoDB Barcelona: Use Cases and Roadmap Presentation Transcript

    • Use Cases and Roadmap Norberto Leite Senior Solutions Architect, EMEA norberto@10gen.com @nleiteSunday, 21 October 12
    • Agenda •Use Cases •Roadmap •FutureSunday, 21 October 12
    • Use CasesSunday, 21 October 12
    • Big Data = MongoDB = Solved Content Management Operational Intelligence E-Commerce User Data Management High Volume Data Feeds MobileSunday, 21 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 merchantsSunday, 21 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 growthSunday, 21 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 featuresSunday, 21 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 MongoDBSunday, 21 October 12
    • How Telefónica uses MongoDB •London: •O2 UK: Priority Moments location based offers service •O2 UK: eCommerce Product Catalog •Madrid: •M2M (machine to machine) event acquisition platform •Personalization Server (Oracle migration)Sunday, 21 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 MNOnSunday, 21 October 12
    • How Telefónica uses MongoDB Product CatalogSunday, 21 October 12
    • And many others ...Sunday, 21 October 12
    • RoadmapSunday, 21 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 improvementsSunday, 21 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/Sunday, 21 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.2Sunday, 21 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 analyticsSunday, 21 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" ] , }Sunday, 21 October 12
    • Aggregate Command db.blogs.aggregate( { $project : { author : 1, tags : 1 } }, { $unwind : "$tags" }, { $group : { _id : { tags : "$tags" }, authors : { $addToSet : "$author" } } } );Sunday, 21 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 } )Sunday, 21 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" );Sunday, 21 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 membersSunday, 21 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 improvementsSunday, 21 October 12
    • And beyond • Full Text Search • Collection / Extent level locking • Field level security • AuditSunday, 21 October 12
    • Future of NoSQL?Sunday, 21 October 12
    • Future of the Data Center • Hardware • More Cores • More Memory • More IOPs (SSD) • More Capacity • More bandwidth (100GbE) • "Auto Pilot" • Zero human interventionSunday, 21 October 12
    • Future of NoSQL? • Real Time Analytics • Cant wait for a batch process / ETL / DW • Ad-Hoc / Analytics • Map/Reduce = Hammer • Greater Scale • 100s -> 1,000s of nodes • Deeper history • Petabytes -> Exabytes • Heterogeneous deployment • Seamless integration with what you haveSunday, 21 October 12
    • Sunday, 21 October 12