DynamoDB: Módulo 5
DynamoDB
Base de datos NoSQL y documentos con rendimiento en milisegundos. Escala automáticamente según la demanda de read y write que se necesita. Los datos se guardan en discos SSD y la información se replica en 3 zonas de disponibilidad.
Gestiona más de 10 billones de solicitudes al día y puede llegar a 20 millones por segundo. Es importante saber que en esta base de datos se crean tablas ya que no existe esquema, en cada tabla se tiene un primary key y puede tener un número infinito de ítems, los cuales contienen varios atributos. Cada item o row tiene un máximo de 400KB. Los datos soportados son escalares, documentos y conjuntos.
Modos de capacidad
- Bajo Demanda: Opción de facturación flexible capaz de atender miles de solicitudes por segundo. Dynamo a pedido da precios por solicitudes de lectura y escritura, los cuales se cobra por uso
- Aprovisionado: Se especifica el número de lecturas y escrituras que necesita para su aplicación.
Trafico de aplicaciones predecible, ejecución de aplicaciones cuyo tráfico es igual o aumenta y el pronóstico de los requisitos de capacidad que controle los costos, son condiciones que debe cumplir para elegir el modo provisto
Primary key: como primera opción tenemos que la clave principal es única para cada item, la segunda opción tenemos una combinación única en todos los ítems.
Streams: tienen un periodo de retención de 24 horas y pueden tener hasta 1000 items o 6MB de datos
Laboratorio
- Primero creamos una tabla en MobaXterm según las líneas de código que tenemos en el pdf de ayuda
Observamos en la consola de AWS lo siguiente
2. Creamos un elemento en la consola y agregamos atributos
3. Regresamos a MobaXterm y agregamos ítems mediante el código de Python de insert-item-dynamo.py
4. Regresamos a la consola y vemos los ítems nuevos en la tabla Music
5. Ejecutamos el código de ptyhon scan-table-dynamo.py el cual me va a retornar los valores de la tabla
6. Eliminamos la tabla con el código aws dynamodb delete-table — table-name Music
AWS Keyspaces
Servicio de base de datos que es compatible con Apache Cassandra el cul es de alta disponibilidad y escala ajustable. Se lo usa para aplicaciones que deba responder miles de solicitudes por segundo conalmacenamiento y rendimiento casi ilimitado. No se debe administrar los servidores.
Laboratorio
- En la consola de AWS nos vamos al servicio de Amazon Keyspaces
2. Creamos un keyspaces con el nombre de bigdata_poc
3. Nos vamos al editor de CQL y creamos la tabla pegando el contenido que tenemos en la carpeta de ayuda
4. Ponemos Run command y hará aparecer una tabla llamada nobel
5. Creamos usuario para la conexión MCS, se le asocia una política que será AmazonKeyspacesFullAccess
6. Regresamos a MobaXterm, ejecutamos el código proporcionado y nos aparecerá un JSON
7. Copiamos los atributos del usuario y contraseña, de esta forma loguearemos desde la EC2 al servicio de MCS. Luego ejecutamos varios códigos que se encuentran en el texto ayuda
Autores:
- Michelle Herrera
- Cristian Moyano
- Lui Moyano
- Edwin Rodríguez
Conoce más: bootcampai.org/aws-big-data