Replica datos de MySQL en BigQuery


En este instructivo, se muestra cómo crear e implementar un trabajo que replica continuamente los datos modificados de una base de datos MySQL a una tabla de BigQuery.

Objetivos

En este instructivo, harás lo siguiente:

  1. Implementar tu base de datos de MySQL en Compute Engine.
  2. Configurar tu base de datos de MySQL para habilitar la replicación.
  3. Crear y ejecutar un trabajo de replicación de Cloud Data Fusion
  4. Observar los resultados en BigQuery.

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios. Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.

Cuando se ejecuta la replicación, se te cobra por el clúster de Dataproc y se generan costos de procesamiento por BigQuery. Para optimizar estos costos, te recomendamos que uses los precios de tarifa plana de BigQuery.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  8. Crea una instancia pública de Cloud Data Fusion en la versión 6.3.0 o posterior. Si creas una instancia privada, configura el intercambio de tráfico entre redes de VPC.
    • Cuando crees la instancia, haz clic en Agregar aceleradores (Add Accelerators) y selecciona la casilla de verificación Replication (Replicación) para habilitar la replicación.
    • Para habilitarla en una instancia existente, consulta Habilita la replicación.

Roles obligatorios

Si quieres obtener los permisos que necesitas para este instructivo, consulta Control de acceso con la IAM y Otorga permiso de usuario a la cuenta de servicio.

Instala MySQL en Compute Engine

  1. Descarga una imagen de Docker del servidor MySQL.

  2. Sube tu imagen de Docker a Artifact Registry.

  3. Implementa tu imagen de Docker en una instancia de VM nueva.

  4. En la página Discos de Compute Engine, cambia el tamaño del disco a 500 GB y reinicia la VM.

    Ir a Discos

  5. Crea un firewall para la instancia de VM.

  6. Instala la base de datos de muestra de Saakila.

Habilita la replicación en tu base de datos de MySQL

Para habilitar la replicación, configura la captura de datos modificados (CDC) en MySQL.

Crea y ejecuta un trabajo de replicación de Cloud Data Fusion

Sube el controlador de JDBC

  1. Descarga el controlador de JDBC de MySQL (versión 8 o superior) en tu máquina local.

  2. En la interfaz web de Cloud Data Fusion, sube el controlador de JDBC.

    Usa estos valores para configurar el controlador de JDBC:

    • En el campo Nombre, ingresa mysql.
    • En el campo Versión, mantén la opción predeterminada.
    • En el campo Class Name, ingresa com.mysql.jdbc.Driver.

Crea el trabajo

  1. En la interfaz web de Cloud Data Fusion, haz clic en Replicación.

  2. Haz clic en Crear un trabajo de replicación.

  3. En la página Crear trabajo de replicación nuevo, especifica el Nombre de un trabajo de replicación y haz clic en Siguiente.

  4. Configura la fuente:

    1. Selecciona MySQL como la fuente.
    2. En Host, ingresa el nombre de host del servidor MySQL del que se leerá.
    3. En Puerto, ingresa el puerto que se usará para conectarte al servidor MySQL: 3306.
    4. En Nombre del complemento de JDBC , selecciona mysql o el nombre que especificaste cuando configuraste el controlador de JDBC.
    5. En Nombre de la base de datos, ingresa sakila.
    6. En la sección Credenciales, ingresa tu nombre de usuario y contraseña para acceder al servidor MySQL.
  5. Haz clic en Siguiente.

  6. Configura el destino:

    1. Selecciona el destino de BigQuery.
    2. El ID del proyecto y la clave de la cuenta de servicio se detectan de forma automática. Mantén los valores predeterminados.
    3. Opcional: En la sección Avanzado, configura el nombre, la ubicación, el intervalo de carga, el prefijo de la tabla de etapa de pruebas y el comportamiento del bucket de etapa de pruebas y el comportamiento cuando se descartan las tablas o bases de datos.
  7. Haz clic en Siguiente.

  8. Si la conexión se realiza correctamente, se mostrará una lista de tablas de base de datos de muestra de Sakila. En este instructivo, selecciona algunas tablas y eventos para replicar, como los de insertar, actualizar y borrar.

  9. Opcional: Configura las propiedades avanzadas. Para este instructivo, puedes usar la configuración predeterminada.

  10. Haz clic en Siguiente.

  11. En la página Revisar evaluación, haz clic en Ver asignaciones en cualquiera de las tablas para obtener una evaluación de los problemas del esquema, las funciones faltantes o los problemas de conectividad que pueden ocurrir durante la replicación. Si se producen problemas, deben resolverse para poder continuar. En este instructivo, si alguna de las tablas tiene problemas, vuelve al paso en el que seleccionaste las tablas y elige las tablas o los eventos (inserciones, actualizaciones o eliminaciones) sin problemas.

    Para obtener más información sobre las conversiones de tipos de datos de la base de datos de origen al destino de BigQuery, consulta Tipos de datos de replicación.

  12. Haz clic en Siguiente.

  13. Revisa los detalles del trabajo de replicación de resumen y, luego, haz clic en Implementar trabajo de replicación.

Inicia el trabajo

  • En la página Detalles del trabajo de replicación, haz clic en Iniciar.

El trabajo de replicación pasa del estado Aprovisionando a Iniciando al estado En ejecución. En estado de ejecución, el trabajo de replicación carga una instantánea inicial de los datos de la tabla que seleccionaste en BigQuery. En este estado, el estado de la tabla se muestra como Creación de instantáneas. Después de cargar la instantánea inicial en BigQuery, cualquier cambio realizado en la tabla se replica en BigQuery y el estado de la tabla aparece como Replicación.

Supervisa el trabajo

Puedes iniciar y detener el trabajo de replicación, revisar la configuración y los registros, y supervisar el trabajo de replicación.

Puedes supervisar las actividades del trabajo de replicación desde la página Detalles del trabajo de replicación.

  1. En la página Replicación, haz clic en el Nombre del trabajo de replicación.

  2. Haz clic en Monitoring.

Visualiza los resultados en BigQuery

El trabajo de replicación crea un conjunto de datos y una tabla replicados en BigQuery, con nombres heredados de la base de datos y la tabla de MySQL correspondientes.

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel izquierdo, selecciona el nombre de tu proyecto para expandir una lista de conjuntos de datos.

  3. Para ver los resultados, selecciona el conjunto de datos sakila y elige una tabla.

Si deseas obtener más información, consulta la documentación de BigQuery.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Una vez que completaste el instructivo, limpia los recursos que creaste en Google Cloud para evitar que se te facture por ellos en el futuro. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

Borra la instancia de Cloud Data Fusion

Sigue las instrucciones para borrar tu instancia de Cloud Data Fusion.

Borra el proyecto

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

¿Qué sigue?