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:
Snappy: available in MongoDB 3.4 and later.
Zlib: disponível no 3 MongoDB.6 e posterior.
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.
Especifique algoritmos de compactação
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
.
To enable compression using the ConnectionString, add the parameter compressors
in the connection string passed to MongoClients.create()
. You can specify one or more compression algorithms, separating them with commas:
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:
To enable compression using the MongoClientSettings, pass the compressorList() builder method a list of MongoCompressor instances. You can specify one or more compression algorithms in the list:
MongoClientSettings settings = MongoClientSettings.builder() .compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(), MongoCompressor.createZlibCompressor(), MongoCompressor.createZstdCompressor())) .build(); MongoClient client = MongoClients.create(settings);
Dependências do algoritmo de compactação
The JDK supports Zlib compression natively, but Snappy and Zstandard depend on open source implementations. See snappy-java and zstd-java for details.