Amazon DocumentDB es uno de los servicios de persistencia que ofrece AWS además de AuroraDB, DynamoDB, SimpleDB,…como podéis ver en este post.
En este caso, DocumentDB es una base de datos NoSQL documental que permite almacenar y consultar datos en JSON. DocumentDB está pensado para ofrecer un servicio de base de datos de alto rendimiento, escalable y con alta disponibilidad.
De hecho, Amazon DocumentDB está diseñado para ofrecer una disponibilidad del 99,99 % y para replicar los datos en 3 zonas de disponibilidad de AWS.
Seguro que tras leer esto habéis pensado en que es una base de datos muy parecida a MongoDB, y estáis en lo cierto, tanto es así que, como veremos a continuación, DocumentDB es compatible con MongoDB (ya con Mongo 4) y esta es una de sus principales características.
Veamos alguna de sus características con más detalle
- Compatible con MongoDB: Amazon DocumentDB es compatible con las herramientas y los controladores de MongoDB. Esto permite que la gran mayoría de las aplicaciones, los controladores y las herramientas que usan MongoDB puedan usar DocumentDB sin prácticamente ninguna modificación. Más información sobre las API de MongoDB compatibles aquí. En la imagen podemos ver cómo podemos conectar con MongoDB directamente con la Shell de Mongo:
- Utilidades para migración desde MongoDB: los clientes pueden migrar fácilmente sus bases de datos de MongoDB a Amazon DocumentDB de manera gratuita (durante seis meses por instancia), prácticamente sin tiempo de inactividad, mediante el uso de AWS Database Migration Service (DMS). Para obtener más información puedes consultar el documento a Migración a Amazon DocumentDB..
- Aprovisionamiento y configuración automáticos: Empezar a usar Amazon DocumentDB es inmediato, basta con iniciar un clúster de Amazon DocumentDB con la consola de administración de AWS.
- Rendimiento a escala:
- Alto nivel de procesamiento y baja latencia para consultas en documentos
- Escalado sencillo de recursos
- Almacenamiento de escalado automático: Amazon DocumentDB aumentará automáticamente el tamaño del volumen de almacenamiento a medida que se incrementen las necesidades del clúster en relación con el almacenamiento. El volumen de almacenamiento se incrementará de 10 en 10 GB, hasta un máximo de 64 TB.
- Réplicas de lectura de baja latencia: permite aumentar la capacidad de lectura para admitir solicitudes de aplicaciones de volumen alto mediante la creación de hasta 15 réplicas de lectura de bases de datos. Las réplicas de Amazon DocumentDB comparten el mismo almacenamiento subyacente que la instancia de origen, lo que reduce los costos y evita la necesidad de realizar escrituras en los nodos de réplicas. Esto libera más capacidad de procesamiento para atender las solicitudes de lectura y reduce el tiempo de retraso de la réplica, que suele limitarse a milisegundos de un solo dígito. Amazon DocumentDB también suministra un único punto de enlace destinado a consultas de lectura para que la aplicación pueda conectarse sin tener que realizar un seguimiento de las réplicas a medida que se agregan y eliminan.
- Altos niveles de seguridad y conformidad
- Aislamiento de red: Amazon DocumentDB se ejecuta en Amazon VPC, lo que le permite aislar el clúster en su propia red virtual y conectarse a la infraestructura de TI local con VPN con IPsec cifradas estándares de la industria. Además, con la configuración de VPC de Amazon DocumentDB, puede configurar los parámetros del firewall y controlar el acceso de red al clúster.
- Cifrado: Amazon DocumentDB le permite cifrar sus bases de datos mediante las claves que crea y controla a través de AWS Key Management Service (KMS). En un clúster que se ejecuta con el cifrado de Amazon DocumentDB, los datos almacenados en reposo en el almacenamiento subyacente están cifrados, al igual que las copias de seguridad, las instantáneas y las réplicas automatizadas que se encuentran en el mismo clúster. De manera predeterminada, las conexiones entre un cliente y Amazon DocumentDB están cifradas en tránsito con TLS.
- Alta disponibilidad:
- Monitorización y reparación de instancias: el estado de las instancias y el clúster de Amazon DocumentDB se monitoriza continuamente. Si ocurre un error en la instancia que contiene la base de datos, la instancia y los procesos asociados se reinician automáticamente, los plazos de reinicio de la instancia son, normalmente, de 30 segundos o menos.
- Implementaciones Multi-AZ con réplicas de lectura: Cuando ocurre un error en una instancia, Amazon DocumentDB automatiza la conmutación por error a una de las hasta 15 réplicas de Amazon DocumentDB que haya creado en cualquiera de las tres zonas de disponibilidad. Si no se aprovisionó ninguna réplica de Amazon DocumentDB y se produce un error, Amazon DocumentDB intentará crear automáticamente una nueva instancia.
- Almacenamiento con recuperación automática y tolerante a errores: Cada sección de 10 GB del volumen de almacenamiento se replica de seis formas en 3 zonas de disponibilidad. Amazon DocumentDB utiliza almacenamiento tolerante a errores que administra de manera transparente la pérdida de hasta dos copias de datos sin que ello afecte la disponibilidad de escritura de la base de datos y hasta tres copias sin que incida en la disponibilidad de lectura.
- Restablecimiento a un momento dado y copias de seguridad automáticas, constantes y graduales: La capacidad para realizar copias de seguridad simples de bases de datos de Amazon DocumentDB permite realizar recuperaciones de clústeres a un momento dado. Esto le permitirá restablecer el clúster a cualquier segundo dentro de su período de retención, hasta los últimos cinco minutos. El período de retención de copias de seguridad automáticas se puede configurar hasta un máximo de 35 días. Las copias de seguridad automáticas se almacenan en Amazon S3, que es un servicio diseñado para ofrecer una durabilidad del 99,999999999 %. Las copias de seguridad de Amazon DocumentDB son automáticas, graduales y continuas, y no afectan el rendimiento del clúster.
-
- Instantáneas de clústeres: Las instantáneas de clústeres son copias de seguridad que inicia el usuario del clúster almacenado en Amazon S3 y que se conservarán hasta que se eliminen explícitamente.
[…] partir de esta release, puede usarse DocumentDB como otros de los motores de persistencia soportados por la Plataforma (ya sabéis que soportamos […]
[…] this release, you can use DocumentDB as a possible persistence engine supported by the Platform (you know we support any relational […]