Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
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 3 MongoDB.4 e posterior.

  2. Zlib: disponível no 3 MongoDB.6 e posterior.

  3. Zstandard: disponível no 4 MongoDB.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 utilizando o ConnectionString, adicione o parâmetro na compressors string de conexão passada MongoClients.create() para. 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 compressão Snappy

  • "zlib" para compressão Zlib

  • "zstd" para compressão padrão Z

Para habilitar a compressão usando o MongoClientSettings, passe ao método construtor compressorList() uma lista de instâncias do MongoCompressor. 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 suporta compressão Zlib nativamente, mas Snappy e Zstandard dependem de implementações de código aberto.Consulte snappy-java e zstd-java para obter detalhes.

Voltar

Limitar o tempo de execução