-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into DOCSP-42299-replica-sets
- Loading branch information
Showing
25 changed files
with
2,211 additions
and
549 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
.. _java-rs-compression: | ||
.. _java-rs-network-compression: | ||
|
||
======================== | ||
Compress Network Traffic | ||
======================== | ||
|
||
.. contents:: On this page | ||
:local: | ||
:backlinks: none | ||
:depth: 1 | ||
:class: singlecol | ||
|
||
.. facet:: | ||
:name: genre | ||
:values: reference | ||
|
||
.. meta:: | ||
:keywords: zlib, zstandard, zstd, snappy | ||
|
||
The {+driver-short+} provides a connection option to compress messages, which reduces the amount | ||
of data passed over the network between MongoDB and your application. | ||
|
||
The driver supports the following algorithms: | ||
|
||
- `Snappy <https://google.github.io/snappy/>`__: available in MongoDB 3.4 and later. | ||
- `Zlib <https://zlib.net/>`__: available in MongoDB 3.6 and later. | ||
- `Zstandard <https://github.com/facebook/zstd/>`__: available in MongoDB 4.2 and later. | ||
|
||
The driver tests against the following versions of these libraries: | ||
|
||
- ``{+snappyVersion+}`` | ||
- ``{+zstdVersion+}`` | ||
|
||
If you specify multiple compression algorithms, the driver selects the first one | ||
in the list supported by your MongoDB instance. | ||
|
||
.. note:: | ||
|
||
Applications that require Snappy or Zstandard compression must | ||
:ref:`add explicit dependencies <java-rs-compression-dependencies>` for those | ||
algorithms. | ||
|
||
.. _enable-compression: | ||
|
||
Specify Compression Algorithms | ||
------------------------------ | ||
|
||
You can enable compression for the connection to your MongoDB instance | ||
by specifying the algorithms in one of two ways. Select the | ||
:guilabel:`Connection String` or :guilabel:`MongoClientSettings` tab to | ||
see the corresponding syntax: | ||
|
||
- In the ``compressors`` parameter of your connection string | ||
- In the ``compressorList`` method chained to the ``MongoClientSettings.builder()`` method | ||
|
||
The following example shows how to specify all compression algorithms: | ||
|
||
.. tabs:: | ||
|
||
.. tab:: Connection String | ||
:tabid: connectionstring | ||
|
||
.. literalinclude:: /includes/connect/network-compression.java | ||
:start-after: start-specify-connection-string | ||
:end-before: end-specify-connection-string | ||
:language: java | ||
|
||
.. tab:: MongoClientSettings | ||
:tabid: mongoclientsettings | ||
|
||
.. literalinclude:: /includes/connect/network-compression.java | ||
:start-after: start-specify-uri | ||
:end-before: end-specify-uri | ||
:language: java | ||
|
||
.. _java-rs-compression-dependencies: | ||
|
||
Compression Algorithm Dependencies | ||
---------------------------------- | ||
|
||
The JDK natively supports `Zlib <https://zlib.net/>`__ compression. However, | ||
Snappy and Zstandard depend on open source Java implementations. To learn more | ||
about these implementations, see the following Github pages: | ||
|
||
- `snappy-java <https://github.com/xerial/snappy-java>`__ | ||
- `zstd-java <https://github.com/luben/zstd-jni>`__ | ||
|
||
API Documentation | ||
----------------- | ||
|
||
To learn more about any of the methods or types discussed in this | ||
guide, see the following API documentation: | ||
|
||
- `MongoClient <{+api+}/mongodb-driver-reactivestreams/com/mongodb/reactivestreams/client/MongoClient.html>`__ | ||
- `createSnappyCompressor() <{+api+}/mongodb-driver-core/com/mongodb/MongoCompressor.html#createSnappyCompressor()>`__ | ||
- `createZlibCompressor() <{+api+}//mongodb-driver-core/com/mongodb/MongoCompressor.html#createZlibCompressor()>`__ | ||
- `createZstdCompressor() <{+api+}/mongodb-driver-core/com/mongodb/MongoCompressor.html#createZstdCompressor()>`__ |
Oops, something went wrong.