MongoDB 4.0 RC0 is now available
Today we shipped the first release candidate for MongoDB 4.0. Here are the important links:
The release notes describe many exciting new features and improvements. To get up to speed on those, you may want to sign up for the online course M040: New Features and Tools in MongoDB 4.0.
Here are some of the highlights:
- Multi-document ACID transactions With snapshot isolation and all-or-nothing execution, transactions extend MongoDB ACID data integrity guarantees to multiple documents across one or many collections. These feel just like the transactions you are familiar with from relational databases, are easy to add to any application that needs them, and do not impact the performance of workloads that don’t require them. With multi-document transactions it’s easier than ever for all developers to address a complete range of use cases with MongoDB, while for many of them, simply knowing that they are available will provide critical peace of mind. In MongoDB 4.0 transactions work across replica sets, and MongoDB 4.2 will support transactions across sharded clusters.
- Snapshot Read Concern find, aggregate, count, distinct, and geoNear queries executed against a replica set within a read-only transaction will operate against a single, isolated snapshot, ensuring that a consistent view of the data is returned to the client, irrespective of whether that data is being simultaneously modified by concurrent operations.
- Non-Blocking Secondary Reads To ensure that reads could not return data that was not in the same causal order as the primary replica, MongoDB previously blocked secondary reads while oplog entries were applied. MongoDB 4.0 avoids blocking by reading from a snapshot on the secondary, improving read latencies and increasing throughput from the replica set, while maintaining a consistent ordering of data. For replica sets with a high write load, not having to wait for readers between applying oplog batches allows for reduced replication lag and faster confirmation of majority writes.
- Extensions to Change Streams Change Streams can now be configured track changes across an entire database or whole cluster. Additionally, change streams now will return a cluster time associated with an event, which can be used by the application to provide an associated wall clock time for the event.
- Data Type Conversions A $convert expression has been added to the aggregation framework. This will not only allow new ETL workloads and simplify app development, but also allow the MongoDB BI Connector to push down large amounts of work to MongoDB Server, unlocking significantly improved performance for users of that tool.
- Improved Migrations Throughput Sharded migrations are now up to 40% faster, so users can more easily and quickly scale capacity elastically in response to changing application demand as nodes are added and removed from sharded clusters.
- SCRAM-SHA-256 We’ve added support for SCRAM-SHA-256, allowing individual users to store SHA-2 based credentials when security policies disallow the use of SHA-1.
- Native TLS On macOS and Windows, MongoDB now uses the platform's native cryptography and TLS support, and no longer uses OpenSSL. Additionally, the system certificate stores can be used to manage certificates.
- Improved Sharded Operation Management Operators can now list and kill queries running in a sharded cluster directly on a mongos node. When a sharded query either encounters an operation-fatal error, or is explicitly killed by an operator, on either mongos or any shard, the query will be promptly terminated on all other shards in the cluster.
- Slow Query Logging on mongos Previously only available on mongod, we now log operations which exceed a particular latency threshold on mongos, enabling DBAs to more quickly identify problematic queries.
- Hybrid Cursor Caching Improvements in cursor caching unlock up to 2x performance gains on deployments running with a large number of collections, and enable operations like dropping a collection to execute without causing any performance degradation on other active collections.
As always, we look forward to your feedback:
- Report any issues via the SERVER JIRA project
- Join the conversation on Twitter: @MongoDB #MongoDB40
- Meet our product & engineering team, attend technical deep dives and socialize with other MongoDB users at MongoDB World'18 (June 26-27) in NYC (use code GrigoriMelnik for 25% off).
EVP, FinServ | Emerging/Converging Markets across Accounting, Banking, Finance, Insurance, Investment, Real Estate, & Technology
2 å¹´Thanks for sharing, Grigori!