Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / / / /

Compresión de la red

El controlador Kotlin de MongoDB proporciona una opción de conexión para comprimir mensajes. Esto reduce la cantidad de datos que pasan a través de la red entre MongoDB y su aplicación.

El driver admite los siguientes algoritmos:

  1. rápido

  2. Zlib

  3. Zstandard: disponible en MongoDB 4.2 y versiones posteriores

El controlador prueba las siguientes versiones de estas bibliotecas:

  • org.xerial.snappy:snappy-java:1.1.8.4

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

Si especifica varios algoritmos de compresión, el controlador selecciona el primero compatible con la instancia de MongoDB a la que está conectado el controlador.

Nota

Si tu aplicación requiere compresión Snappy o Zstandard, debes agregar dependencias explícitas para esos algoritmos.

Puedes habilitar la compresión en tu conexión especificando los algoritmos de las siguientes maneras:

  • Añadiendo el parámetro compressors a tu instancia ConnectionString

  • Llamar al método compressorList() desde el constructor MongoClientSettings

Para habilitar la compresión en su conexión en una instancia de ConnectionString, especifique el parámetro compressors. Puedes especificar uno o más de los siguientes valores para el parámetro compressors:

El siguiente ejemplo muestra cómo especificar Snappy, Zlib y Zstandard como los algoritmos de compresión para una conexión:

// 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 habilitar la compresión mediante MongoClientSettings, llama al método builder compressorList() y envía una o más instancias de MongoCompressor como parámetro.

Puede especificar algoritmos de compresión llamando a los siguientes métodos desde MongoCompressor:

El siguiente ejemplo muestra cómo especificar Snappy, Zlib y Zstandard como los algoritmos de compresión para una conexión:

// 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)

El JDK admite la compresión Zlib de forma nativa, pero Snappy y Zstandard dependen de implementaciones de código abierto. Consulta snappy-java y zstd-java para obtener más detalles.

Volver

Opciones de conexión

En esta página