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 controlador admite los siguientes algoritmos:

  1. Rápido

  2. Zlib

  3. Zstandard: disponible en MongoDB.4 2 y 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 su aplicación requiere compresión Snappy o Zstandard, debe agregar dependencias explícitas para esos algoritmos.

Puede habilitar la compresión en su conexión especificando los algoritmos de las siguientes maneras:

  • Agregar el parámetro compressors a su 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 compressors parámetro. Puede especificar uno o más de los siguientes valores para el compressors parámetro:

El siguiente ejemplo muestra cómo especificar Snappy, Zlib y Zstandard como 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 dentro de MongoClientSettings, llame al método de construcción compressorList() y pase 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 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.Consulte snappy-java y zstd-java para obtener más información.

Volver

Opciones de conexión

En esta página