Notes from attending today’s (6/26/2012) MongoDB conference – MongoDC.
My notes from attending the MongoDB conference here in the DC area – also called MongoDC2012. What was encouraging was the large crowd of Mongoers that gathered. There were some great sessions and a chance to meet and hear some truly talented folks. Some takeaways from the sessions I attended. I hope they release the videos of the other sessions so I can review those too.
- MongoDB 2.2 will be available in Summer 2012. The final development (unstable) version is available as of today (6/26)
- The opening session was from Luigi Montanez who talked about how MongoDB contributes to developer “happiness”. Laughs aside, I do think he has a point. I remember playing with the Lucene API a few years back and was amazed at how simple it was to use. A test of a good product, is in its ability to make the user more productive. Lucene did that for me , just as Ruby/Scala/etc. do it for many folks too. MongoDB does make designing database applications more fun (IMHO). I do think this might be a general attribute to some of the other nosql databases too – though I have not tried the others (except CouchDB).
- Edouardo Servan-Schreiber gave an overview of replication in MongoDB. Takeaway – ensure you have at least 3 members in your replica set.
- Nathen Harvey gave a good talk on using Chef to codify your infrastructure. Basically you “script” your environment (including installations, configurations of servers, etc.). Chef then ensures that each of the servers are configured exactly in the same manner and makes the whole process repeatable. Now aside from Chef, I must note that there is another more widely used tool named Puppet. But that was not discussed in the session.
- Nathen also pointed out Vagrant. Vagrant lets you create Virtual Machines using a repeatable configuration. It uses Chef/Puppet and Oracle VirtualBox. Will be trying this out soon for my own development needs.
- Aaron Silverman went over the application “Doodle or Die“. This started out as a submission for a nodejs competition. What this illustrated to me was the ability to take creative ideas and quickly turn around a working application using MongoDB, Nodejs, Express, etc.
- Danny Holloway gave an interesting walk through of a python project that access the twitter API, gets tweets , stores them into mongodb and finally some queries against that. It was pointed out that in real world examples they had to use RabbitMQ to keep up with the pace of incoming twitter feeds and to allow for asynch processing of the data prior to loading into MongoDB. Makes sense to me. For the presentation code samples, Danny used the following frameworks – Dust, Leaflet, JQuery, TileStream and of course MongoDB.
- Tyler Brock gave a great overview of sharding and how it works. He also underlined the importance of taking the time to pick the right shard key. As of now mongodb does not support (or recommend) sharding based on MD5 hashes. This is though in their roadmap for future – contingent on the fact that read performance does not suffer.
- Robert Stam gave a great presentation on indexing and query optimizations. To be honest this was around 3:30 and I had to take in 2 cups of coffee just to stay awake so I must have missed a few things. Looking forward to the slides on slideshare or somewhere. Robert did cover various ways to use indexes and also how MongoDB will select indexes at runtime.
- Tyler Brock gave a presentation on the upcoming aggregation framework in version 2.2. This is a very welcome addition. Rather than writing Map-Reduce for everything the aggregation framework will provide you means to do some common computations as native extensions to the product. Such as sum, min, max, grouping, projections, unwinding arrays, etc. Very very nice.
- Closing talk by Max Schireson. Max discussed items on the roadmap such as finer grained locking, data compression, hash based shard keys, better management tools, enhanced support for integrating with enterprise security products (LDAP, Kerberos,etc).
Finally I have my new MongoDB coffee cup (free – yippeee) and will have some freshly brewed coffee tomorrow morning. Signing off.
Thanks for attending my talk yesterday on deploying MongoDB with Chef. Yes, I’m the one who spoke about Vagrant. Puppet and Chef are both great tools. I mentioned yesterday that I’ve used both. Here’s a post I wrote a while back on why we ended up going with Chef.
http://technology.customink.com/blog/2011/11/21/why-we-chose-chef-over-puppet-at-customink/