Yesterday, I went to the annual MongoDB Europe conference in London. It was a good chance to catch up on the new features in MongoDB and what other companies are doing with it.
MongoDB’s CEO Dev Ittycheria opened with some success stories of using MongoDB and talked about how Baidu, Barclays and NowTv have used MongoDB to scale their solutions. He also introduced Atlas which is their database-as-a-service platform.
Lots of of companies using MongoDB.
Mongo 3.4 preview
Next CTO Eliot Horowitz went through some of the features already introduced in 3.2 such as: WiredTiger, MongoDB aggregation framework and document validation.
He gave an overview of some of the new features coming in MongoDB 3.4:
- Improved performance.
- Collations – character encoding – accents in Swedish.
- Improved BI connector to Tableau and other SQL based platforms.
- Read Only Views – Giving users access to aggregated views based on roles.
- Faceted searching to give user more intelligent results.
- Zone Sharding – store shards based on geo-location.
- Store shards on SSD/HD based on date for long term storage.
Some of the features in demo were:
- Finding bottlenecks by looking for slow operations.
- Seeing missing indexes and easily adding them.
- Automatic drawing of GeoJSON data.
There was also a demo of Atlas and how to create a cluster and scale it.
The keynote was by scientist Brian Cox. He talked about the Sloan Digital Sky Service, and showed a nice visualisation of the position of the galaxies. He explained the theory of inflation, the big bang and how the sun will eventually run out of fuel. It was a fascinating talk, it’s a shame our Data Scientists weren’t there because they are huge fans.
The datasets are available here.
The rest of the conference was broken into breakout sessions. These are some of the sessions that I enjoyed the most.
Debugging MongoDB Performance
Asya Kamsky, Lead Product Manager, MongoDB
This was the first session I went to. Asya demoed some useful techniques on how to diagnose Mongo performance problems, both in real-time and afterwards.
She went through some of the commands that she uses to diagnose issues such as db.isMaster, rs.conf, rs.Status, mongostat and mongotop. Some of the output from these commands was quite difficult to read and interpret so I was glad to hear that the Compass GUI tool also allows use of some of these features.
She also demoed Mtools which is a set of tools to parse log files and display the results visually. She gave a real world example of a client that had a slow performing database and how she used the tools above find the cause. It turns out it was somebody at the company who had access to the prod database, and had performed a long running query and assumed that closing the mongo shell also stops the query. The query kept running and should have been stopped using the db.currentOp() and db.killOp() commands.
Star in a Reasonably Priced Car – Which Driver is Best?
John Page, Consulting Engineer, MongoDB
This was a talk on the performance differences between drivers for different languages. C was the the fastest driver for data retrieval, which was unsurprising as it is the lowest level driver and is used to write other drivers. Java and PHP were second and third and then there was a big drop to Node, Python, Go and C#. It was useful to know this to help balance between performance and ease of use depending on the use case.
Also using the PyMongo drivers with C extensions had some significant improvements in performance.
Smart Strategies for Resilient Applications
A. Jesse Jiryu Davis, Staff Software Engineer, MongoDB
This talk was about dealing with network blips and other errors when saving to MongoDB. Jesse went through some bad strategies for handling errors and then showed a way of making operations idempotent. This allowed the code to retry once after an error and still keep the data consistent.
I learnt that the MongoDB driver itself has retry loop. It retries twice in 1 sec for 30 secs so it’s important to make sure that any retry solution doesn’t interfere with it.
The talk is from this article, with code examples: https://emptysqua.re/blog/how-to-write-resilient-MongoDB-applications/
Closing Keynote and Roadmap
Eliot Horowitz, CTO and Co-founder, MongoDB
In the closing keynote, Eliot talked about some of the features in the roadmap such as multi-document transactions, and tools for importing data into Atlas.
The Mongo University has a course for the upcoming release on MongoDB 3.4: https://university.MongoDB.com/courses/M034/about
Overall, I enjoyed going to MongoDB Europe. The talks were high quality and it was a well organised conference. I’m looking forward to the upcoming features, and some of the tools presented such as Compass and Mtools that will be useful in working with MongoDB.
Leave a comment
- May 2017
- April 2017
- March 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- June 2015
- May 2015
- April 2015
- March 2015
- September 2014
- August 2014
- June 2014
- May 2014
- April 2014
- March 2014
- November 2013
- September 2013
- June 2013
- May 2013
- September 2012
- June 2012
- May 2012
- April 2012
- March 2012