Replica datos de SQL Server 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 de Microsoft SQL Server en una tabla de BigQuery.

Objetivos

En este instructivo, harás lo siguiente:

  1. Habilitar la captura de datos modificados (CDC) en tu base de datos de SQL Server
  2. Crear y ejecutar 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 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. 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 la consola de Google Cloud, 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 Google Cloud.

  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 la consola de Google Cloud, 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 Google Cloud.

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

    Habilita las API

  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.

Si quieres obtener más información sobre las herramientas de redes, consulta Cómo usar Export con Cloud Data Fusion para navegar por topologías de red complejas.

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.

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 deseas replicar.

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

Sube el controlador de 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 Class Name, ingresa com.microsoft.sqlserver.jdbc.SQLServerDriver.
    • En el campo Versión, mantén la opción predeterminada.

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 Microsoft SQL Server como 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 conectarte a SQL Server: 1433.
    4. En Nombre del complemento de JDBC, selecciona sqlserver o el nombre que especificaste cuando configuraste el controlador de 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 a SQL Server.
  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 las bases de datos.
  7. Haz clic en Siguiente.

  8. Si la conexión se realiza correctamente, se mostrará una lista de AdventureWorks2017 tablas. 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 del esquema, las funciones faltantes o los problemas de conectividad que pueden ocurrir durante la replicación. Debes resolver los problemas para poder continuar. En este instructivo, si alguna de las tablas tiene problemas, vuelve al paso en el que seleccionaste las tablas y selecciona una tabla o un evento que no tenga 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. 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 de 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 (por ejemplo, la tabla Personas) en BigQuery. En este estado, el estado de la tabla People aparece como Instantánea. Después de cargar la instantánea inicial en BigQuery, los cambios realizados en la tabla Personas se replican en BigQuery. 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 los nombres de las bases de datos y las tablas de SQL Server correspondientes.

  1. Abre BigQuery en la consola de Google 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 la tabla que quieres ver.

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 hayas terminado el instructivo, borra los recursos que creaste en Google Cloud.

Borra la instancia de VM

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

    Ir a Instancias de VM

  2. Selecciona tu instancia en la casilla de verificación de es la instancia que deseas borrar.
  3. Para borrar la instancia, haz clic en Más acciones, haz clic en Borrar y, luego, sigue las instrucciones.

Borra la instancia de Cloud Data Fusion

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

Borra el proyecto

  1. En la consola de Google Cloud, 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?