Data Driverby David Ramel

Developers Learn What's New in the MongoDB 2.6 NoSQL Database Release

Developers today learned more about the recently released MongoDB version 2.6 when parent company MongoDB Inc. conducted a webinar to explain its new features.

Last week the company announced the "biggest release ever" of its popular NoSQL database, with improvements coming in the areas of aggregation, text-search integration, query engine performance, security and many more.

With standard and enterprise editions, MongoDB is an open source, document-oriented database popular in Big Data implementations. Instead of storing data in tables or columns, the alternative to a traditional relational database management system (RDBMS) uses JSON-like documents with dynamic schemas, what the company calls BSON, short for binary JSON. The company claims MongoDB is the leading NoSQL database, based on metrics such as user searches, job postings and comparison of the skills listed by LinkedIn members, among others.

In today's webinar, company vice president Dan Pasette joined Horowitz to explain the new features of special import to developers. Pasette said most of the 500-plus enhancements to version 2.6 -- which was in development for about a year -- wouldn't be that noticeable to coders, aside from increased performance.

Pasette, who said the MongoDB engineering team numbered about 15 or 20 when he first started at the company but now has more than 100, cited aggregation pipeline enhancement as "one of the most compelling features." It's been around for two versions, he said, but developers can now use it to unlock larger result sets. These had been limited to 16MB, Pasette said, but developers can now get results back with a cursor, which means they can be of unlimited size. Also, he said, developers can use the $out feature to pipe results into a new collection.

Other improvements developers would be interested in, Pasette said, were index aggregation and integrated text search, which is now fully available and directly integrated in queries and pipelines. Also, he said, developers can now use new update operators, such as $multiple and $min.

Horowitz said the company -- originally called 10gen -- used its five years of experience garnered from hundreds of thousands of deployments to create the groundwork for more innovation in the next 10 years.

"You'll see the benefits in better performance and new innovations," Horowitz said. "We rewrote the entire query execution engine to improve scalability, and took our first step in building a sophisticated query planner by introducing index intersection. We've made the codebase easier to maintain, and made it easier to implement new features. Finally, MongoDB 2.6 lays the foundation for massive improvements to concurrency in MongoDB 2.8, including document-level locking."

According to release notes, both editions of MongoDB feature support for variables and new operations that will handle sets and redact data.

Text search is enabled by default in the new release, while the query system now includes a $text operator to resolve text-search queries.

Insert and update improvements include new operations and better consistency of modified data.

A new write operation protocol features improved support for bulk operations and also integrates write operations and write concerns.

Security improvements include better SSL support, x.509 authentication, an enhanced authorization system that features more granular controls, centralized storage of credentials and better tools for user management. The new version also features TLS encryption, along with user-defined roles, auditing functionality and field-level redaction, which Horowitz described as "a critical building block for trusted systems." The database auditing feature is extended by the new capability to integrate with IBM InfoSphere Guardium.

The improved query engine features a new index intersection that will fulfill queries that are supported by more than one index. Also, index filters will limit the indexes that can "become the winning plan for a query." Developers using the database can now use the count method in conjunction with the hint method. You can learn more about that here.

Also counted in the raft of improvements are better geospatial support, index build enhancements, and augmented sharding and replication administration.

Ted Neward, an expert database developer, author and presenter, told me he thought "most of the features introduced in this release are more about Mongo 'growing up' as an enterprise-class database, and it's less developer-centric than previous releases. Consider: a new security model, several administration features, and LDAP support and SNMP functionality. These are the things that a world-class enterprise has come to expect of their data storage systems, and this removes significant blockers for many companies."

Horowitz also emphasized the benefits of the new release to IT operations staffers.

"From the very beginning, MongoDB has offered developers a simple and elegant way to manage their data," Horowitz said. "Now we're bringing that same simplicity and elegance to managing MongoDB. MongoDB Management Service (MMS), which already provides 35,000 MongoDB customers with monitoring and alerting, now provides backup and point-in-time restore functionality, in the cloud and on-premises."

Neward said the emphasis on operations is good "because it signals that MongoDB Inc. is being persuaded/pressured/forced (depending on whose view you take) to put the necessary features in that commercial-scale enterprises need, which in turn signals a growing culture of adoption around non-relational data stores."

Horowitz last week also teased an automation feature for hosted and on-premises options, coming later this year. He said the "game-changing" automation functionality "will allow you to provision and manage MongoDB replica sets and sharded clusters via a simple yet sophisticated interface."

Is the new MongoDB 2.6 now enterprise-ready? Comment here or drop me a line