Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Comprimir tráfego de rede

Os drivers do MongoDB podem compactar as mensagens enviadas para e recebidas do servidor do MongoDB. Isso reduz a quantidade de transferência de dados para cada operação. A compactação pode melhorar o desempenho em redes restritas e reduzir o custo de transferência de dados associado à execução do MongoDB Atlas.

A compactação opera no nível do wire protocol, portanto, aplica-se a todas as operações que seu aplicativo executa. Se você especificar mais de um algoritmo, o driver usará o primeiro algoritmo da sua lista que o servidor MongoDB também suporta.

Os drivers do MongoDB suportam os seguintes algoritmos de compactação:

MongoDB Atlas charges for data transferred across cloud regions, cloud providers, and between your infrastructure and MongoDB Atlas. Network compression reduces the amount of data that your application sends and receives, which can lower these data transfer costs. To learn more about pricing, see Data Transfer Costs.

A compactação de rede também traz benefícios de produtividade. Mensagens compactadas levam menos tempo para serem transferidas pela rede, o que pode melhorar os tempos de resposta do seu aplicativo. A compactação também reduz a largura de banda que o tráfego do MongoDB utiliza, o que deixa mais largura de banda disponível para outros aplicativos na mesma rede.

Ao escolher um algoritmo de compactação, considere as seguintes diretrizes:

  • Use o Zstandard para um equilíbrio entre eficiência de compactação e uso de recursos. O Zstandard é uma boa escolha padrão para a maioria dos aplicativos.

  • Use Snappy para aplicativos sensíveis à latência que exigem sobrecarga computacional mínima.

  • Use o zlib para ampla compatibilidade entre drivers e ambientes do MongoDB.

Dica

Monitorar o uso da CPU

Compression trades network bandwidth for CPU usage. After you enable network compression, monitor your application's CPU utilization to confirm that the trade-off benefits your workload. To learn more about these trade-offs, see the CPU Utilization and Network Compression in MongoDB blog post.

A tabela a seguir lista o driver mínimo compatível e a versão do servidor MongoDB para cada algoritmo de compactação:

Algoritmo de compactação
Versão mínima do driver
Versão mínima do servidor

4.10

4.2

4.10

4.2

4.10

4.2

Para habilitar a compactação de rede para sua conexão com o MongoDB, instale as dependências necessárias e especifique os algoritmo de compactação que você deseja usar.

A tabela a seguir lista cada algoritmo e a dependência que ele requer, se houver:

Algoritmo de compactação
Dependência

Snappy

Baixar snappy-java, um wrapper JNI Java para a biblioteca Snappy. Para instalar, consulte snappy-java no Maven Central.

zlib

Nenhum. O driver oferece suporte nativo à compactação zlib.

Zstandard

Baixar zstd-jni, um wrapper Java JNI para a biblioteca Zstandard. Para instalar, consulte zstd-jni no Maven Central.

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 instância ConnectionString, especifique o parâmetro compressors. 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://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd")
// Create a new client with your settings
val mongoClient = MongoClient.create(connectionString)