Primeros pasos con Actual-Time Analytics en MySQL usando Rockset


MySQL y PostgreSQL son ampliamente utilizados como bases de datos transaccionales. Cuando se trata de admitir casos de uso analíticos y de gran escala, es posible que a menudo tenga que ajustar y configurar estas bases de datos, lo que conduce a una mayor carga operativa. Algunos desafíos al realizar análisis en MySQL y Postgres incluyen:

  • ejecutar una gran cantidad de consultas/usuarios simultáneos
  • trabajar con grandes tamaños de datos
  • necesidad de definir y administrar toneladas de índices.

Hay soluciones para estos problemas, pero requiere más carga operativa:

  • escalar a servidores más grandes
  • crear más réplicas de lectura
  • pasar a una base de datos NoSQL

Rockset recientemente Anunciado soporte para MySQL y PostgreSQL que le permite impulsar fácilmente consultas analíticas complejas en tiempo actual. Esto mitiga la necesidad de ajustar estas bases de datos relacionales para manejar grandes cargas de trabajo analítico.

Al integrar MySQL y PostgreSQL con Rockset, puede escalar fácilmente para manejar análisis exigentes.

Prefacio

En el stream de twitch 👇, hicimos una integración con MySQL RDS en Rockset. Esto significa que toda la configuración estará relacionada con Amazon Relational Database Service (RDS) y Amazon Database Migration Service (DMS). Antes de comenzar, continúe y cree una cuenta de AWS y Rockset.

Cubriré los aspectos más destacados de lo que hicimos en la transmisión de twitch en este weblog. Si no está seguro acerca de ciertas partes de las instrucciones, definitivamente mire el video a continuación.

Configurar el servidor MySQL

En nuestra transmisión, creamos un servidor MySQL en Amazon RDS. Puedes hacer clic en Crear base de datos en la esquina superior derecha y sigue las instrucciones:


convertir-twitch-streams-en-digestible-blog-posts-1

Ahora, crearemos los grupos de parámetros. Al crear un grupo de parámetros, podremos cambiar el binlog_format a Row para que podamos actualizar Rockset dinámicamente a medida que los datos cambian en MySQL. Haga clic en Crear grupo de parámetros en la esquina superior derecha:


convertir-twitch-streams-en-digeribles-blog-posts-2

Después de crear su grupo de parámetros, querrá haga clic en el grupo recién creado y cambio binlog_format a Row:


convertir-twitch-streams-en-digeribles-blog-posts-3

Después de configurar esto, desea acceder al servidor MySQL desde la CLI para poder configurar los permisos. Puede tomar el punto ultimate de la Databases pestaña a la izquierda y debajo de la Connectivity & safety ajustes:


convertir-twitch-streams-en-digeribles-blog-posts-4

En la terminal, escriba

$ mysql -u admin -p -h Endpoint

Te pedirá la contraseña.

Una vez dentro, desea escribir esto:

mysql> CREATE USER 'aws-dms' IDENTIFIED BY 'youRpassword';
mysql> GRANT SELECT ON *.* TO 'aws-dms';
mysql> GRANT REPLICATION SLAVE ON *.* TO  'aws-dms';
mysql> GRANT REPLICATION CLIENT ON *.* TO  'aws-dms';

Este es probablemente un buen punto para crear una tabla e insertar algunos datos. Hice esta parte un poco más tarde en la transmisión, pero también puedes hacerlo fácilmente aquí.

mysql> use yourDatabaseName

mysql> CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, e-mail VARCHAR(50), reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
mysql> INSERT INTO MyGuests (firstname, lastname, e-mail)
-> VALUES ('John', 'Doe', 'john@instance.com');

mysql> present tables;

Eso es un ultimate para esta sección. Configuramos un servidor MySQL, una tabla e insertamos algunos datos.

Crear un flujo de Kinesis de AWS de destino

Cada tabla en MySQL se asignará a 1 Kinesis Information Stream. AWS Kinesis Stream es el destino que DMS utiliza como destino de un trabajo de migración. Cada tabla de MySQL que deseemos conectar a Rockset requerirá una tarea de migración particular person.

Para resumir: Cada tabla de MySQL requerirá un Kinesis Information Stream y una tarea de migración.

Continúe y navegue hasta Kinesis Information Stream y cree una transmisión:


convertir-twitch-streams-en-digestible-blog-posts-5

Asegúrese de marcar el ARN de su transmisión; lo necesitaremos más adelante:


convertir-twitch-streams-en-digerible-blog-posts-6

Crear una instancia de replicación y migración de AWS DMS

Ahora, vamos a navegar a AWS DMS (Servicio de migración de datos). Lo primero que vamos a hacer es crear un supply endpoint y un goal endpoint:


convertir-twitch-streams-en-digestible-blog-posts-7

Cuando creas el goal endpointnecesitarás el ARN de transmisión de Kinesis que creamos anteriormente. También necesitarás el ARN del rol de acceso al servicio. Si no tiene este rol, deberá crearlo en la consola de AWS IAM. Puede encontrar más detalles sobre cómo crear este rol en la transmisión que se muestra a continuación.

A partir de ahí, crearemos las instancias de replicación y las tareas de migración de datos. Básicamente puede seguir esta parte de las instrucciones en nuestro documentos o ver la transmisión.

Una vez que la tarea de migración de datos sea exitosa, ¡estará listo para la parte de Rockset!

Escalar las cargas de trabajo analíticas de MySQL en Rockset

Una vez que MySQL está conectado a Rockset, cualquier cambio de datos realizado en MySQL se registrará en Rockset. También podrá escalar sus cargas de trabajo sin esfuerzo. Cuando cree por primera vez una integración de MySQL, haga clic en MySQL RDS verá indicaciones para asegurarse de haber realizado las diversas instrucciones de configuración que acabamos de cubrir anteriormente.


convertir-twitch-streams-en-digestible-blog-posts-8

Lo último que deberá hacer es crear un rol de IAM específico con Rockset Account ID y Exterior ID:


convertir-twitch-streams-en-digerible-blog-posts-9

Tomará el ARN del rol que creamos y lo pegará en la parte inferior donde requiere esa información:


convertir-twitch-streams-en-digestible-blog-posts-10

Una vez configurada la integración, deberá crear una colección. Continúe y póngale el nombre de su colección, la región de AWS y la información de transmisión de Kinesis:


convertir-twitch-streams-en-digeribles-blog-posts-11

¡Después de aproximadamente un minuto, debería poder consultar los datos que provienen de MySQL!


convertir-twitch-streams-en-digestible-blog-posts-12

Simplemente hicimos una inserción easy en MySQL para probar si todo funciona correctamente. En el próximo weblog, crearemos una nueva tabla y le cargaremos datos. Trabajaremos en algunas consultas SQL.

Puede ver la repetición completa de cómo hicimos esto de principio a fin aquí:
Contenido incrustado: https://youtu.be/oNtmJl2CZf8

O puede seguir las instrucciones en documentos.

TLDR: puedes encontrar todos los recursos que necesitas en el rincón del desarrollador.



Related Articles

Cómo escribir un ayudante de conversión de mayúsculas y minúsculas en Python

El reto#En este desafío, harás una función que convierte entre...

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Same Category

spot_img

Stay in touch!

Follow our Instagram