¿Qué es DynamoDB?
DynamoDB es un servicio de base de datos NoSQL totalmente administrado proporcionado por Amazon Web Services (AWS). Está diseñado para proporcionar un rendimiento rápido y predecible con escalabilidad sin problemas. DynamoDB almacena datos en tablas, y cada tabla puede tener un número arbitrario de elementos, donde cada elemento representa un solo registro.
¿Cuáles son los beneficios de DynamoDB?
DynamoDB ofrece varios beneficios, entre ellos:
- Escalabilidad: DynamoDB puede manejar grandes cantidades de datos y tráfico, con una capacidad de escalación prácticamente ilimitada.
- El rendimiento: DynamoDB ofrece un rendimiento rápido y predecible, incluso bajo cargas pesadas.
- Flexibilidad: DynamoDB admite un modelo de datos flexible que permite cambios dinámicos de esquemas y estructuras de datos anidadas.
- Disponibilidad: DynamoDB proporciona alta disponibilidad y durabilidad a través de replicación automática en múltiples Zonas de Disponibilidad (AZ).
- Seguridad: DynamoDB se integra con AWS Identity and Access Management (IAM) para proporcionar un control de acceso de granos a las tablas y elementos.
¿Cómo funciona DynamoDB?
DynamoDB se basa en una arquitectura distribuida que particiona automáticamente los datos a través de múltiples servidores en una región de AWS. Cada partición se llama una 'clave de partición', y cada clave de partición debe ser única dentro de una tabla. Cuando un cliente hace una solicitud a DynamoDB, la solicitud se envía a la partición apropiada (s) basada en la clave de partición. DynamoDB también admite índices secundarios, que permiten una consulta eficiente de datos utilizando atributos distintos a la clave de partición.
DynamoDB admite dos tipos de operaciones de lectura: finalmente lecturas consistentes y lecturas fuertemente consistentes. Finalmente lecturas consistentes proporcionan el mayor rendimiento de lectura, pero pueden no reflejar las últimas actualizaciones de los datos.
DynamoDB también admite dos tipos de operaciones de escritura: poner y actualizar. Las operaciones de poner insertan un nuevo elemento en la tabla, mientras que las operaciones de actualización modifican un elemento existente. DynamoDB utiliza bloqueo optimista para garantizar que las escrituras simultáneas no se sobrescriban entre sí.