SlideShare a Scribd company logo
#mongodbbangalore




Roadmap
Sridhar Nanjundeswaran, 10gen
sridhar@10gen.com, @snanjund
October 26, 2012
Recent Release History
   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
                improvements
2.2 Overview
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/
Yielding and DB Locking
• Improved yielding on page fault
• Breaking down the global level lock
   – Lock per Database in 2.2
   – Lock per Collection post 2.2
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 analytics
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" ] ,
}
Aggregate Command
db.blogs.aggregate(
 { $project : {
     author : 1,
     tags : 1,
 } },
 { $unwind : "$tags" },
 { $group : {
     _id : { tags : "$tags" },
     authors : { $addToSet : "$author" }
 }}
);
Results
{
    "result" : [
        {
             "_id" : {
                   "tags" : "tech"
             },
             "authors" : [
                   "jim",
                   "bob"
             ]
        },
Time to Live (TTL)
• 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 } )
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"
);
Read Preferences
• Mode
  – PRIMARY, PRIMARY_PREFERRED
  – SECONDARY, SECONDARY_PREFERRED
  – NEAREST

• Tag Sets
  – Uses Replica Set tags
  – Passed Tag is used to find matching members
2.4 and Beyond
2.4 Highlights
• Security
   – SASL, Kerberos, Additions to privileges and auditing

• Hash-based Sharding

• Geospatial Indexing: query intersecting polygons

• Aggregation framework: faster and more features

• V8, background secondary indexing, replica set flapping

• Distribute non-sharded collections throughout cluster

• MMS running in your own data center (separate)
Ongoing Work
• Collection / Extent level locking
• Field level authorization
• Auditing
• Full-text query
What can I do?
• MongoDB is a community driven product
   – Use the product
   – Log feature requests
   – Vote for existing features

• Join your local meetup
   – http://www.meetup.com/MongoDB-Bangalore-User-
     Group/

More Related Content

KEY
Discover MongoDB - Israel
PPTX
Welcome to MongoDB Tokyo 2012
PPTX
Branf final bringing mongodb into your organization - mongo db-boston2012
PPTX
A Presentation on MongoDB Introduction - Habilelabs
PPTX
Why MongoDB over other Databases - Habilelabs
PDF
MongoDB Administration 101
KEY
Mongo Seattle - The Business of MongoDB
PPTX
MongoDB Roadmap
Discover MongoDB - Israel
Welcome to MongoDB Tokyo 2012
Branf final bringing mongodb into your organization - mongo db-boston2012
A Presentation on MongoDB Introduction - Habilelabs
Why MongoDB over other Databases - Habilelabs
MongoDB Administration 101
Mongo Seattle - The Business of MongoDB
MongoDB Roadmap

What's hot (20)

PDF
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
PDF
NoSQL benchmarking
PDF
https://docs.google.com/presentation/d/1DcL4zK6i3HZRDD4xTGX1VpSOwyu2xBeWLT6a_...
PPTX
Cosmos db
PPTX
Introduction to MongoDB Enterprise
PPTX
Securing Your MongoDB Deployment
PPTX
What's new in MongoDB 2.6
PPTX
MongoDB Internals
PDF
Mongo DB
PPTX
Practical Design Patterns for Building Applications Resilient to Infrastructu...
PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
PDF
Migrating from RDBMS to MongoDB
PPTX
Securing Your Enterprise Web Apps with MongoDB Enterprise
PDF
Mongo db eveningschemadesign
PPTX
MMS - Monitoring, backup and management at a single click
PPTX
WiredTiger Overview
PDF
Rpsonmongodb
PPTX
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
PPTX
Advanced Schema Design Patterns
PPTX
Webinar: What's New in MongoDB 3.2
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
NoSQL benchmarking
https://docs.google.com/presentation/d/1DcL4zK6i3HZRDD4xTGX1VpSOwyu2xBeWLT6a_...
Cosmos db
Introduction to MongoDB Enterprise
Securing Your MongoDB Deployment
What's new in MongoDB 2.6
MongoDB Internals
Mongo DB
Practical Design Patterns for Building Applications Resilient to Infrastructu...
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
Migrating from RDBMS to MongoDB
Securing Your Enterprise Web Apps with MongoDB Enterprise
Mongo db eveningschemadesign
MMS - Monitoring, backup and management at a single click
WiredTiger Overview
Rpsonmongodb
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
Advanced Schema Design Patterns
Webinar: What's New in MongoDB 3.2
Ad

Viewers also liked (20)

PDF
NoSql _ MongoDB - Italian Market copy
PPT
MongoDB Roadmap
PDF
MongoDB at ex.fm
KEY
Welcome the Offical C# Driver for MongoDB
PDF
MongoDB Use Cases and Roadmap
PPTX
Sharding
PPT
Introduction to MongoDB (Webinar Jan 2011)
PDF
Mongodb at-gilt-groupe-seattle-2012-09-14-final
PPT
Building a web application with mongo db
PPTX
Advanced Replication
PPTX
Mongo DB at Coupons Inc.
PPTX
Webinar: Creación de su primera aplicación Java con MongoDB
PPTX
Introduction to Sharding with MongoDB
PPTX
Indexing and Query Optimisation
PDF
Software Tests with MongoDB
KEY
Developing Web Apps with Symfony2, Doctrine and MongoDB
PPTX
Welcome to MongoDB London 2013
PDF
Mongo for aadhaar
PPTX
MongoDB on Windows Azure
PDF
MongoDB Schema Design (Richard Kreuter's Mongo Berlin preso)
NoSql _ MongoDB - Italian Market copy
MongoDB Roadmap
MongoDB at ex.fm
Welcome the Offical C# Driver for MongoDB
MongoDB Use Cases and Roadmap
Sharding
Introduction to MongoDB (Webinar Jan 2011)
Mongodb at-gilt-groupe-seattle-2012-09-14-final
Building a web application with mongo db
Advanced Replication
Mongo DB at Coupons Inc.
Webinar: Creación de su primera aplicación Java con MongoDB
Introduction to Sharding with MongoDB
Indexing and Query Optimisation
Software Tests with MongoDB
Developing Web Apps with Symfony2, Doctrine and MongoDB
Welcome to MongoDB London 2013
Mongo for aadhaar
MongoDB on Windows Azure
MongoDB Schema Design (Richard Kreuter's Mongo Berlin preso)
Ad

Similar to 2012 mongo db_bangalore_roadmap_new (20)

PPTX
MongoDB Roadmap
PPTX
MongoDB Roadmap
KEY
Mongodb intro
PDF
MongoDB FabLab León
PPTX
Webinar: Serie Operazioni per la vostra applicazione - Sessione 6 - Installar...
PDF
Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19
PDF
MongoDB.pdf
PDF
Introduction to MongoDB
PPTX
Introduction to MongoDB
PPTX
Back tobasicswebinar part6-rev.
PPTX
Whats new in MongoDB 24
PDF
Aggregation Framework MongoDB Days Munich
PDF
2016 feb-23 pyugre-py_mongo
PDF
Using MongoDB and Python
PDF
Webinar: Was ist neu in MongoDB 2.4
PPTX
The Aggregation Framework
PPTX
Webinar: General Technical Overview of MongoDB for Dev Teams
PPTX
How to leverage MongoDB for Big Data Analysis and Operations with MongoDB's A...
PDF
Data as Documents: Overview and intro to MongoDB
KEY
Managing Social Content with MongoDB
MongoDB Roadmap
MongoDB Roadmap
Mongodb intro
MongoDB FabLab León
Webinar: Serie Operazioni per la vostra applicazione - Sessione 6 - Installar...
Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19
MongoDB.pdf
Introduction to MongoDB
Introduction to MongoDB
Back tobasicswebinar part6-rev.
Whats new in MongoDB 24
Aggregation Framework MongoDB Days Munich
2016 feb-23 pyugre-py_mongo
Using MongoDB and Python
Webinar: Was ist neu in MongoDB 2.4
The Aggregation Framework
Webinar: General Technical Overview of MongoDB for Dev Teams
How to leverage MongoDB for Big Data Analysis and Operations with MongoDB's A...
Data as Documents: Overview and intro to MongoDB
Managing Social Content with MongoDB

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
PDF
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
PDF
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
PDF
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
PDF
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
PDF
MongoDB SoCal 2020: MongoDB Atlas Jump Start
PDF
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
PDF
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
PDF
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
PDF
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
PDF
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
PDF
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
PDF
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
PDF
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
PDF
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
PDF
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
PDF
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
PDF
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB

2012 mongo db_bangalore_roadmap_new

  • 2. Recent Release History 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 improvements
  • 4. 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/
  • 5. Yielding and DB Locking • Improved yielding on page fault • Breaking down the global level lock – Lock per Database in 2.2 – Lock per Collection post 2.2
  • 6. 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 analytics
  • 7. 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" ] , }
  • 8. Aggregate Command db.blogs.aggregate( { $project : { author : 1, tags : 1, } }, { $unwind : "$tags" }, { $group : { _id : { tags : "$tags" }, authors : { $addToSet : "$author" } }} );
  • 9. Results { "result" : [ { "_id" : { "tags" : "tech" }, "authors" : [ "jim", "bob" ] },
  • 10. Time to Live (TTL) • 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 } )
  • 11. 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" );
  • 12. Read Preferences • Mode – PRIMARY, PRIMARY_PREFERRED – SECONDARY, SECONDARY_PREFERRED – NEAREST • Tag Sets – Uses Replica Set tags – Passed Tag is used to find matching members
  • 14. 2.4 Highlights • Security – SASL, Kerberos, Additions to privileges and auditing • Hash-based Sharding • Geospatial Indexing: query intersecting polygons • Aggregation framework: faster and more features • V8, background secondary indexing, replica set flapping • Distribute non-sharded collections throughout cluster • MMS running in your own data center (separate)
  • 15. Ongoing Work • Collection / Extent level locking • Field level authorization • Auditing • Full-text query
  • 16. What can I do? • MongoDB is a community driven product – Use the product – Log feature requests – Vote for existing features • Join your local meetup – http://www.meetup.com/MongoDB-Bangalore-User- Group/