On a rainy day in the Bay Area, MongoDB, Inc. recently held its 5th annual MongoDB Days event, and had an opportunity to lay out its vision of the future. As it turns out, this is a vision all about migrating and building applications on the popular open-source database technology. “Popular” is an understatement. Most sessions on the day were packed with every row and column chock full of DBAs and developers, sort of underscoring the thematic point about the need for the sort of rapid scalability that the NoSQL database provides when demand outpaces capacity.
CTO and co-founder Eliot Horowitz took the main stage to outline what he sees as the imperative design principals of the database, namely:
- Developer productivity - Horowitz suggested that “databases tend to be the pain point” in building applications, and anything that can be done to simplify the exercise will be welcomed. Given the competitive nature of business and high expectations of users, agility is paramount.
- Horizontal scalability - He further argues that the paradigm of cloud computing pushes the need for scale-out as demands will always out-pace the resources of the biggest boxes available. This is usually thought to be the most cost-effective approach today. Fading are the days of “big iron.”
- Manageability of very large clusters - If developing is the pain felt up front, supporting an environment is the ongoing challenge. Making the most efficient use of server and storage hardware and minimizing the human effort involved are clear requirements for lean IT.
The event in many ways reflects the spirit of the community, eager to learn but not interested in heady marketing spin. On-stage demos were conducted with a minimum of showmanship and every presentation had many slides showing off the elegance of the code. Horowitz emphasized this himself, saying, “We spent more time on the feature than the demonstration.”
The upcoming release of MongoDB is 2.8 with new functionality on:
- Scalable concurrency - More threads should equal more performance, but database-level locking to preserve consistency usually caps this approach pretty quickly. The new version shows that document-level locks enable more performance, pushing the hardware to the utmost.
- A pluggable storage engine - Called “Wired Tiger,” the concept here is to provide more options on how to tune performance to meet the specific needs of the application, without overly complicating matters with too much complexity for the developer.
- Upgrade automation - A common criticism of NoSQL databases is that they don’t have the maturity to match traditional RDBMS offerings. The seamless upgrade of multiple shards of a database, done correctly and smoothly, shows that kind of manageability improvement is coming along nicely, thank you.