Información general del laboratorio
AnyCompany está desarrollando una nueva aplicación de base de datos de películas. La aplicación permitirá a los usuarios buscar películas por título, año en que se lanzaron, actores de la película, clasificación, etc. AnyCompany eligió Amazon DynamoDB como servicio de base de datos para almacenar la información sobre todas las películas a las que hará referencia la aplicación.
Amazon DynamoDB es una base de datos NoSQL sin servidor, también conocida como no relacional, que admite modelos de datos de documentos y valores clave. Con DynamoDB, puede comenzar de forma pequeña y escalar rápidamente a nivel mundial a medida que crece la aplicación y la base de usuarios, con la capacidad de admitir petabytes de datos y decenas de millones de solicitudes de lectura y escritura por segundo. AWS administra el servicio DynamoDB, por lo que no hay servidores que actualizar o mantener. Para obtener más información, consulte Características de Amazon DynamoDB y Core Components of Amazon DynamoDB (Componentes básicos de Amazon DynamoDB) en la sección Recursos adicionales.
Como ingeniero de base de datos junior recién contratado, tiene la tarea de crear los índices secundarios locales (local secondary indexes, LSI) o los índices secundarios globales (global secondary indexes, GSI) adecuados para mejorar la funcionalidad de búsqueda de la aplicación. Para este laboratorio, trabajará con una base de datos de muestra denominada movies (películas). Recuerde que las tablas de DynamoDB son increíblemente flexibles y no tienen un “esquema” tradicional como las bases de datos relacionales. Esta tabla de películas tiene una clave de partición (HASH) de “año” (Número) y una clave de ordenación (RANGE) de “título” (String). La lista completa de atributos que rellenan la base de datos de este laboratorio coincide con las siguientes características:
- year – Number (Partition or HASH key)
- title – String (Sort or RANGE key)
- actors – String
- directors – String
- genre – String
- image_url – String
- plot – String
- rank – Number
- rating – Number
- release date — String
- running_time_secs – Number
Tenga en cuenta que, en la práctica, los datos de los atributos de actores y directores se han formateado para que sean legibles como de tipo python dict y, por lo tanto, representan a más de un individuo real. Por ejemplo, el atributo actors (actores) de un elemento determinado es una cadena como [{“S”: “John Doe”}, {“S”: “Jane Doe”}].
Objetivos
Al finalizar este laboratorio, podrá realizar lo siguiente:
- utilizar el SDK para crear índices secundarios locales (LSI) e índices secundarios globales (GSI),
- utilizar el SDK para escanear los datos y devolver resultados filtrados,
- utilizar el SDK a fin de realizar consultas avanzadas para obtener datos y observar las diferencias de rendimiento entre los métodos.
Conocimientos técnicos previos necesarios
Para completar correctamente este laboratorio, debe estar familiarizado con la navegación básica de AWS Management Console, los conceptos de base de datos NoSQL, el lenguaje de programación Python y estar cómodo editando scripts mediante un editor de texto.
Tecla de icono
Se utilizan varios íconos en este laboratorio para resaltar ciertos aspectos de la guía. En la siguiente lista, se explica el propósito de cada ícono:
- Precaución: información de especial interés o importancia (no es tan importante como para causar problemas con el equipo o los datos si la omite, pero podría generar la necesidad de repetir ciertos pasos).
- Comando: un comando que debe ejecutar.
- Resultado previsto: un resultado de ejemplo que puede utilizar para verificar el resultado de un comando o archivo editado.
- Nota: Una pista, consejo u orientación importante.
- Más información: dónde encontrar más información.
- Evaluación de conocimientos: una oportunidad para verificar lo que sabe y poner a prueba lo que ha aprendido.
- Tarea completa: un punto de conclusión o resumen del laboratorio.
- Advertencia: Es una acción irreversible que podría generar un error en un comando o proceso (incluye advertencias sobre configuraciones que no se pueden modificar después de aplicarlas).