Base de datos compatible con MongoDB operada con Amazon DocumentDB - Patrones de diseño y escalado
Se selecciona la clase de instancia en DocumentDB, compatible con MongoDB, y se asegura la escalabilidad con el sharding de Elastic Clusters. También presentamos estrategias de copia de seguridad.
Características de DocumentDB y diferencias con MongoDB
DocumentDB es una base de datos de documentos administrada que ofrece una API compatible con MongoDB. Puede usar tal cual los controladores de MongoDB, los ODM (como Mongoose) y las herramientas de administración (mongosh, Compass). Sin embargo, su arquitectura interna es distinta de la de MongoDB y adopta un motor de almacenamiento similar al de Aurora. El almacenamiento replica 6 copias en 3 AZ y se amplía automáticamente en unidades de 10 GB (el límite superior es de 256 TiB a partir de la versión 8.0 del motor y de 128 TiB en las versiones anteriores). Como DocumentDB es un servicio totalmente administrado, usted no gestiona por su cuenta la operación de los conjuntos de réplicas ni del sharding de MongoDB. Por otro lado, algunas funciones de MongoDB (el cifrado a nivel de campo del lado del cliente, algunos patrones de $graphLookup, etc.) no son compatibles, por lo que es necesario verificar la compatibilidad antes de la migración.
Diseño de instancias y escalado
Un ejemplo de clase de instancia de DocumentDB es db.r6g, orientada a memoria y basada en Graviton2. La instancia principal procesa las escrituras y hasta 15 réplicas de lectura distribuyen las lecturas. Las réplicas de lectura también funcionan como destinos de conmutación por error y se promueven automáticamente cuando falla la instancia principal. Para cargas de trabajo a gran escala, se utilizan los Elastic Clusters. Los Elastic Clusters distribuyen automáticamente los datos según la clave de shard y admiten datos a escala de petabytes y un rendimiento de millones de operaciones por segundo. Como la clave de shard influye en el rendimiento, se elige un campo con una cardinalidad alta y que se ajuste a los patrones de consulta.
Copias de seguridad y alta disponibilidad
DocumentDB realiza automáticamente copias de seguridad continuas en S3, y es posible la restauración a un momento dado con precisión de segundos dentro de un máximo de 35 días. Las instantáneas manuales se pueden guardar sin límite de periodo de retención, y la copia entre regiones da soporte a la DR. En una implementación Multi-AZ, la instancia principal y las réplicas de lectura se colocan en AZ distintas, y la conmutación por error ante un fallo de AZ suele completarse en un plazo de 30 segundos. Si utiliza clústeres globales, puede colocar réplicas de lectura en hasta 5 regiones y promover a principal una réplica de otra región ante un fallo de región. El retraso de replicación suele ser de menos de 1 segundo.
Precios de DocumentDB
Los precios de DocumentDB se componen de las horas de instancia, el almacenamiento y la E/S. La clase db.r6g.large cuesta aproximadamente 0.277 USD por hora (aproximadamente 199 USD al mes) (a fecha de agosto de 2026). El almacenamiento cuesta aproximadamente 0.10 USD por GB al mes, y la E/S aproximadamente 0.20 USD por cada 1 millón de solicitudes en los clústeres Standard. Los clústeres I/O-Optimized tienen un precio unitario de almacenamiento aproximadamente un 25% más alto, pero no cobran la E/S, por lo que el coste total puede bajar en las cargas de trabajo con mucha E/S. Los Elastic Clusters (sharding) cuestan aproximadamente 0.1386 USD por hora de vCPU y escalan según el número de shards.
Modelado de datos y diseño de índices
DocumentDB es una base de datos orientada a documentos, y puede representar con flexibilidad los datos relacionados agrupándolos en un solo documento. En el diseño, se decide si es adecuado incrustar o referenciar partiendo de cómo la aplicación lee y escribe los datos. Incrustar en un solo documento los datos que se leen juntos con frecuencia reduce el número de lecturas, por lo que el alcance de la incrustación se decide en función del tamaño del documento. Se crean índices adecuados en los campos que se usan en las condiciones de búsqueda para asegurar el rendimiento de las consultas. Como muchos índices aumentan el coste de escritura, se limitan a los índices necesarios según los patrones de consulta reales.
Escalado de lectura y réplicas
DocumentDB puede adoptar una configuración que separa la instancia principal, que se encarga de las escrituras, de las réplicas que se encargan de las lecturas. En cargas de trabajo con una carga de lectura alta, puede aumentar el rendimiento añadiendo réplicas y distribuyendo las lecturas. Existe un diseño en el que, en el lado de la aplicación, las lecturas que necesitan el valor más reciente se envían a la instancia principal y las que toleran cierto retraso se envían a las réplicas. Cuando se manejan muchas conexiones, se agrupan y reutilizan las conexiones para reducir la sobrecarga de establecerlas. Repartir la carga según las características de lectura y escritura es la base de una operación escalable.
Migración desde MongoDB
DocumentDB es compatible con MongoDB, y puede usar tal cual muchos de los controladores y herramientas existentes. Al migrar, primero se comprueba si la versión y las funciones de MongoDB que se usan son compatibles con DocumentDB. Algunas funciones pueden no ser compatibles, por lo que antes de la migración se confirma que la aplicación no las utiliza. Para la migración de datos, si se aprovecha un servicio de migración que permite el cambio mientras se incorporan los cambios de forma continua, se puede reducir el tiempo de inactividad. Después de la migración, se prueba si se obtiene el rendimiento de consulta previsto y se ajustan los índices y la configuración según sea necesario para prepararse para producción.
Seguridad y supervisión de la operación
DocumentDB se coloca dentro de una VPC y controla el acceso a nivel de red. La comunicación se cifra con TLS, y los datos almacenados también se cifran para protegerlos. Se decide cómo tratar las credenciales de la base de datos y se gestionan, y los permisos de acceso se limitan al ámbito necesario. Si activa la función de auditoría, puede registrar qué operaciones se realizaron y rastrear las operaciones no autorizadas. En cuanto a la operación, se utiliza un mecanismo que visualiza el rendimiento para identificar las consultas lentas y los cuellos de botella de los recursos, y llevarlos a mejoras. Junto con las copias de seguridad, se establece un sistema de operación que siga comprobando la seguridad, la disponibilidad y el rendimiento.
Resumen
DocumentDB es un servicio que opera una base de datos de documentos de forma administrada con una API compatible con MongoDB. Su almacenamiento mantiene 6 copias en 3 AZ, y los Elastic Clusters dan soporte a cargas de trabajo a gran escala. En la migración desde MongoDB, se comprueba primero la compatibilidad, y después de la migración se puede dejar en manos de AWS la operación de los conjuntos de réplicas y del sharding.
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.
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.