[MongoDB]: MongoDB 2.6

MongoDB 2.6

MongoDB 2.6 has Key features include aggregation enhancements, text-search integration, query-engine improvements, a new write-operation protocol, and security enhancements.

MMS 1.4, which includes On-Prem Backup in addition to Monitoring, is now also available. See MMS 1.4 documentation and the MMS 1.4 release notes for more information.

Major Changes

The following changes in MongoDB affect both the standard and Enterprise editions:

Aggregation Enhancements

The aggregation pipeline adds the ability to return result sets of any size, either by returning a cursor or writing the output to a collection. Additionally, the aggregation pipeline supports variables and adds new operations to handle sets and redact data.

  • The db.collection.aggregate() now returns a cursor, which enables the aggregation pipeline to return result sets of any size.
  • Aggregation pipelines now support an explain operation to aid analysis of aggregation operations.
  • Aggregation can now use a more efficient external-disk-based sorting process.
  • New pipeline stages:
    • $out stage to output to a collection.
    • $redact stage to allow additional control to accessing the data.
  • New or modified operators:

Text Search Integration

Text search is now enabled by default, and the query system, including the aggregation pipeline $matchstage, includes the $text operator, which resolves text-search queries.

MongoDB 2.6 includes an updated text index format and deprecates the text command.

Insert and Update Improvements

Improvements to the update and insert systems include additional operations and improvements that increase consistency of modified data.

  • MongoDB preserves the order of the document fields following write operations except for the following cases:
    • The _id field is always the first field in the document.
    • Updates that include renaming of field names may result in the reordering of fields in the document.
  • New or enhanced update operators:
    • $bit operator supports bitwise xor operation.
    • $min and $max operators that perform conditional update depending on the relative size of the specified value and the current value of a field.
    • $push operator has enhanced support for the $sort, $slice, and $each modifiers and supports a new $position modifier.
    • $currentDate operator to set the value of a field to the current date.
  • The $mul operator for multiplicative increments for insert and update operations.

New Write Operation Protocol

A new write protocol integrates write operations with write concerns. The protocol also provides improved support for bulk operations.

MongoDB 2.6 adds the write commands insert, update, and delete, which provide the basis for the improved bulk insert. All officially supported MongoDB drivers support the new write commands.

The mongo shell now includes methods to perform bulk-write operations. See Bulk() for more information.

MSI Package for MongoDB Available for Windows

MongoDB now distributes MSI packages for Microsoft Windows. This is the recommended method for MongoDB installation under Windows.

Security Improvements

MongoDB 2.6 enhances support for secure deployments through improved SSL support, x.509-based authentication, an improved authorization system with more granular controls, as well as centralized credential storage, and improved user management tools.

Specifically these changes include:

  • A new authorization model that provides the ability to create custom User-Defined Roles and the ability to specify user privileges at a collection-level granularity.
  • Global user management, which stores all user and user-defined role data in the admin database and provides a new set of commands for managing users and roles.
  • x.509 certificate authentication for client authentication as well as for internal authentication of sharded and/or replica set cluster members. x.509 authentication is only available for deployments using SSL.
  • Enhanced SSL Support:
  • MongoDB disables the http interface by default, limiting network exposure. To enable the interface, see enabled.

Query Engine Improvements

Improvements

Index Build Enhancements

  • Background index build allowed on secondaries. If you initiate a background index build on a primary, the secondaries will replicate the index build in the background.

  • Automatic rebuild of interrupted index builds after a restart.

    • If a standalone or a primary instance terminates during an index build without a clean shutdown,mongod now restarts the index build when the instance restarts. If the instance shuts down cleanly or if a user kills the index build, the interrupted index builds do not automatically restart upon the restart of the server.
    • If a secondary instance terminates during an index build, the mongod instance will now restart the interrupted index build when the instance restarts.

    To disable this behavior, use the –noIndexBuildRetry command-line option.

  • ensureIndex() now wraps a new createIndex command.

  • The dropDups option to ensureIndex() and createIndex is deprecated.

Enhanced Sharding and Replication Administration

Configuration Options YAML File Format

MongoDB 2.6 supports a YAML-based configuration file format in addition to the previous configuration file format. See the documentation of the Configuration File for more information.

Operational Changes

Storage

usePowerOf2Sizes is now the default allocation strategy for all new collections. The new allocation strategy uses more storage relative to total document size but results in lower levels of storage fragmentation and more predictable storage capacity planning over time.

To use the previous exact-fit allocation strategy:

See Storage for more information about MongoDB’s storage system.

