Replica datos de SQL Server en BigQuery


En este instructivo, se muestra cómo crear e implementar un trabajo que replica de forma continua los datos modificados de una base de datos de Microsoft SQL Server a una tabla de BigQuery.

Objetivos

En este instructivo, harás lo siguiente:

  1. Habilita la captura de datos modificados (CDC) en tu base de datos de SQL Server.
  2. Crea y ejecuta un trabajo de replicación de Cloud Data Fusion.
  3. 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 de Google Cloud nuevos cumplan con los requisitos para acceder a una prueba gratuita.

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

Antes de comenzar

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

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

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

    Enable the APIs

  4. Crea una instancia pública de Cloud Data Fusion en la versión 6.3.0 o posterior. Si creaste una instancia privada, configura el intercambio de tráfico entre redes de VPC.
    • Cuando crees la instancia, habilita la replicación haciendo clic en Agregar aceleradores y seleccionando la casilla de verificación Replicación.
    • Para habilitarla en una instancia existente, consulta Habilita la replicación.
  5. Para obtener más información sobre las redes, consulta Usa HAProxy con Cloud Data Fusion para navegar por topologías de red complejas.

    Roles requeridos

    Para obtener los permisos que necesitas para este instructivo, consulta Control de acceso con IAM y Cómo otorgar permiso de usuario a una cuenta de servicio.

    Opcional: Configura una instancia de VM de SQL Server

    1. Crea una instancia de SQL Server.

    2. Descarga la base de datos de AdventureWorks2017 (OLTP) y carga los datos en tu instancia de SQL Server.

    Habilita la CDC en tu base de datos de SQL Server

    Para la replicación, habilita la captura de datos modificados (CDC) en la base de datos y la tabla que quieras replicar.

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

    Sube el controlador JDBC

    1. Descarga el controlador de JDBC de SQL Server 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 sqlserver.
      • En el campo Nombre de la clase, ingresa com.microsoft.sqlserver.jdbc.SQLServerDriver.
      • En el campo Versión, mantén el valor predeterminado.

    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 un trabajo de replicación nuevo, especifica un Nombre para el trabajo de replicación y haz clic en Siguiente.

    4. Configura la fuente:

      1. Selecciona Microsoft SQL Server como la fuente.
      2. En Host, ingresa el nombre de host del SQL Server del que se leerá.
      3. En Puerto, ingresa el puerto que se usará para conectarse a SQL Server: 1433.
      4. En Nombre del complemento JDBC, selecciona sqlserver o el nombre que especificaste cuando configuraste el controlador JDBC.
      5. En Nombre de la base de datos, ingresa AdventureWorks2017.
      6. En la sección Credenciales, ingresa tu nombre de usuario y contraseña para acceder al servidor de SQL.
    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, puedes configurar el nombre y la ubicación del bucket de Cloud Storage, 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.
    7. Haz clic en Siguiente.

    8. Si la conexión se realiza correctamente, se mostrará una lista de tablas AdventureWorks2017. Para este instructivo, selecciona algunas tablas y eventos, como los eventos Insert, Update y Delete.

    9. Opcional: Configura las propiedades avanzadas. Para este instructivo, puedes aceptar 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 de esquema, las características faltantes o los problemas de conectividad que podrían ocurrir durante la replicación. Los problemas deben resolverse antes de que puedas continuar. Para este instructivo, si alguna de las tablas tiene problemas, regresa al paso en el que seleccionaste las tablas y selecciona una tabla o un evento sin problemas.

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

    12. Haga clic en Atrás.

    13. Haz clic en Siguiente.

    14. 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 al estado Iniciando y, luego, al estado 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 (por ejemplo, la tabla Personas) en BigQuery. En este estado, el estado de la tabla People se indica como Snapshotting. Después de que se carga la instantánea inicial en BigQuery, cualquier cambio que se realice en la tabla People se replica en BigQuery. El estado de la tabla aparece como Replicating.

    Supervisa el trabajo

    Puedes iniciar y detener el trabajo de replicación, revisar su configuración y sus 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.

    Consulta 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 SQL Server.

    1. Abre BigQuery en la consola deGoogle Cloud .

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

    3. Selecciona el conjunto de datos adventureworks2017 y, luego, selecciona una tabla para verla.

    Para 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 termines el instructivo, borra los recursos que creaste enGoogle Cloud.

    Borra la instancia de VM

    1. In the Google Cloud console, go to the VM instances page.

      Go to VM instances

    2. Select the checkbox for the instance that you want to delete.
    3. To delete the instance, click More actions, click Delete, and then follow the instructions.

    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?