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 e recebidas do servidor MongoDB . Isso reduz a quantidade de dados transferidos para cada operação. A compressão pode melhorar o desempenho em redes restritas e reduzir os custos de transferência de dados associados à execução do MongoDB Atlas.

A compressão opera no nível do protocolo de conexão , portanto, ela se aplica a todas as operações que seu aplicação executa. Se você especificar mais de um algoritmo, o driver usará o primeiro algoritmo da sua lista que o servidor MongoDB também suporte.

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

O MongoDB Atlas cobra por dados transferidos entre regiões de nuvem, provedores de nuvem e entre sua infraestrutura e o MongoDB Atlas. A compactação de rede reduz a quantidade de dados que seu aplicação envia e recebe, o que pode reduzir esses custos de transferência de dados . Para saber mais sobre preços, consulte Custos de transferência de dados.

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

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

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

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

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

Dica

Monitore o uso da CPU

A compressão troca a largura de banda da rede pelo uso da CPU. Depois de ativar a compactação de rede, monitore a utilização da CPU do aplicativo para confirmar se a compensação beneficia o volume de trabalho. Para saber mais sobre essas compensações, consulte a postagem do blog Utilização da CPU e Compressão de Rede no MongoDB .

A tabela a seguir lista o driver mínimo suportado e a versão do servidor MongoDB para cada algoritmo de compressão:

Algoritmo de compressã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 do MongoDB , instale as dependências necessárias e especifique os algoritmos de compactação que você deseja usar.

A tabela a seguir lista cada algoritmo e a dependência necessária, se houver:

Algoritmo de compressão
Dependência

Snappy

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

zlib

Nenhum. O driver suporta nativamente a compressão Zlib.

Zstandard

zstd-jniBaixe, 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 compressors parâmetro. Você pode especificar um ou mais dos seguintes valores para o compressors parâmetro:

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)

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

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

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)