En esta lección, se presentan algunos ejemplos sencillos sobre cómo insertar y recuperar datos con DynamoDB. Usted se encarga de crear una tabla de DynamoDB con la API CreateTable y luego inserta algunos elementos mediante la llamada a la API BatchWriteItem. Por último, recupera elementos individuales mediante la llamada a la API GetItem. Antes de analizar los ejemplos, se aborda el modelo de datos que se utilizará en el ejemplo de aplicación para la librería en línea.
En modelos posteriores, aprende a recuperar múltiples elementos a la vez con la llamada a la API Query, así como a habilitar patrones de consulta adicionales mediante índices secundarios. También descubre cómo actualizar elementos existentes en la tabla.
Tiempo de realización del módulo: 15 minutos
Los siguientes conceptos de DynamoDB son importantes para este módulo:
- Tabla: un conjunto de registros de datos de DynamoDB.
- Elemento: un solo registro de datos en una tabla de DynamoDB. Es similar a una fila en una base de datos relacional.
- Atributo: un único componente de datos que corresponde a un elemento. Es similar a una columna en una base de datos relacional. Sin embargo, a diferencia de las columnas de las bases de datos relacionales, no es necesario especificar los atributos al momento de crear la tabla, salvo la clave principal que se aborda más adelante en este módulo. Los atributos pueden ser de tipo simple, como cadenas, valores enteros o booleanos, así como de tipo complejo, tales como listas o mapas.
- Clave principal:: una clave principal es un identificador único de un solo elemento en una tabla de DynamoDB. Tanto el nombre de la clave principal como el tipo se deben especificar al momento de crear la tabla. Además, se debe incluir una clave principal del tipo especificado con cada elemento incluido en la tabla. Una clave principal simple está compuesta por un único atributo, mientras que una clave principal compuesta cuenta con dos atributos: una clave de partición y una clave de ordenación. Por ejemplo, puede crear una clave principal simple con “UserID” como identificador o crear una clave principal compuesta con la combinación de “UserID” y “Creation_Date” como identificador de un elemento.
Al momento de crear una aplicación, siempre debe dedicar tiempo al diseño de los modelos de datos necesarios para la lógica de la aplicación. El diseño del modelo de datos debe tener en cuenta las necesidades de acceso a los datos que la aplicación requerirá, tanto para leer como para escribir datos.
DynamoDB es una base de datos no relacional. Si se utilizan bases de datos no relacionales, no es necesario especificar el esquema completo de forma anticipada al crear la tabla. Solo es necesario presentar la clave principal para su tabla, la cual identifica cada registro de la tabla de forma exclusiva. Esto reduce el monto de los costos iniciales correspondientes al diseño del modelo de datos, ya que es posible modificar el esquema fácilmente a medida que cambian las necesidades de la aplicación.
Como se mencionó en la sección “Contexto de la aplicación” de la “Introducción” a este tutorial, la aplicación debe recuperar un libro específico según el título y el autor. Debido a que la combinación del título y el autor representan el identificador único de un libro, puede utilizar esos atributos como la clave principal de la tabla. La aplicación también debe almacenar información sobre la categoría del libro, como historia o biografía, así como información acerca de los formatos disponibles (encuadernación de tapa dura y tapa blanda, o audiolibro). Esa información se asigna a los números del elemento en el sistema que funciona como inventario.
En este contexto, puede utilizar el siguiente esquema para la tabla:
- Título (una cadena): el título del libro
- Autor (una cadena): el autor del libro
- Categoría (una cadena): la categoría a la que pertenece el libro, por ejemplo, historia, biografía y ciencia ficción
- Formatos (un mapa): los diferentes formatos que están disponibles para la venta (por ejemplo, encuadernación de tapa dura y tapa blanda, o audiolibro) y los números del elemento correspondientes en el sistema que funciona como inventario
En los siguientes pasos, crea la tabla mediante la especificación de la clave principal compuesta (Autor y Título) de la tabla. A continuación, carga algunos elementos a la tabla y lee los elementos individuales de la tabla.