Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine
/ /

Compactação de rede

Nesta página

  • Especifique algoritmos de compactação
  • Dependências do algoritmo de compactação

O driver Kotlin do MongoDB oferece 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:

  1. Snappy: disponível no MongoDB 3.4 e posterior.

  2. Zlib: disponível no MongoDB 3.6 e posterior.

  3. Zstandard: disponível no MongoDB 4.2 e posterior.

O driver é testado nas seguintes versões dessas bibliotecas:

  • org.xerial.snappy:snappy-java:1.1.8.4

  • com.github.luben:zstd-jni:1.5.5-2

Se você especificar vários algoritmos de compressão, o driver selecionará o primeiro que for suportado pela instância do MongoDB à qual o driver está conectado.

Observação

Se o seu aplicativo exigir compressão Snappy ou Zstandard, você deverá adicionar dependências explícitas para esses algoritmos.

Você pode habilitar a compressão na sua conexão especificando os algoritmos das seguintes maneiras:

  • Adicionando o parâmetro compressors à sua instância ConnectionString

  • Chamando o método compressorList() do construtor MongoClientSettings

Para habilitar a compressão em sua conexão em uma ConnectionString instância, especifique o compressors parâmetro . Você pode especificar um ou mais dos seguintes valores para o parâmetro compressors :

O exemplo a seguir mostra como especificar Snappy, zlib e Zstandard como os algoritmos de compressão para uma conexão:

// 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)

Para ativar o uso de compactação em suas MongoClientSettings, chame o compressorList() método construtor e passe um ou mais MongoCompressor instâncias como parâmetro.

Você pode especificar algoritmos de compressão chamando os seguintes métodos do MongoCompressor:

  • createSnappyCompressor() para Snappy compressão

  • createZlibCompressor() para zlib compressão

  • createZstdCompressor() para Zstandard compressão

O exemplo a seguir mostra como especificar Snappy, zlib e Zstandard como os algoritmos de compressão para uma conexão:

// 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)

O JDK permite a compactação Zlib de forma nativa, mas o Snappy e o Zstandard dependem de implementações de código aberto. Consulte snappy-java e zstd-java para ver os detalhes.

Voltar

Configurações do MongoClient