SlideShare a Scribd company logo
#MongoDBSydney




Roadmap
Stephen Steneker (stennie@10gen.com)
Support Engineer, 10gen Australia
Recent Release History
   1.8                 2.0                2.2         2.4
 March ‘11           Sept ‘11           Aug ‘12     Winter ‘13



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

• Writes on secondaries applied in batches
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
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 Sydney MongoDB User Group
  – http://www.meetup.com/Sydney-MongoDB-User-group
After Party at Slip Inn on the Terrace
              Insert After Party Map Here

More Related Content

PPTX
Indexing and Query Optimisation
PDF
mongoDB Performance
PDF
MongoDB World 2016: From the Polls to the Trolls: Seeing What the World Think...
PDF
Introduction to mongo db
PDF
Introduction to MongoDB
PDF
10 Key MongoDB Performance Indicators
PPTX
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
PPT
MongoDB Roadmap
Indexing and Query Optimisation
mongoDB Performance
MongoDB World 2016: From the Polls to the Trolls: Seeing What the World Think...
Introduction to mongo db
Introduction to MongoDB
10 Key MongoDB Performance Indicators
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
MongoDB Roadmap

What's hot (20)

PPTX
Introduction to mongo db
PPTX
MongoDB 101
KEY
MongoDB Best Practices in AWS
PPTX
Back to Basics 2017: Introduction to Sharding
PDF
Mongo db
PDF
Mongo DB
ODP
MongoDB : The Definitive Guide
PPTX
High Performance Applications with MongoDB
PPT
MongoDB Pros and Cons
PDF
Mongo db dhruba
KEY
OSCON 2012 MongoDB Tutorial
PPTX
MongoDB Best Practices for Developers
PPTX
Intro To Mongo Db
PDF
MongoDB and Schema Design
PPTX
Webinar: What's new in the .NET Driver
KEY
Benefits of using MongoDB: Reduce Complexity & Adapt to Changes
PPTX
A Presentation on MongoDB Introduction - Habilelabs
PPTX
Connecting NodeJS & MongoDB
PDF
Mongodb
Introduction to mongo db
MongoDB 101
MongoDB Best Practices in AWS
Back to Basics 2017: Introduction to Sharding
Mongo db
Mongo DB
MongoDB : The Definitive Guide
High Performance Applications with MongoDB
MongoDB Pros and Cons
Mongo db dhruba
OSCON 2012 MongoDB Tutorial
MongoDB Best Practices for Developers
Intro To Mongo Db
MongoDB and Schema Design
Webinar: What's new in the .NET Driver
Benefits of using MongoDB: Reduce Complexity & Adapt to Changes
A Presentation on MongoDB Introduction - Habilelabs
Connecting NodeJS & MongoDB
Mongodb
Ad

Similar to MongoDB Roadmap (20)

PPTX
MongoDB Roadmap
PPTX
MongoDB Roadmap
PDF
2012 mongo db_bangalore_roadmap_new
PDF
Jump Start on Apache Spark 2.2 with Databricks
PPTX
MongoDB using Grails plugin by puneet behl
PPTX
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
PDF
Making sense of your data jug
PPTX
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
PPT
Spring data presentation
PDF
Using MongoDB and Python
PDF
2016 feb-23 pyugre-py_mongo
KEY
Mongodb intro
PDF
What's new in MongoDB 2.6 at India event by company
PDF
Full metal mongo
PPTX
MongoDB for Time Series Data: Sharding
PPTX
What's new in MongoDB 2.6
PPTX
MongoDB is a document database. It stores data in a type of JSON format calle...
PPTX
MongoDB at Scale
PPTX
MongoDB Internals
PDF
Шардинг в MongoDB, Henrik Ingo (MongoDB)
MongoDB Roadmap
MongoDB Roadmap
2012 mongo db_bangalore_roadmap_new
Jump Start on Apache Spark 2.2 with Databricks
MongoDB using Grails plugin by puneet behl
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Making sense of your data jug
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Spring data presentation
Using MongoDB and Python
2016 feb-23 pyugre-py_mongo
Mongodb intro
What's new in MongoDB 2.6 at India event by company
Full metal mongo
MongoDB for Time Series Data: Sharding
What's new in MongoDB 2.6
MongoDB is a document database. It stores data in a type of JSON format calle...
MongoDB at Scale
MongoDB Internals
Шардинг в MongoDB, Henrik Ingo (MongoDB)
Ad

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
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...
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
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 Roadmap

  • 2. Recent Release History 1.8 2.0 2.2 2.4 March ‘11 Sept ‘11 Aug ‘12 Winter ‘13 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 • Writes on secondaries applied in batches
  • 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. 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 } )
  • 8. 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" );
  • 9. Read Preferences • Mode – PRIMARY, PRIMARY_PREFERRED – SECONDARY, SECONDARY_PREFERRED – NEAREST • Tag Sets – Uses Replica Set tags – Passed Tag is used to find matching members
  • 11. 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)
  • 12. Ongoing Work • Collection / Extent level locking • Field level authorization • Auditing • Full-text query
  • 13. What can I do? • MongoDB is a community driven product – Use the product – Log feature requests – Vote for existing features • Join Sydney MongoDB User Group – http://www.meetup.com/Sydney-MongoDB-User-group
  • 14. After Party at Slip Inn on the Terrace Insert After Party Map Here

Editor's Notes

  • #14: Disclaimer: We’re sharing what we’re working on. Things change, priorities may change, and we won’t release a feature in the next release if it isn’t ready yet. So please handle this transparency carefully. We’ll be adding more details. You can watch SERVER tickets to see as components go in.
  • #15: A highlight of some key features in 2.4. . . . We’ll add more details and more items each month as we work towards a winter release.Security:SASL is a framework for authentication that helps decouple specific authentication mechanisms from client/server implementation. This framework will permit working with a variety of authentication mechanisms, initially we’ll build in kerberos. We may add others over time, but SASL implementation will make it much easier for you to add your own without having to implement a new client.Kerberos is quite common, so we’ll build that one in first.With additional authentication, we want to take a few steps to separate out activities authorized to various users. Separate read, read/write, security administration, database-specific (compact, validate, etc.), and server/cluster administration (fsync, log rotate, shutdown, create database, etc.). This is just an initial step in our authorization work.Hash-based shardingApply a hash function to a selected key as the shard key. Evenly spread documents in a sharded cluster. Evenly spread the work associated with queries in a sharded cluster. Will minimize migrations (should only happen when growing a cluster). Note: this is something you can do now, but not automatic.Geospatial index resolution: Talk about challenge of specifying some polygon and finding overlap with another polygon in a document, this becomes interesting for location-aware applications, intelligence community.Replica set flapping: avoid electing a new primary due to a falsely detecting that the current primary went down. Adding mechanisms to reduce false detections. This is good for heavy load and network issues/blips in a data center.