To my readers: Meet Brian Crucitti. Brian is taking over for me this week while I am preparing for a "work related" trip to Thailand. Don't worry, I will blog about it when I get back. Brian is a developer and big data specialist, and he's fluent in Japanese. Luckily, we convinced him to write this post in English. Enjoy!
In preparation for the release of MongoDB 2.6, the company decided to take a hard look at its core offerin, and decided it was time to re-engineer and refactor. The result has turned out to be major improvements to the MMS (MongoDB Management Service), changes to the database itself, and new enterprise-grade security features.
In the past five years, MongoDB has established a great reputation among developers. With the changes to MMS, MongoDB hopes to earn a similar cachet in management and operations. Having already convinced the developers to join its camp, MongoDB aims to show it can make life easy for admins as well.
[ Andrew C. Oliver answers the question on everyone's mind: Which freaking database should I use? | Also on InfoWorld: The time for NoSQL standards is now | Get a digest of the key stories each day in the InfoWorld Daily newsletter. ]
With that goal in mind, MMS has undergone a sweeping upgrade to improve and simplify its functionality. To give you an idea of the scale of the changes being made, here are a few of the new features: continuous backup, point-in-time recovery, monitoring and alerts on 100-plus parameters, and hot upgrades. Are you drooling yet?
Text search, which was tentatively included back in 2.4, is now ready for the production environment. The workarounds have been removed, and text search functionality has been added directly to the MongoDB query language, providing powerful search functionality in 15 languages.
Startups may not always consider database security to be a top priority, but at the enterprise level, that tune changes quickly. MongoDB 2.6 addresses this by providing a new level of security functionality. Beyond basic authentication and authorization, you'll find field-level security, encryption, and more. You'll no longer need to get an exception from the security team to deploy MongoDB in production.
MongoDB has slimmed down significantly in order to better handle larger data sets, making it more enterprise-friendly. In 2.6, the cost of operating MongoDB at scale has been reduced, and the operations to keep it running at scale have been simplified. Bulk operators are more efficient than ever, automatically parallelizing updates across the system and allowing flexible failure handling. Some of these changes are huge for ETL operations. For example, 2.6 adds the equivalent of
INSERT INTO SELECT statements. Aggregated results can be combined, transformed, and written to named collections for further analysis and easy reporting.
There are other changes that will be important to everyone from enterprise IT to Facebook, such as timeout defaults per database or for individual operations. Perhaps the biggest change is in how indexes work with MongoDB's new and improved query planner. Rather than using only one index at a time, MongoDB can now intersect indexes and perform operations like "in" with indexes. Sure, a specific compound index, such as name and zip code, is still more efficient for a query with name and zip code conditions, but you no longer have to have an index for all the edge case queries. This is a nice trade-off between simplicity and resource consumption.
What stood out most to me in the new release was the migration of defaults from the "fire and forget" mode that MongoDB started with to a more conservative "do and give me a document telling me the operation succeeded" approach. I asked the folks at MongoDB about this, and they told me it was a sign of maturity -- they'd incorporated customer feedback and production experience. Because MongoDB made it so easy for developers to get started, many failed to read the manual and understand the tradeoffs involved in the various reliability configurations.
If you're a developer who has been advocating for the use of MongoDB at your company only to receive pushback from the security and infrastructure people, you now have the support you need. With the 2.6 release, MongoDB is a mature choice.
This article, "First look: MongoDB 2.6, the all-grown-up version," was originally published at InfoWorld.com. Keep up on the latest news in application development and read more of Andrew Oliver's Strategic Developer blog at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.