Visão geral
O driver Scala fornece uma opção de conexão para comprimir mensagens, o que reduz a quantidade de dados passados pela rede entre o MongoDB e seu aplicativo.
O driver suporta os seguintes algoritmos:
Se você especificar vários algoritmos de compactação, o driver selecionará o primeiro na lista compatível com sua instância do MongoDB.
Dependências do algoritmo de compactação
O Java Development Kit (JDK) oferece suporte à compactação zlib. No entanto, Snappy e Zstandard dependem de implementações Java de código aberto, e você deve adicionar dependências explícitas para esses algoritmos. O driver testa as seguintes versões:
org.xerial.snappy:snappy-java:1.1.10.3com.github.luben:zstd-jni:1.5.5-3
Para saber mais, consulte as páginas do GitHub snappy-java e zstd-jni.
Especifique algoritmos de compactação
Você pode habilitar a compressão para a conexão com sua instância do MongoDB especificando os algoritmos de uma das seguintes maneiras:
No parâmetro
compressorsda string de conexãoNo método
compressorListencadeado ao métodoMongoClientSettings.builder()
O exemplo a seguir mostra como especificar todos os algoritmos de compactação. Selecione a aba Connection String ou MongoClientSettings para ver a sintaxe correspondente:
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)
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: