Demo Configurando DynamoDB
Clase 45 de 75 • Curso de AWS Certified Solutions Architect Associate
Resumen
Las bases de datos no relacionales (NoSQL) están ganando relevancia en el sector bancario y son fundamentales para obtener certificaciones en AWS. Estas bases de datos ofrecen flexibilidad y escalabilidad que las hacen ideales para aplicaciones modernas que manejan grandes volúmenes de datos en tiempo real. En este contenido, exploraremos DynamoDB, el servicio de base de datos NoSQL de Amazon, y aprenderemos a crear y gestionar tablas de manera efectiva.
¿Qué ventajas ofrecen las bases de datos NoSQL como DynamoDB?
Las bases de datos no relacionales como DynamoDB presentan numerosas ventajas para el almacenamiento de datos en tiempo real. Su esquema flexible permite adaptarse rápidamente a cambios en los requisitos de datos sin necesidad de modificar toda la estructura de la base de datos. Además, ofrecen alta escalabilidad para manejar grandes volúmenes de información y picos de tráfico.
Otra ventaja significativa es su rendimiento optimizado para consultas específicas, lo que resulta ideal para aplicaciones que requieren respuestas rápidas. En entornos bancarios, donde la velocidad y confiabilidad son cruciales, DynamoDB proporciona la capacidad de procesar transacciones en tiempo real con baja latencia.
Creación de una tabla en DynamoDB
Para comenzar a utilizar DynamoDB, debemos crear una tabla siguiendo estos pasos:
- Ingresar al servicio DynamoDB en la consola de AWS.
- Hacer clic en el botón naranja "Crear tabla".
- Asignar un nombre a la tabla (en nuestro ejemplo, "tabla_nexia").
- Definir la clave de partición (Partition key), que es obligatoria.
- Opcionalmente, configurar una clave de ordenación (Sort key).
La combinación de una clave de partición y una clave de ordenación forma una Composite key, que permite organizar los datos de manera más eficiente. Para nuestra demostración, utilizaremos únicamente una clave de partición llamada "ID" de tipo número.
Configuración de ajustes de la tabla
Al crear una tabla en DynamoDB, tenemos dos opciones principales para configurar los ajustes:
-
Ajustes por defecto: AWS configura automáticamente parámetros como la clase de tabla, capacidad y rendimiento.
-
Ajustes personalizados: Nos permite definir:
- Clase de tabla (Estándar o Estándar con acceso infrecuente)
- Unidades de capacidad de lectura y escritura
- Configuraciones de rendimiento (throughput)
- Índices secundarios (locales o globales)
Para nuestra demostración, utilizaremos los ajustes por defecto, que incluyen:
- Tabla tipo estándar
- Modo de capacidad bajo demanda (on demand)
- Capacidades de lectura y escritura gestionadas automáticamente
Es importante destacar que la mayoría de estos ajustes pueden modificarse después de la creación de la tabla, con excepción de los índices secundarios locales, que deben definirse durante la creación inicial.
¿Cómo gestionar datos en DynamoDB?
Una vez creada la tabla, podemos comenzar a trabajar con los datos. DynamoDB ofrece diferentes formas de interactuar con la información almacenada.
Inserción de elementos en la tabla
Aunque no es la práctica recomendada para entornos de producción, la consola de DynamoDB permite insertar elementos directamente para escenarios de prueba:
- Navegar a la sección "Explore Table Items".
- Seleccionar "Create item".
- Ingresar el valor para la clave de partición (en nuestro caso, un ID numérico).
- Añadir atributos adicionales según sea necesario.
Una característica destacable de DynamoDB es su esquema flexible. A diferencia de las bases de datos relacionales, no todos los elementos necesitan tener los mismos atributos. Por ejemplo:
- Creamos un primer elemento con ID=1 sin atributos adicionales.
- Añadimos un segundo elemento con ID=2 y un atributo "nombre" con valor "Kevin".
- Creamos un tercer elemento con ID=3, nombre "Laura" y un atributo booleano "suscripción" con valor "true".
Esta flexibilidad permite que la estructura de datos evolucione sin necesidad de migraciones complejas.
Consulta de datos en DynamoDB
DynamoDB ofrece dos métodos principales para recuperar información:
-
Scan: Examina todos los elementos de la tabla.
- Es menos eficiente y consume más recursos.
- Útil cuando necesitamos recuperar múltiples elementos sin conocer sus claves.
-
Query: Recupera elementos que comparten un valor específico de la clave de partición.
- Es más eficiente y consume menos recursos.
- Ideal para búsquedas específicas cuando conocemos la clave de partición.
Al ejecutar un scan en nuestra tabla de ejemplo, recuperamos los tres elementos creados y consumimos 2 unidades de capacidad de lectura. En cambio, al realizar una query buscando el ID=3, solo recuperamos el elemento correspondiente a Laura y consumimos apenas 0.5 unidades de capacidad.
Optimización de consultas con Composite Keys
Un consejo importante para trabajar con DynamoDB es agrupar datos relacionados utilizando Composite Keys (combinación de clave de partición y clave de ordenación). Esta práctica permite optimizar las consultas y reducir costos al minimizar el número de operaciones necesarias para recuperar información relacionada.
¿Por qué es importante DynamoDB para la certificación AWS?
Para obtener certificaciones de AWS, es fundamental comprender los conceptos básicos de DynamoDB, su funcionamiento y sus características principales. Los exámenes suelen incluir preguntas sobre bases de datos no relacionales, especialmente sobre:
- Diferencias entre modos de capacidad (bajo demanda vs aprovisionado)
- Tipos de claves (partición, ordenación, compuestas)
- Índices secundarios (locales y globales)
- Operaciones básicas (scan, query, put, update, delete)
- Optimización de costos y rendimiento
Dominar estos conceptos no solo te ayudará a aprobar la certificación, sino también a diseñar soluciones eficientes en entornos reales.
En la práctica profesional, es recomendable utilizar el SDK de DynamoDB para interactuar con la base de datos desde tu aplicación, en lugar de modificar los datos directamente desde la consola. Esto permite una gestión más segura y automatizada de la información.
Las bases de datos NoSQL como DynamoDB representan una herramienta poderosa para desarrolladores y arquitectos de soluciones en la nube. Su flexibilidad y rendimiento las hacen ideales para aplicaciones modernas que requieren escalabilidad y velocidad. ¿Has trabajado con DynamoDB en algún proyecto? Comparte tu experiencia en los comentarios.