MongoDB Roadmap

14
Support Engineer, 10gen Australia Stephen Steneker ([email protected]) #MongoMelbourne Roadmap

description

 

Transcript of MongoDB Roadmap

Page 1: MongoDB Roadmap

Support Engineer, 10gen Australia

Stephen Steneker ([email protected])

#MongoMelbourne

Roadmap

Page 2: MongoDB Roadmap

Recent Release History

2.2Aug ‘12

2.4 Winter ‘13

2.0Sept ‘11

1.8March ‘11

Journaling

Sharding and Replica set enhancements

Spherical geo search

Index enhancements to improve size and performance

Authentication with sharded clusters

Replica Set Enhancements

Concurrency improvements

Aggregation Framework

Multi-Data Center Deployments

Improved Performance and Concurrency

Page 3: MongoDB Roadmap

2.2 Overview

Page 4: MongoDB Roadmap

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/

Page 5: MongoDB Roadmap

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

Page 6: MongoDB Roadmap

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

Page 7: MongoDB Roadmap

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 } )

Page 8: MongoDB Roadmap

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");

Page 9: MongoDB Roadmap

Read Preferences

• Mode– PRIMARY, PRIMARY_PREFERRED– SECONDARY, SECONDARY_PREFERRED– NEAREST

• Tag Sets– Uses Replica Set tags– Passed Tag is used to find matching members

Page 10: MongoDB Roadmap

2.4 and Beyond

Page 11: MongoDB Roadmap

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)

Page 12: MongoDB Roadmap

Ongoing Work

• Collection / Extent level locking

• Field level authorization

• Auditing

• Full-text query

Page 13: MongoDB Roadmap

What can I do?

• MongoDB is a community driven product– Use the product– Log feature requests– Vote for existing features

• Join Melbourne MongoDB User Group– http://www.meetup.com/Melbourne-MongoDB-

User-group

Page 14: MongoDB Roadmap

Insert After Party Map Here

After Party at Trunk – (275 Exhibition)