Replica datos de MySQL en BigQuery

En este instructivo, se muestra cómo crear e implementar una canalización que replica de forma continua los datos modificados de una base de datos de 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 instructivo, se usan 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 generas costos de procesamiento para BigQuery. Para optimizar estos costos, te recomendamos que uses los precios de tasa fija de BigQuery.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  4. Habilita las API de Cloud Data Fusion, BigQuery, and Cloud Storage.

    Habilita las API

  5. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  7. Habilita las API de Cloud Data Fusion, BigQuery, and Cloud Storage.

    Habilita las API

  8. Crea una instancia privada de Cloud Data Fusion en la versión 6.3.0 o una posterior. Cuando configures la instancia, ocurrirá lo siguiente:

Si usas una instancia existente, o si no ves la opción Replicación en el menú de Cloud Data Fusion , consulta Actualizar para habilitar la replicación.

Instala MySQL en Compute Engine

  1. Descarga una imagen de Docker del servidor MySQL.

  2. Sube tu imagen de Docker a Container Registry.

  3. Implementa la 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, luego, reinicia la VM.

    Ir a la página Discos

  5. Crea un firewall para la instancia de VM.

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

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.

Crear y ejecutar un trabajo de replicación de Cloud Data Fusion

Suba el controlador JDBC.

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

  2. En la IU 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 el valor predeterminado.
    • En el campo Class Name, ingresa com.mysql.jdbc.Driver.

Crea la canalización

  1. En la IU de Cloud Data Fusion, haz clic en el menú y navega a la página Replicación.

  2. En la página Crear nuevo trabajo de replicación, especifica un nombre para el trabajo de replicación.

  3. Haga clic en Siguiente.

  4. Configura la fuente:

    1. Seleccione 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 de MySQL: 3306.
    4. En Nombre del complemento JDBC, selecciona mysql (o el nombre que especificaste cuando configuraste el controlador 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 de MySQL.
  5. Haga clic en Siguiente.

  6. Si la conexión se establece de forma correcta, se mostrará una lista de tablas de bases de datos de muestra de Sakila. En este instructivo, selecciona algunas tablas y eventos para replicar (incluidos los eventos de inserción, actualización y eliminación).

  7. Haga clic en Siguiente.

  8. Configure 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. En la sección Avanzado (Advanced), puedes configurar el nombre y la ubicación del bucket de etapa de pruebas, el intervalo de carga, el prefijo de la tabla de etapa de pruebas y el comportamiento cuando se descartan las tablas o bases de datos (opcional).
  9. Haga clic en Siguiente.

  10. Configura las propiedades avanzadas (opcional). Para este instructivo, puedes usar la configuración predeterminada.

  11. Haga clic en Next.

  12. 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 de esquema, las características faltantes o los problemas de conectividad que podrían ocurrir durante la replicación. Si se produce algún problema, debes resolverlo antes de poder continuar. Para este instructivo, si alguna de las tablas tiene problemas, regresa al paso en el que seleccionaste las tablas y, en su lugar, selecciona una tabla o un evento (inserciones, actualizaciones o eliminaciones) sin problemas.

  13. Haga clic en Atrás.

  14. Haga clic en Siguiente.

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

Comienza la canalización

En la página Detalles del trabajo de replicación, haz lo siguiente:

Haz clic en Iniciar.

El trabajo de replicación pasa del estado Aprovisionando a Iniciado al En ejecución. En el 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 Snapshot. Una vez que la instantánea inicial se carga en BigQuery, los cambios realizados en la tabla se replican en BigQuery y el estado de la tabla se muestra como Replication.

Supervisar la canalización

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

Puedes supervisar las actividades del trabajo de replicación en 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 deseado.

  2. Haz clic en Monitoring.

Vea los resultados en BigQuery

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

  1. Abre BigQuery en la consola.

  2. En el panel izquierdo, haz clic en el nombre de su proyecto para expandir una lista de conjuntos de datos.

  3. Selecciona el conjunto de datos sakila y, luego, una tabla.

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

Realiza una limpieza

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

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, haga lo siguiente:

  1. En la consola, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

¿Qué sigue?