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

ネットワーク圧縮

項目一覧

  • 圧縮アルゴリズムを指定する
  • 圧縮アルゴリズムの依存関係

MongoDB Kotlin ドライバーには メッセージを圧縮するための接続オプションが用意されているため、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.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から次のメソッドを呼び出します。

  • createSnappyCompressor() Snappy 用 圧縮

  • createZlibCompressor()zlib 圧縮

  • createZstdCompressor() for Zstandard 圧縮

次の例は、接続の圧縮アルゴリズムとして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ネイティブで圧縮されていますが、 SnappyおよびZstandardは、オープンソースの実装に依存します。 詳しくは 、 snappy-java および zstd-java 詳細については、「 」を参照してください。

戻る

MongoClient 設定