Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
/ / / / /

Compresión de la red

El controlador MongoDB Kotlin proporciona una opción de conexión para comprimir mensajes, lo que reduce la cantidad de datos que se transmiten por la red entre MongoDB y tu 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 contra las siguientes versiones de estas librerías:

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

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

Si especificas múltiples algoritmos de compresión, el controlador selecciona el primero que sea 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

  • Invocando el método compressorList() desde el desarrollador 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:

  • createSnappyCompressor() for Snappy compression

  • createZlibCompressor() for zlib compression

  • createZstdCompressor() for Zstandard compresión

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