Crear base de datos DynamoDB en AWS paso a paso

Amazon DynamoDB es una de las bases de datos NoSQL más avanzadas y escalables ofrecidas por Amazon Web Services (AWS). Diseñada para gestionar grandes volúmenes de datos con alta disponibilidad y baja latencia, DynamoDB es una opción perfecta para aplicaciones modernas que requieren rendimiento constante y flexibilidad. Desde juegos en tiempo real hasta aplicaciones IoT o sistemas de comercio electrónico, esta base de datos es una herramienta clave en la nube de AWS.

 

En este post vamos a tratar de guiarte paso a paso en la creación de una base de datos DynamoDB dentro de tu cuenta de AWS.

 

 

¿Qué es Amazon DynamoDB?

 

Amazon DynamoDB es un servicio de base de datos NoSQL totalmente administrado que permite almacenar y recuperar datos estructurados o semiestructurados a cualquier escala. No requiere preocuparse por configurar hardware, escalar servidores o realizar tareas de mantenimiento, ya que AWS gestiona todos los aspectos operativos.

 

Características principales de DynamoDB

 

  1. Totalmente administrada: AWS se encarga de las tareas administrativas, como configuración de hardware, parches y replicación de datos.
  2. Alta escalabilidad: DynamoDB escala automáticamente según el tamaño y las demandas de la aplicación.
  3. Baja latencia: Proporciona respuestas en milisegundos, lo que la hace ideal para aplicaciones en tiempo real.
  4. Esquema flexible: No requiere estructuras de tablas rígidas, lo que permite adaptar los datos según las necesidades.
  5. Modelos de pago flexibles: Ofrece tanto el modelo de capacidad provisionada como el de pago por uso.
  6. Integración con otros servicios de AWS: Funciona de manera perfecta con servicios como Lambda, API Gateway y CloudWatch.

 

Casos de uso comunes de DynamoDB

 

  • Juegos: Para gestionar tablas de puntuaciones, perfiles de jugadores y configuraciones personalizadas.
  • Comercio electrónico: Catálogos de productos, carritos de compra y análisis en tiempo real.
  • Internet de las cosas (IoT): Almacenamiento y consulta de datos generados por dispositivos conectados.

 

Ahora que sabemos en qué consiste DynamoDB, vamos a centrarnos en los pasos prácticos para crear una base de datos en este servicio.

 

Pasos para crear una base de datos DynamoDB en AWS

 

1. Accede al servicio DynamoDB 

 

Dentro de la cuenta de AWS, accedemos al Dashboard de la base de datos DynamoDB, donde nos aparecerá una lista de bases de datos y de tablas existentes para este servicio.

 


2. Crear una tabla en DynamoDB

 

DynamoDB organiza los datos en tablas, que son el equivalente a una base de datos en otros sistemas. Dentro del panel de DynamoDB, haz clic en el botón "CREATE TABLE". Aparecerá un formulario donde podrás configurar las principales características de tu tabla.

 


 

3. Configurar las propiedades básicas de la tabla

 

a) Nombre de la tabla

Introduce un nombre único que describa el propósito de tu tabla. Por ejemplo, en nuestro ejemplo la he denominado "universo-java-aws-tabla".


b) Clave principal

La clave principal identifica de forma única cada elemento de la tabla. DynamoDB te permite elegir entre dos tipos:

  • Clave de partición (partition key): Es un identificador único.
  • Clave compuesta (partition key + sort key): Incluye un segundo atributo para ordenar los datos. En nuestro ejemplo voy a utilizar "id-servicio" como clave de partición y "fecha-alta" como clave de ordenación.

 


 

c) Configuración de capacidad

 

DynamoDB ofrece dos modos de capacidad:

  1. Capacidad provisionada: Define manualmente los valores de lectura y escritura necesarios. Ideal para aplicaciones con una carga de trabajo predecible.
  2. Pago por uso: Ajusta automáticamente los recursos según las necesidades. Es perfecto para aplicaciones con cargas variables.

Elige el modelo que mejor se adapte a tu proyecto. En nuestro ejemplo, voy a seleccionar el modo de pago por uso ("On-demand").

 


 

4. Opciones avanzadas (opcionales)

 

Aparte de los atributos básicos, en DynamoDB podremos definir, de manera opcional, una serie de opciones avanzadas. Las más relevantes serían las siguientes:
  1. Índices secundarios: DynamoDB permite crear índices secundarios globales o locales para realizar búsquedas más flexibles. Por ejemplo, podrías crear un índice para buscar usuarios por su correo electrónico.
  2. Encriptación: Activa la encriptación si deseas que tus datos se almacenen de forma segura. AWS utiliza claves gestionadas por el servicio KMS (Key Management Service).
  3. Stream de DynamoDB: Habilita esta opción si deseas rastrear cambios en los datos de la tabla para integrarlos con otros servicios como AWS Lambda.

 

 

5. Revisar y crear la tabla

 

Una vez configurados los parámetros, revisa el contenido de la tabla. Si todo está correcto y no detectas ningún error, haz clic en "CREATE TABLE". DynamoDB comenzará a crear la tabla, lo que tomará unos pocos segundos. Cuando el estado de la tabla cambie a "Active", estará lista para usar.

 


 

6. Insertar datos en la tabla

 

Ahora que tienes una tabla creada, puedes agregar datos a través de la consola, mediante la API o mediante el SDK de AWS.

 

👉 Para añadir datos desde la consola AWS, los pasos serían los siguientes.

a) En primer lugar procede a seleccionar tu tabla DynamoDB desde el panel principal.

 

 

b) Haz clic en el botón "EXPLORE TABLE ITEMS" y saltaremos a la ventana siguiente.

 


 

c) A continuación, pulsa el botón "CREATE ITEM" y pasaremos a la ventana de creación de items.

 

 

d) Aparte de la vista en estilo formulario, si nos vamos a la vista "JSON VIEW" veremos los atributos en formato JSON. Aquí debes proceder a introducir los valores de los atributos definidos. En nuestro ejemplo ponemos lo siguiente:

{
  "id-servicio": {
    "S": "servicio-3003"
  },
  "fecha-alta": {
    "S": "01-04-2025"
  },
  "tipo-servicio": {
    "S": "Servicio de Base de Datos"
  }
}




e) Una vez introducidos todos los datos, haz clic en "CREATE ITEM" para añadir el elemento. Vemos que el item queda añadido en el apartatdo "Items Returned" de nuestra tabla.


 

⛔ Si prefieres usar un lenguaje de programación como Java, utiliza la API del AWS SDK para interactuar con DynamoDB. Por ejemplo:

 

PutItemRequest request = new PutItemRequest()
        .withTableName("universo-java-aws-tabla")
        .withItem(Map.of(
            "id-servicio", new AttributeValue("Servicio de almacenamiento"),
            "fecha-alta", new AttributeValue("01-02-2025")
        ));
dynamoDBClient.putItem(request);
   

 

7. Configurar monitorización con CloudWatch

 

DynamoDB genera métricas clave como el uso de capacidad de lectura y escritura, tasas de error y latencia. Puedes configurarlas en el servicio CloudWatch para realizar un seguimiento del rendimiento.

 

8. Gestionar copias de seguridad y restauración

 

Si lo deseas, puedes activar la copia de seguridad continua para garantizar que tus datos estén protegidos en caso de errores. Adicionalmente, puedes crear copias de seguridad manuales periódicamente para una mayor seguridad. Esto se realiza en la pestaña "BACKUPS" de nuestra tabla DynamoDB.

 

 

Consejos adicionales para trabajar con DynamoDB

 

Antes de terminar, te indico una serie de consejos adicionales que siempre te van a venir bien a la hora de trabajar con DynamoDB.
  1. Optimiza tus consultas: Usa índices secundarios para mejorar el rendimiento de las búsquedas.
  2. Gestiona el tamaño de las tablas: DynamoDB permite ajustar la capacidad de lectura y escritura sin interrupciones.
  3. Automatiza tareas: Integra DynamoDB con servicios como AWS Lambda para procesar eventos automáticamente.

 

 

Conclusión

 

Como acabamos de ver, crear una base de datos DynamoDB en AWS es un proceso sencillo que ofrece enormes ventajas en términos de rendimiento, escalabilidad y flexibilidad. Siguiendo los pasos de este post, puedes configurar tu tabla, almacenar datos y optimizar consultas para que tu aplicación funcione sin problemas.

 

Ya sea para una aplicación en tiempo real, un sistema IoT o un comercio electrónico, DynamoDB es una solución robusta para manejar datos NoSQL de cualquier escala. Si buscas más información sobre bases de datos en AWS o quieres explorar integraciones avanzadas con DynamoDB, ahora ya tienes la base necesaria para seguir investigando sobre este servicio por tu cuenta. En cualquier caso, aquí abajo puedes dejarme cualquier duda que te surja al respecto...

 

¡Nos vemos en el siguiente post!

Saludos.

 

Comentarios

Entradas populares de este blog

Creación de Webservice SOAP mediante Anotaciones

Configurar Apache Tomcat en Eclipse

Componentes y Ventanas de Java Swing