Skip to content

Commit

Permalink
Updated release highlights
Browse files Browse the repository at this point in the history
  • Loading branch information
nastena1606 committed Oct 28, 2024
1 parent 65ba7bc commit ba2ecc4
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions docs/release_notes/8.0.1-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ This release of Percona Server for MongoDB includes the improvements and bug fix

## Upgrade considerations

Starting with version 8.0, Percona Server for MongoDB uses the upgraded TCMalloc to handle memory requests more efficiently. The use of TCMalloc requires enabling Transparent Huge Pages (THP) and per-CPU caches before you start Percona Server for MongoDB. Read more about TCMalloc in [MongoDB documentation :octicons-external-link-16:](https://www.mongodb.com/docs/manual/administration/tcmalloc-performance/)
Starting with version 8.0, Percona Server for MongoDB uses the upgraded TCMalloc to handle memory requests more efficiently. The use of TCMalloc requires you to enable Transparent Huge Pages (THP) and per-CPU caches before you start Percona Server for MongoDB. In MongoDB 8.0 and later, ensure that THP is enabled before mongod starts by creating a service file for your platform's initialization system. If you are using MongoDB 7.0 or earlier - disable THP.

Read more about TCMalloc in [MongoDB documentation :octicons-external-link-16:](https://www.mongodb.com/docs/manual/administration/tcmalloc-performance/)


## Release Highlights
Expand All @@ -32,17 +34,22 @@ MongoDB 8.0 introduces a lot of major changes. We recommend testing it on stagin

#### Performance improvements

* Insert, update or delete multiple collections in one request with the new [`bulkWrite`](https://www.mongodb.com/docs/manual/reference/command/bulkWrite/#mongodb-dbcommand-dbcmd.bulkWrite) command. Executing this command results in faster performance.
* Benefit from faster read performance when working with time series collections. Instead of processing documents individually, MongoDB now operates the abstraction of blocks of data. This also results in faster `$group` queries.
* Query plan execution has been optimized to reduce the number of scans and fetches. For single indexed and single equality queries, MongoDB skips regular query planning and executions and uses the [EXPRESS stages](https://www.mongodb.com/docs/manual/reference/explain-results/#std-label-explain-results) which improves write performance.
* MongoDB now writes and applies oplog entries for every batch in parallel. The writer and applier threads now work asynchronously, which increases replication throughput for secondaries.
* The upgraded upgraded TCMalloc version is now the default in MongoDB. Together with THP and per-CPU cache, it reduces memory fragmentation by 18% which is especially useful during peak loads.
* Benefit from faster performance when working with time series collections. A new algorithm enhances time series speed by processing queries in "blocks" of data rather than individual values.
* Insert operations for multi-document transactions no longer produce single oplog entries. Instead, they are now batched as a single entry. This change increases multi-document insert performance and improves replication efficiency, reducing lag.
* Oplog buffers for replication are now introduced. A new writer thread reads new entries from the primary and writes them to the local oplog on each secondary. An independent applier thread asynchronously applies changes to the local database, increasing replication throughput.
* The upgraded TCMalloc version is now the default in MongoDB. Together with THP and per-CPU cache, it reduces memory fragmentation by 18% which is especially useful during peak loads.

#### Workload management

* Analyze query performance and manage the workload in your system using [query shapes](https://www.mongodb.com/docs/manual/core/query-shapes/#std-label-query-shapes). A query shape is a set of specifications to group similar queries together. For a query shape, you add query settings instead of index filters. Query settings are persistent meaning that they remain after the cluster restart thus saving you from rerunning them in your application. A query shape has the `queryShapeHash` parameter using which you can check if the operation causes excessive workload and deny it using operation rejection filters.
Analyze query performance and manage the workload in your system using [query shapes](https://www.mongodb.com/docs/manual/core/query-shapes/#std-label-query-shapes). A query shape is a set of specifications to group similar queries together. For a query shape, you add query settings instead of index filters. Query settings are persistent meaning that they remain after the cluster restart thus saving you from rerunning them in your application. A query shape has the `queryShapeHash` parameter using which you can check if the operation causes excessive workload and deny it using operation rejection filters.

#### Developer experience

* Insert, update or delete multiple collections in one request with the new [`bulkWrite`](https://www.mongodb.com/docs/manual/reference/command/bulkWrite/#mongodb-dbcommand-dbcmd.bulkWrite) command. Previously you could only run these operations on a single collection.
* Several enhancements are made to the index build process such as a better error handling and tolerance to disk space issues. This avoids common secondary crashes due to errors.


#### Scaling improvements
#### Sharding improvements

* To better optimize resources or distribute the data more evenly across the shards, you can now [move a single unsharded collection to any shard](https://www.mongodb.com/docs/manual/core/moveable-collections/#std-label-moveable-collections) with the new `moveCollection` command. This operation is going online and the collection data is fully available during the migration. This new way to move data is flexible and the read and write behavior when you query data is transparent.
* Ensuring even data distribution across shards in your cluster is crucial. Starting with MongoDB 5.0, you can reshard a collection using a different shard key, although this operation is time-consuming. In MongoDB 8.0, you can reshard a collection using the same shard key, significantly boosting performance. This is especially beneficial for large collections, reducing resharding time from days to several hours. You can dynamically reallocate your resources based on the workload. The process is online, so your operations run uninterrupted. The ability to add or remove shards without changing the shard key makes the whole resharding process straightforward.
Expand All @@ -56,8 +63,7 @@ You can now configure database profiler to log slow operations based on the time

#### Security improvements

* You can now run range queries on encrypted fields, specifically for numeric data types and dates. This expands the range of use cases for queryable encryption, including accounting operations, healthcare, financial services, and other strictly regulated data operations where data safety is crucial.
* The logging format in MongoDB is now [OCSF](Open Cybersecurity Schema Framework) compliant. This simplifies integration with external monitoring systems since the log output is compatible out of the box. This saves the time of your developers enabling them to focus on other tasks.
* You can now run range queries on encrypted fields, specifically for numeric data types and dates. This expands the range of use cases for Manual Queryable Encryption, including accounting operations, healthcare, financial services, and other strictly regulated data operations where data safety is crucial.

Other improvements include the following:

Expand Down

0 comments on commit ba2ecc4

Please sign in to comment.