Networking

  • Removed upward limit for the maxIncomingConnections for mongod and mongos. Previous versions capped the maximum possible maxIncomingConnections setting at 20,000 connections.
  • Connection pools for a mongos instance may be used by multiple MongoDB servers. This can reduce the number of connections needed for high-volume workloads and reduce resource consumption in sharded clusters.
  • The C++ driver now monitors replica set health with the isMaster command instead ofreplSetGetStatus. This allows the C++ driver to support systems that require authentication.
  • New cursor.maxTimeMS() and corresponding maxTimeMS option for commands to specify a time limit.

Tool Improvements

MongoDB Enterprise Features

The following changes are specific to MongoDB Enterprise Editions:

MongoDB Enterprise for Windows

MongoDB Enterprise for Windows is now available. It includes support for Kerberos, SSL, and SNMP.

MongoDB Enterprise for Windows does not include LDAP support for authentication. However, MongoDB Enterprise for Linux supports using LDAP authentication with an ActiveDirectory server.

MongoDB Enterprise for Windows includes OpenSSL version 1.0.1g.

Auditing

MongoDB Enterprise adds auditing capability for mongod and mongos instances. See Auditing for details.

LDAP Support for Authentication

MongoDB Enterprise provides support for proxy authentication of users. This allows administrators to configure a MongoDB cluster to authenticate users by proxying authentication requests to a specified Lightweight Directory Access Protocol (LDAP) service. See Authenticate Using SASL and LDAP with OpenLDAP and Authenticate Using SASL and LDAP with ActiveDirectory for details.

MongoDB Enterprise for Windows does not include LDAP support for authentication. However, MongoDB Enterprise for Linux supports using LDAP authentication with an ActiveDirectory server.

MongoDB does not support LDAP authentication in mixed sharded cluster deployments that contain both version 2.4 and version 2.6 shards. See Upgrade MongoDB to 2.6 for upgrade instructions.

Expanded SNMP Support

MongoDB Enterprise has greatly expanded its SNMP support to provide SNMP access to nearly the full range of metrics provided by db.serverStatus().

SEE ALSO

SNMP Changes

Additional Information

Changes Affecting Compatibility

Some changes in 2.6 can affect compatibility and may require user actions. The 2.6 mongo shell provides a db.upgradeCheckAllDBs() method to perform a check for upgrade preparedness for some of these changes.

See Compatibility Changes in MongoDB 2.6 for a detailed list of compatibility changes.

Upgrade Process

See Upgrade MongoDB to 2.6 for full upgrade instructions.

Download

To download MongoDB 2.6, go to the downloads page.

Minor Releases

2.6.6 – December 09, 2014

2.6.5 – October 07, 2014

2.6.4 – August 11, 2014

  • Fix for text index where under specific circumstances, in-place updates to a text-indexed field may result in incorrect/incomplete results SERVER-14738
  • Check the size of the split point before performing a manual split chunk operation SERVER-14431
  • Ensure read preferences are re-evaluated by drawing secondary connections from a global pool and releasing back to the pool at the end of a query/command SERVER-9788
  • Allow read from secondaries when both audit and authorization are enabled in a sharded clusterSERVER-14170
  • All issues closed in 2.6.4

2.6.3 – June 19, 2014

2.6.2 – June 16, 2014

  • Query plans with differing performance can tie during plan ranking SERVER-13675.
  • mongod may terminate if x.509 authentication certificate is invalid SERVER-13753.
  • Temporary map/reduce collections are incorrectly replicated to secondaries SERVER-13981.
  • mongos incorrectly targets multiple shards for nested field shard key predicates SERVER-14138.
  • rs.stepDown() during mapReduce causes fassert when writing to op log SERVER-14186.

2.6.1 – May 5, 2014

Minor Releases

2.6.6 – December 09, 2014

2.6.5 – October 07, 2014

2.6.4 – August 11, 2014

  • Fix for text index where under specific circumstances, in-place updates to a text-indexed field may result in incorrect/incomplete results SERVER-14738
  • Check the size of the split point before performing a manual split chunk operation SERVER-14431
  • Ensure read preferences are re-evaluated by drawing secondary connections from a global pool and releasing back to the pool at the end of a query/command SERVER-9788
  • Allow read from secondaries when both audit and authorization are enabled in a sharded clusterSERVER-14170
  • All issues closed in 2.6.4

2.6.3 – June 19, 2014

2.6.2 – June 16, 2014

  • Query plans with differing performance can tie during plan ranking SERVER-13675.
  • mongod may terminate if x.509 authentication certificate is invalid SERVER-13753.
  • Temporary map/reduce collections are incorrectly replicated to secondaries SERVER-13981.
  • mongos incorrectly targets multiple shards for nested field shard key predicates SERVER-14138.
  • rs.stepDown() during mapReduce causes fassert when writing to op log SERVER-14186.

2.6.1 – May 5, 2014

  • Ask Question