Docs Menu
Docs Home
/ / /
Java 同期
/ /

ネットワーク圧縮

ドライバー オプションを有効にすると、メッセージを圧縮して、MongoDB とアプリケーション間でネットワーク経由で渡されるデータ量を減らすことができます。

ドライバーは次のアルゴリズムをサポートしています。

  1. Snappy : MongoDB3 で利用可能4 。 以降。

  2. zlib:MongoDB3 .6 以降で利用可能。

  3. Zstandard : MongoDB で利用可能4 2。 以降。

ドライバーは、これらのライブラリの次のバージョンに対してテストされています。

  • org.xerial.snappy:snappy-java:1.1.8.4

  • com.github.luben:zstd-jni:1.5.2-3

複数の圧縮アルゴリズムを指定した場合、ドライバーは接続先の MongoDB インスタンスでサポートされている最初の圧縮アルゴリズムをリストから選択します。

注意

アプリケーションで Snappy または Zstandard 圧縮が必要な場合は、それらのアルゴリズムに明示的な依存関係を追加する必要があります。

MongoDBインスタンスへの接続の圧縮を有効にするには、ConnectionString を使用して接続stringに パラメータを追加するか、MongoClientSettings.Builder クラスで メソッドを呼び出します。

ConnectionString を使用して圧縮を有効にするには、 で、 に渡される接続 にパラメータcompressors stringを追加します。MongoClients.create()1 つ以上の圧縮アルゴリズムを、カンマで区切って指定できます。

ConnectionString connectionString = new ConnectionString("mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd");
MongoClient mongoClient = MongoClients.create(connectionString);

次の文字列を使用して圧縮アルゴリズムを指定します。

MongoClientSettings を使用して圧縮を有効にするには、 、 compressorList() を渡す ビルダ メソッド MongoCompressor のリスト インスタンス。リストでは 1 つ以上の圧縮アルゴリズムを指定できます。

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

JDK はzlibネイティブで圧縮されていますが、 SnappyおよびZstandardは、オープンソースの実装に依存します。 詳しくは 、 snappy-java および zstd-java 詳細については、「 」を参照してください。

戻る

MongoClient 設定の指定