Operación administrada de cargas de trabajo MongoDB con Amazon DocumentDB - Modelo de documentos y diseño de consultas
Gestione datos de documentos con API compatible con MongoDB y logre escalado de lectura y DR con hasta 15 réplicas de lectura y clústeres globales. Explicamos el uso de sharding con clústeres elásticos.
Descripción general de DocumentDB
Amazon DocumentDB es un servicio de base de datos de documentos completamente administrado compatible con MongoDB. Es compatible con las APIs de MongoDB 3.6, 4.0 y 5.0, permitiendo usar directamente los drivers y herramientas de MongoDB existentes. El almacenamiento se expande automáticamente hasta 128 TiB y mantiene 6 copias de datos en 3 AZ con un diseño de alta disponibilidad. A diferencia de las bases de datos relacionales de RDS, puede almacenar de forma flexible documentos JSON sin esquema y guardar y consultar directamente estructuras de datos complejas que incluyen objetos anidados y arrays. Mientras DynamoDB está optimizado para acceso clave-valor, DocumentDB es adecuado para cargas de trabajo que requieren consultas ricas (pipelines de agregación, búsqueda de texto, consultas geoespaciales).
Configuración de clúster y escalado
Un clúster de DocumentDB se compone de una instancia primaria y hasta 15 réplicas de lectura. Las réplicas de lectura distribuyen la carga de trabajo de lectura y realizan failover automático en caso de fallo del primario. La prioridad de failover se puede configurar por instancia, permitiendo promover preferentemente una instancia específica. Los clústeres elásticos son la función de sharding de DocumentDB, soportando millones de escrituras por segundo y almacenamiento a escala de PB. Simplemente especificando una clave de shard, los datos se distribuyen automáticamente, y la adición y eliminación de shards se puede ejecutar en línea. Los clústeres globales colocan réplicas de lectura en hasta 5 regiones, logrando escalado de lectura global y DR con una latencia de replicación inferior a 1 segundo.
Consultas y operación
DocumentDB soporta pipelines de agregación, índices de texto e índices geoespaciales de MongoDB. Se pueden ejecutar consultas de análisis complejas combinando etapas de agregación como $match, $group, $sort y $lookup (unión entre colecciones). Con Change Streams se pueden detectar cambios en colecciones en tiempo real y disparar funciones Lambda para construir procesamiento dirigido por eventos. Performance Insights analiza planes de ejecución de consultas y eventos de espera, identificando las causas de consultas lentas. Los backups automáticos tienen un período de retención de hasta 35 días, con restauración a cualquier punto en el tiempo (PITR) disponible. Para patrones de diseño de bases de datos de documentos, también puede consultar libros relacionados en Amazon.
Precios de DocumentDB
Los precios de DocumentDB se componen de 3 elementos: instancia, almacenamiento e I/O. La instancia db.r6g.large (2 vCPU, 16 GiB) cuesta aproximadamente 0.277 dólares/hora (región de Tokio). El almacenamiento cuesta aproximadamente 0.11 dólares/mes por GB, y el I/O aproximadamente 0.22 dólares por millón de solicitudes. Al seleccionar almacenamiento optimizado para I/O, se elimina el cargo de I/O, reduciendo el costo total para cargas de trabajo con alta carga de I/O. 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 el primario, por lo que se debe configurar el número apropiado de réplicas según la carga de lectura.
Resumen
Amazon DocumentDB es una base de datos de documentos completamente administrada compatible con MongoDB que proporciona almacenamiento de datos JSON sin esquema y consultas ricas. Con hasta 15 réplicas de lectura, sharding con clústeres elásticos y DR con clústeres globales, cubre cargas de trabajo desde pequeña hasta gran escala.