Docs Menu
Docs Home
/ / /
Kotlin コルーチン
/ /

ネットワーク圧縮

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

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

  1. Snappy

  2. Zlib

  3. Zstandard

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

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

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

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

注意

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

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

  • 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://<user>:<password>@<cluster-url>/?compressors=snappy,zlib,zstd")
// Create a new client with your settings
val mongoClient = MongoClient.create(connectionString)

MongoClientSettings 内で を使用して圧縮を有効にするには、compressorList() ビルダ メソッドを呼び出し、1 つ以上の MongoCompressor インスタンスを パラメーターとして渡します。

圧縮アルゴリズムを指定するには、 MongoCompressorから次のメソッドを呼び出します。

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

// Replace the placeholder with your MongoDB deployment's connection string
val uri = "<connection string>"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.compressorList(
listOf(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor())
)
.build()
// Create a new client with your settings
val mongoClient = MongoClient.create(settings)

JDK は zlib 圧縮をネイティブでサポートしていますが、SnappyZstandard はオープンソースの実装に依存します。詳細については、 snappy-java zstd-java を参照してください。

戻る

実行時間の制限

項目一覧