AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

ネットワーク トラフィックを圧縮

MongoDB ドライバーは、MongoDB サーバーに送信および受信されるメッセージを圧縮できます。これにより各操作のデータ転送量が削減されます。圧縮により、帯域幅が制限されたネットワークでのパフォーマンスが向上し、MongoDB Atlas の実行に伴うデータ転送コストを削減できます。

圧縮はワイヤプロトコルレベルで動作するため、アプリケーションが実行するすべての操作に適用されます。複数のアルゴリズムを指定した場合、ドライバーはリスト内の最初のアルゴリズムを使用し、MongoDBサーバーもそれをサポートします。

MongoDB ドライバーは、次の圧縮アルゴリズムをサポートします。

MongoDB Atlas charges for data transferred across cloud regions, cloud providers, and between your infrastructure and MongoDB Atlas. Network compression reduces the amount of data that your application sends and receives, which can lower these data transfer costs. To learn more about pricing, see Data Transfer Costs.

ネットワーク圧縮には、生産性の向上というメリットもあります。メッセージを圧縮するとネットワーク経由の転送時間が短縮されるため、アプリケーションの応答時間が改善される可能性があります。圧縮によってMongoDBトラフィックが使用する帯域幅も削減されるため、同じネットワーク上の他のアプリケーションが使用できる帯域幅が増えます。

圧縮アルゴリズムを選択する際は、以下のガイドラインを考慮してください。

  • 圧縮効率とリソース使用量のバランスをとるには、Zstandardを使用してください。Zstandardは、ほとんどのアプリケーションにとって適切なデフォルトの選択肢です。

  • 計算オーバーヘッドを最小限に抑える必要があるレイテンシに敏感なアプリケーションには、Snappy を使用します。

  • MongoDBのドライバーや環境全体で幅広い互換性を確保するには、zlibを使用してください。

Tip

CPU 使用率をモニターする

Compression trades network bandwidth for CPU usage. After you enable network compression, monitor your application's CPU utilization to confirm that the trade-off benefits your workload. To learn more about these trade-offs, see the CPU Utilization and Network Compression in MongoDB blog post.

次の表には、各圧縮アルゴリズムでサポートされるドライバーとMongoDBサーバーの最低バージョンを示します。

圧縮アルゴリズム
ドライバーの最小バージョン
サーバーの最小バージョン

4.10

4.2

4.10

4.2

4.10

4.2

MongoDB接続でネットワーク圧縮を有効にするには、必要な依存関係をインストールし、使用する圧縮アルゴリズムを指定します。

以下の表には、各アルゴリズムと必要な依存関係が示されています。

圧縮アルゴリズム
依存関係

Snappy

SnappyライブラリのJava JNIラッパーであるsnappy-javaをダウンロードする。インストールについては、Maven Centralのsnappy-javaを参照してください。

Zlib

なし。ドライバーはZlib圧縮をネイティブでサポートしています。

Zstandard

ZstandardライブラリのJava JNIラッパーであるzstd-jniをダウンロードする。インストールについては、Maven Centralのzstd-jniを参照してください。

次の方法でアルゴリズムを指定することで、接続の圧縮を有効にできます。

  • ConnectionStringインスタンスへのcompressorsパラメータの追加

  • MongoClientSettingsビルダからcompressorList()メソッドを呼び出す

ConnectionStringインスタンスで接続の圧縮を有効にするには、compressors パラメータを指定します。compressors パラメーターには、次の値を 1 つ以上指定できます。

次の例は、接続の圧縮アルゴリズムとしてSnappy 、 zlib 、および Zstandard を指定する方法を示しています。

// Replace the placeholders with values from your MongoDB deployment's connection string
val connectionString = ConnectionString("mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd")
// Create a new client with your settings
val mongoClient = MongoClient.create(connectionString)