Operar cargas de trabajo de MongoDB de forma administrada con Amazon DocumentDB - Modelo de documentos y diseño de consultas
DocumentDB gestiona datos de documentos con una API compatible con MongoDB y logra el escalado de lectura y la DR con hasta 15 réplicas de lectura y clústeres globales. Explicamos cómo aprovechar el sharding con los clústeres elásticos.
Descripción general de DocumentDB
Amazon DocumentDB es un servicio de base de datos de documentos totalmente administrado y compatible con MongoDB. Es compatible con las API de MongoDB 3.6, 4.0 y 5.0, por lo que puede usar tal cual los controladores y herramientas de MongoDB existentes. El almacenamiento se amplía automáticamente hasta un máximo de 128 TiB, con un diseño de alta disponibilidad que mantiene 6 copias de los datos en 3 AZ. A diferencia de las bases de datos relacionales de RDS, puede almacenar con flexibilidad documentos JSON sin esquema, y puede guardar / consultar tal cual estructuras de datos complejas que incluyen objetos anidados y matrices. Mientras que DynamoDB está optimizado para el acceso clave-valor, DocumentDB es adecuado para cargas de trabajo que requieren consultas avanzadas (pipelines de agregación, búsqueda de texto, consultas geoespaciales).
Configuración del clúster y escalado
Un clúster de DocumentDB consta de 1 instancia principal y hasta 15 réplicas de lectura. Las réplicas de lectura distribuyen las cargas de trabajo de lectura y, cuando falla la instancia principal, se realiza una conmutación por error automática. La prioridad de conmutación por error se puede configurar para cada instancia, y es posible promover preferentemente una instancia concreta. Los clústeres elásticos son la función de sharding de DocumentDB y admiten millones de escrituras por segundo y almacenamiento a escala de PB. Con solo especificar una clave de shard, los datos se distribuyen automáticamente, y también puede añadir / eliminar shards en línea. Los clústeres globales colocan réplicas de lectura en hasta 5 regiones y logran el escalado de lectura global y la DR con un retraso de replicación de menos de 1 segundo.
Consultas y operación
DocumentDB admite los pipelines de agregación, los índices de texto y los índices geoespaciales de MongoDB. Puede ejecutar consultas analíticas complejas combinando etapas de agregación como $match, $group, $sort y $lookup (unión entre colecciones). Con Change Streams, puede detectar en tiempo real los cambios en las colecciones y construir procesamiento dirigido por eventos activando funciones Lambda. Con Performance Insights, se analizan los planes de ejecución de las consultas y los eventos de espera para identificar la causa de las consultas lentas. Las copias de seguridad automáticas tienen un periodo de retención de hasta 35 días, y es posible la restauración a un momento dado (PITR).
Precios de DocumentDB
Los precios de DocumentDB se componen de 3 elementos: instancia, almacenamiento y E/S. La instancia db.r6g.large (2 vCPU, 16 GiB) cuesta aproximadamente 0.277 USD/hora (región de Tokio) (a fecha de agosto de 2026). El almacenamiento cuesta aproximadamente 0.11 USD por GB al mes, y la E/S aproximadamente 0.22 USD por cada 1 millón de solicitudes. Si elige el almacenamiento optimizado para E/S, el cargo de E/S deja de ser necesario, y el coste total se reduce en las cargas de trabajo con una alta carga de E/S. Los clústeres elásticos se cobran por vCPU y escalan según el número de shards. Las réplicas de lectura generan el mismo cargo de instancia que la principal, por lo que se configura un número adecuado de réplicas según la carga de lectura.
DR con clústeres globales
Los clústeres globales de DocumentDB son una función que replica los datos en varias regiones. Como las escrituras en la región principal se replican en otras regiones con baja latencia, puede construir una recuperación ante desastres que prepare ante el fallo de una región completa. Como en las regiones de réplica se pueden realizar lecturas, puede hacer que los usuarios de cada zona consulten los datos desde un lugar cercano y mejorar el rendimiento de lectura global. Si la región principal deja de estar disponible, puede promover una región de réplica para continuar la operación y reducir al mínimo la pérdida de datos. Es una configuración adecuada para sistemas que requieren disponibilidad distribuida geográficamente.
Sharding con Elastic Clusters
La capacidad y el rendimiento que puede manejar una sola instancia tienen un límite. Los Elastic Clusters de DocumentDB son un mecanismo que escala horizontalmente más allá de este límite distribuyendo los datos en varios shards. Aunque la carga de escritura o el volumen de datos aumenten considerablemente, puede responder añadiendo shards. Las colecciones se dividen según una clave de distribución y la carga se reparte entre varios shards. Es importante elegir la clave de distribución de modo que los datos se distribuyan de forma uniforme y sin sesgos. Ofrecen una opción que permite ampliar con flexibilidad la capacidad y el rendimiento para cargas de trabajo a gran escala que siguen creciendo.
Alta disponibilidad y conmutación por error
Para aumentar la disponibilidad, DocumentDB replica los datos en varias zonas de disponibilidad. Si se produce un fallo en la instancia principal, una de las réplicas se promueve automáticamente y asume el procesamiento, por lo que puede mantener corto el tiempo de inactividad. Si coloca varias réplicas que se encarguen de las lecturas, puede mejorar tanto la disponibilidad como el rendimiento de lectura. Si gestiona adecuadamente el destino de conexión, la aplicación puede volver a conectarse y seguir funcionando aunque se produzca una conmutación por error. Con la redundancia en varias zonas y la conmutación por error automática, puede lograr una base de datos sin un único punto de fallo y difícil de detener.
Supervisión y optimización del rendimiento
Para operar DocumentDB de forma estable, es importante supervisar el rendimiento de forma continua, encontrar los cuellos de botella y mejorarlos. Si utiliza un mecanismo que visualiza el estado de carga de la base de datos, puede saber qué consultas son pesadas y qué recursos están al límite. Una vez identificadas las consultas lentas, se aceleran añadiendo los índices adecuados. Cuando se manejan muchas conexiones, se agrupan y reutilizan las conexiones para reducir la sobrecarga de conexión. También es eficaz revisar los planes de ejecución de las consultas y replantear los procesos ineficientes. Al continuar con la supervisión y la optimización, puede mantener un rendimiento que soporte el aumento del volumen de datos.
Resumen
Amazon DocumentDB es una base de datos de documentos totalmente administrada y compatible con MongoDB que ofrece el almacenamiento de datos JSON sin esquema y consultas avanzadas. Con hasta 15 réplicas de lectura, el sharding con clústeres elásticos y la DR con clústeres globales, admite una amplia gama de cargas de trabajo, desde pequeña hasta gran escala.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
- Amazon DocumentDB (página oficial)
- AWS KMS (página oficial)
- Amazon CloudWatch (página oficial)
- Documentación de AWS (oficial)
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.