Almacenamiento: Módulo 3

Kinesis Data Stream - SQS - DMS

Kinesis Data Stream

Se usa para logs de aplicaciones, métricas del servidor, Iot, soluciones de Big Data entre otros. La Data se replica en 3 zonas de disponibilidad. Los steams son divididos en shards los cuales poseen un periodo de retención de horas hasta 7 días, al tener esta estructura múltiples aplicaciones pueden consumir los datos

Posee 500 Shard aprovisionados, en caso de necesitar más se necesita realizar una solicitud de AWS, los productores poseen 1MB/s por shard aprovisionado mientras que los consumidores existen dos tipos:

  • Consumidores compartidos: posee pocos consumidores con una latencia de 200ms y un costo bajo
  • Consumidores mejorados: posee hasta 20 consumidores con una latencia de 70ms y un costo alto

Laboratorio

  1. Entrar a la consola de AWS.
  2. Ir al servicio de Kinesis Data Streams, clic en Create secuencia de datos
  3. Crear el stream con el nombre de bicimad, y luego siguiente y otra vez siguiente.
  4. En el campo Number of fragmentos ingresamos 1 y clic en Crear secuencia de datos.
  5. Entramos a la EC2 que hemos creado
  6. Data Analytics en AWS
  7. Entramos a la EC2 que hemos creado

Ejecutar los siguientes comandos en el terminal del linux:

pip3 install pytz — user

pip3 install requests — user

pip3 install wget — user

pip3 install pandas –user

python3 write-kinesis-stream.py

9. Abrir otro terminal, y ejecutar siguiente comando en otra pestaña:

python3 read-kinesis-stream.py

10. Eliminar el Kinesis Data Streams bicimad para que AWS no nos cobre por el shard aprovisionado por hora.

SQS

SQS nos ofrece los siguientes beneficios:

  • Seguridad
  • Durabilidad
  • Disponibilidad
  • Escalabilidad
  • Fiabilidad

En SQS podemos encontrar dos tipos de cola:

  • Las colas estándar

Admiten un numero casi ilimitado de transacciones por segundo. Los mensajes se entregan al menos una vez, en ocasiones se pueden entregar varias copias. En ocasiones el mensaje se entrega en orden distinto al que se enviaron.

  • Las colas FIFO

Pueden admitir hasta 3000 mensajes por segundo. Los mensajes se envían y permanecen disponibles hasta que el cliente los procesa o los elimina, se conserva el estricto orden en que se envían y reciben los mensajes

Laboratorio

  1. Creando colas estándar y FIFO

2. Entrar a la instancia EC2 y ejecutar los siguientes comandos en linux

Instalación de NodeJS

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

. ~/.nvm/nvm.sh

nvm install node

npm install aws-sdk

3. Copiar todos estos archivos en la ruta /home/ec2-user

create-sqs.js

send-message-sqs.js

create-sqs-fifo.py

send-message-fifo.py

read-sqs-fifo.py

Creación de cola tipo estándar

4. Ejecutar el siguiente comando:

node create-sqs.js

node send-message-sqs.js

5. Ingresamos a la consola de AWS y nos vamos al servicio de SQS

6. Marcamos la cola sqs-registro y opción Acciones -> Ver Mensajes

7. clic en Comenzar el sondeo de mensajes

Creación de cola tipo FIFO

8. Ejecutemos el siguiente comando:

python3 create-sqs-fifo.py

9. Enviemos varios mensajes a la cola FIFO, simulación de compra de entradas

python3 send-message-fifo.py

10.Leamos lo que contiene la cola y eliminemos el mensaje

python3 read-sqs-fifo.py

DMS

DMS Schema Conversion Tool convierte el esquema de su base de datos de un motor a otro como los siguientes ejemplos:

  • Ejemplo de OLTP: (SQL Server u Oracle) a MySQL, PostgreSQL, Aurora
  • Ejemplo de OLAP: (Teradata u Oracle) a Amazon Redshift
  • Puede usar AWS SCT para crear puntos finales y tareas de AWS DMS

Migración de datos homogénea

Migración heterogénea

Autores:

  • Michelle Herrera
  • Cristian Moyano
  • Lui Moyano
  • Edwin Rodríguez

Revisa los siguientes post

Módulo 1: Data Analytics en AWS

Módulo 2: Ingesta de datos Kinesis Data Firehose

Módulo 4: Procesamiento — AWS IOT CORE

Conoce más: bootcampai.org/aws-big-data

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store