Overview
El controlador de Scala proporciona una opción de conexión para comprimir los mensajes, lo que reduce la cantidad de datos que se transmiten a través de la red entre MongoDB y su aplicación.
El driver admite los siguientes algoritmos:
Si especifica varios algoritmos de compresión, el controlador seleccionará el primero de la lista que admita su instancia de MongoDB.
Dependencias del algoritmo de compresión
El kit de desarrollo de Java (JDK) admite la compresión Zlib. Sin embargo, Snappy y Zstandard dependen de implementaciones de Java de código abierto, por lo que debe agregar dependencias explícitas para esos algoritmos. El controlador realiza pruebas con las siguientes versiones:
org.xerial.snappy:snappy-java:1.1.10.3com.github.luben:zstd-jni:1.5.5-3
Para obtener más información, consulte las páginas de GitHub de snappy-java y zstd-jni.
Especificar algoritmos de compresión
Puedes habilitar la compresión para la conexión a tu instancia de MongoDB al especificar los algoritmos de una de las siguientes formas:
En el parámetro
compressorsde tu cadena de conexiónEn el método
compressorListencadenado al métodoMongoClientSettings.builder()
El siguiente ejemplo muestra cómo especificar todos los algoritmos de compresión. Seleccione la pestaña Connection String o MongoClientSettings para ver la sintaxis correspondiente:
val mongoClient = MongoClient( "mongodb://<hostname>:<port>/?compressors=snappy,zlib,zstd" )
val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString("<connection string>")) .compressorList(List( MongoCompressor.createSnappyCompressor(), MongoCompressor.createZlibCompressor(), MongoCompressor.createZstdCompressor() ).asJava) .build() val mongoClient = MongoClient(settings)
Documentación de la API
Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API: