Overview
Scalaドライバーには、メッセージを圧縮する接続オプションが用意されているため、MongoDBとアプリケーション間のネットワーク経由で渡されるデータ量を減らします。
ドライバーは次のアルゴリズムをサポートしています。
複数の圧縮アルゴリズムを指定した場合、ドライバーは MongoDB インスタンスでサポートされているリスト内の最初のアルゴリズムを選択します。
圧縮アルゴリズムの依存関係
Java Development Kit (JDK) は zlib 圧縮をサポートしています。ただし、Snappy と Zstandard はオープンソースの Java 実装に依存しているため、これらのアルゴリズムには明示的な依存関係を追加する必要があります。ドライバーは次のバージョンに対してテストされます。
org.xerial.snappy:snappy-java:1.1.10.3com.github.luben:zstd-jni:1.5.5-3
詳しくは、snappy-java と zstd-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 ドキュメント
このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。