Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.

Comprimir el tráfico de la red

Los driver de MongoDB pueden comprimir los mensajes enviados y recibidos de MongoDB Server. Esto reduce la cantidad de transferencia de datos para cada operación. La compresión puede mejorar el rendimiento en redes restringidas y reducir los costos de transferencia de datos asociados con la ejecución de MongoDB Atlas.

La compresión funciona a nivel de protocolo de conexión, por lo que se aplica a cada operación que realiza su aplicación. Si especifica más de un algoritmo, el driver utiliza el primer algoritmo de su lista que MongoDB Server también admita.

Los drivers de MongoDB admiten los siguientes algoritmos de compresión:

MongoDB Atlas cobra por la transferencia de datos entre regiones de nube, proveedores de nube y entre su infraestructura y MongoDB Atlas. La compresión de red reduce la cantidad de datos que su aplicación envía y recibe, lo que puede reducir estos costos de transferencia de datos. Para aprender más sobre los precios, consulte Costos de transferencia de datos.

La compresión de red también tiene beneficios de productividad. Los mensajes comprimidos tardan menos tiempo en transferirse por la red, lo que puede mejorar los tiempos de respuesta de su aplicación. La compresión también reduce el ancho de banda que utiliza el tráfico de MongoDB, lo que deja más ancho de banda disponible para otras aplicaciones en la misma red.

Cuando elijas un algoritmo de compresión, considera las siguientes directrices:

  • Utilice Zstandard para lograr un equilibrio entre la eficiencia de compresión y el uso de recursos. Zstandard es una buena opción por defecto para la mayoría de las aplicaciones.

  • Utilice Snappy para aplicaciones sensibles a la latencia que requieren una sobrecarga computacional mínima.

  • Utilice zlib para una amplia compatibilidad en todos los drivers de MongoDB y entornos.

Tip

Supervisar el uso de la CPU

La compresión intercambia ancho de banda de red por uso de CPU. Después de habilitar la compresión de red, supervise la utilización de la CPU de su aplicación para confirmar que la compensación beneficia a su carga de trabajo. Para aprender más sobre estas compensaciones, consulte la entrada de blog sobre la utilización de la CPU y la compresión de red en MongoDB.

La siguiente tabla enumera la versión mínima de driver compatible y de MongoDB Server para cada algoritmo de compresión:

Algoritmo de compresión
Versión mínima del controlador
Versión mínima del servidor

1.7

4.2

1.7

4.2

1.15

4.2

Para habilitar la compresión de red para su conexión de MongoDB, compile el driver C con las dependencias necesarias y especifique los algoritmos de compresión que desea utilizar.

La siguiente tabla enumera cada algoritmo y la dependencia que requiere, si la hay:

Algoritmo de compresión
Dependencia

rápido

Instale la librería Snappy. Para ver las instrucciones de instalación, consulte el snappy repositorio de Github.

Zlib

Ninguno. El driver incluye zlib por defecto.

Zstandard

Instale la librería Zstandard. Para ver las instrucciones de instalación, consulte el repositorio de GitHub de zstd.

Puedes habilitar la compresión para la conexión a tu instancia de MongoDB al especificar los algoritmos de una de las siguientes formas:

  • Agregue el parámetro compressors a su cadena de conexión

  • Establecer los compresores en una estructura mongoc_uri_t

Seleccione la pestaña Connection String o URI Option para ver un ejemplo que especifica todos los compresores disponibles:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=snappy,zlib,zstd");

Cuando utiliza el algoritmo zlib, puede especificar un nivel de compresión de -1 a 9. Los niveles más bajos generalmente proporcionan una compresión más rápida con una relación de compresión más baja, y los niveles más altos proporcionan una compresión más lenta con una relación de compresión más alta.

Seleccione la pestaña Connection String o URI Option para ver un ejemplo que especifica un nivel de compresión para el compresor zlib:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=zlib&zlibCompressionLevel=<zlib_compression_level");

Para obtener más información sobre los tipos y funciones utilizados en esta página, consulta la siguiente documentación de la API: