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

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

Scalaドライバーには、メッセージを圧縮する接続オプションが用意されているため、MongoDBとアプリケーション間のネットワーク経由で渡されるデータ量を減らします。

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

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

Java Development Kit (JDK) は zlib 圧縮をサポートしています。ただし、Snappy と Zstandard はオープンソースの Java 実装に依存しているため、これらのアルゴリズムには明示的な依存関係を追加する必要があります。ドライバーは次のバージョンに対してテストされます。

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

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

詳しくは、snappy-javazstd-jni Github ページを参照してください。

次のいずれかの方法でアルゴリズムを指定することで、 MongoDBインスタンスへの接続の圧縮を有効にできます。

  • 接続stringの compressors パラメータ内

  • compressorListメソッドに連結されたMongoClientSettings.builder() メソッド内

次の例は、すべての圧縮アルゴリズムを指定する方法を示しています。対応する構文を確認するには、Connection String タブまたは MongoClientSettingsタブを選択します。

val mongoClient = MongoClient(
"mongodb://<hostname>:<port>/?compressors=snappy,zlib,zstd"
)
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString("<connection string>"))
.compressorList(List(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()
).asJava)
.build()
val mongoClient = MongoClient(settings)

このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。