Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Kotlin Sync ドライバー
/ /

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

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

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

  • Snappy

  • Zlib

  • Zstandard

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

注意

アプリケーションで Snappy または Zstandard 圧縮が必要な場合は、それらのアルゴリズムに明示的な依存関係を追加する必要があります。詳細については、このガイドの「圧縮アルゴリズムの依存関係」セクションを参照してください。

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

  • compressorList() メソッドを MongoClientSettings.builder() メソッドにチェーンします。

  • 接続 URI で compressors パラメータを使用します。

次の例は、 MongoDB .に接続するときに、利用可能なすべてのコンプレッサーを指定する方法を示しています。対応する構文を確認するには、MongoClientSettings タブまたは Connection URIタブを選択します。

val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString("<connection string>"))
.compressorList(
listOf(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor())
)
.build()
val mongoClient = MongoClient.create(settings)
val uri = ConnectionString("mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd")
val mongoClient = MongoClient.create(uri)

圧縮アルゴリズムの 1 つとして zlib を指定する場合は、MongoCompressor.LEVELプロパティを使用して圧縮レベルを指定することもできます。このオプションは、-1 から 9 までの整数値を受け入れます。

  • -1: デフォルトの圧縮(通常は 6

  • 0: 圧縮なし

  • 1: 速度は最も速く、圧縮は最小

  • 9: 圧縮に最適ですが、速度は最も遅くなります

次の例は、zlib コンプレッサーの圧縮レベルを指定する方法を示しています。対応する構文を確認するには、MongoClientSettings タブまたは Connection URIタブを選択します。

val zlib = MongoCompressor.createZlibCompressor()
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, <level>)))
.build()
val mongoClient = MongoClient.create(settings)
val uri = "mongodb://<db_username>:<db_password>@<hostname>:<port>/?" +
"compressors=zlib" +
"zlibCompressionLevel=<zlib compression level>"
val mongoClient = MongoClient.create(uri)

JDK は zlib 圧縮をネイティブにサポートしています。ただし、Snappy と Zstandard はオープンソースJava実装に依存します。これらの実装の詳細については、次のGithubリポジトリを参照してください。

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

戻る

接続オプション

項目一覧