Menu Docs
Página inicial do Docs
/ / /
Driver de sincronização Java
/ /

Compactação de rede

Você pode habilitar uma opção de driver 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.10.3

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

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

Observação

Os aplicativos que exigem compressão Snappy ou Zstandard devem adicionar dependências explícitas para esses algoritmos.

Você pode habilitar a compressão para a conexão com sua instância MongoDB especificando os algoritmos de duas maneiras: adicionando o parâmetro à sua string de conexão utilizando ConnectionString ou chamando o método na classe MongoClientSettings.Builder .

Para habilitar a compressão usando a ConnectionString, adicione o parâmetro compressors na string de conexão passada para MongoClients.create(). Você pode especificar um ou mais algoritmos de compressão, separando-os com vírgulas:

ConnectionString connectionString = new ConnectionString("mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd");
MongoClient mongoClient = MongoClients.create(connectionString);

Especifique os algoritmos de compressão usando as seguintes strings:

  • "snappy" para compactação Snappy

  • Compactação de "zlib" para Zlib

  • "zstd" para compactação Zstandard

Para habilitar a compactação usando o MongoClientSettings, passe o compressorList() método construtor uma lista de MongoCompressor instâncias. Você pode especificar um ou mais algoritmos de compressão na lista:

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.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