Docs Menu
Docs Home
/ /
MongoDB に接続する

圧縮

Scala ドライバーは MongoDB サーバーとの間のメッセージの圧縮をサポートしています。 このドライバーは、MongoDB サーバーでサポートされている 3 つのアルゴリズムを実装します。

ドライバーは、 helloコマンド応答でサーバーによって通知される機能に基づいて、どの圧縮アルゴリズムが使用されるかをネゴシエートします。

次のインポート ステートメントを含めます。

import org.mongodb.scala._

ConnectionString 内で圧縮を指定するには、 接続stringの一部としてコンプレッサーを指定します。

次のコードは Snappy 圧縮アルゴリズムを指定します。

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=snappy")

次のコードはzlib圧縮アルゴリズムを指定します。

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=zlib")

次のコードは、Zstandard 圧縮アルゴリズムを指定します。

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=zstd")

次のコードでは、複数の圧縮アルゴリズムを指定します。

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=snappy,zlib,zstd")

いずれの場合も、ドライバーは、サーバーがサポートしているリスト内の最初のコンプレッサーを使用します。

次のインポート ステートメントを含めます。

import org.mongodb.scala._
import scala.collection.JavaConverters._

MongoClientSettingsインスタンス内で圧縮を指定するには、 compressorsプロパティをMongoCompressorインスタンスのリストに設定します。

次のコードは Snappy 圧縮アルゴリズムを指定します。

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createSnappyCompressor).asJava)
.build()
val client = MongoClient(settings)

次のコードはzlib圧縮アルゴリズムを指定します。

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createZlibCompressor).asJava)
.build()
val client = MongoClient(settings)

次のコードは、Zstandard 圧縮アルゴリズムを指定します。

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createZstdCompressor).asJava)
.build()
val client = MongoClient(settings)

次のコードでは、複数の圧縮アルゴリズムを指定します。

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createSnappyCompressor,
MongoCompressor.createZlibCompressor,
MongoCompressor.createZstdCompressor).asJava)
.build()
val client = MongoClient(settings)

接続stringを使用する構成と同様に、ドライバーは、サーバーがサポートしているリスト内の最初のコンプレッサーを使用します。

JDK には Snappy または Zstandard の組み込みサポートがないため、ドライバーは既存のオープンソースの Snappy および Zstandard 実装に依存します。詳細については、 snappy-java Githubリポジトリおよび zstd-java Githubリポジトリ を参照してください。

戻る

認証

項目一覧