La siguiente guía explica cómo funciona la compresión de datos entre el servidor y el cliente de MongoDB. También muestra un ejemplo de cómo conectarse a un servidor con compresión de datos.
Comprimir datos hacia y desde MongoDB
MongoDB 3.4 agregó soporte para compresión Snappy, mientras que la compresión zlib se añadió en 3.6 y la compresión zstd en 4.2. Para habilitar el soporte de compresión, el cliente debe configurarse con los compresores a utilizar:
mongoc_client_t *client = NULL; client = mongoc_client_new ("mongodb://localhost:27017/?compressors=snappy,zlib,zstd");
El compressors La opción especifica el orden de prioridad de los compresores que el cliente desea usar. Los mensajes se comprimen si el cliente y el servidor comparten algún compresor.
Tenga en cuenta que el compresor que utiliza el servidor podría no ser el mismo que el del cliente. Por ejemplo, si el cliente usa la cadena de conexión compressors=zlib,snappy, usará la compresión zlib para enviar datos (si es posible), pero el servidor podría responder usando snappy, dependiendo de su configuración.
El controlador debe crearse con soporte zlib y/o snappy y/o zstd para habilitar el soporte de compresión, cualquier valor de compresor desconocido (o no compilado) será ignorado.