Como replicar dados do SQL Server para o BigQuery

Neste tutorial, mostramos como criar e implantar um pipeline que replica continuamente os dados alterados de um banco de dados do Microsoft SQL Server em uma tabela do BigQuery.

Objetivos

Neste tutorial, você aprenderá a:

  1. Configurar o banco de dados do Microsoft SQL Server para ativar a replicação.
  2. Criar e executar um job de replicação do Cloud Data Fusion:
  3. Ver os resultados no BigQuery.

Custos

Neste tutorial, há componentes faturáveis do Google Cloud, a saber:

Quando a replicação é executada, você é cobrado pelo cluster do Dataproc e gera custos de processamento para o BigQuery. Para otimizar esses custos, recomendamos que você use os preços fixos do BigQuery.

Use a calculadora de preços para gerar uma estimativa de custos baseada na projeção de uso. Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative as APIs Cloud Data Fusion, BigQuery, and Cloud Storage.

    Ative as APIs

  5. Crie uma instância do SQL Server.
  6. Faça o download do banco de dados AdventureWorks2017 e carregue os dados na instância do SQL Server.
  7. Crie uma instância particular do Cloud Data Fusion na versão 6.3.0 ou superior. Ao configurar a instância:
  8. Se o SQL Server estiver sempre ativado, consulte Solução de problemas para saber mais etapas.

Se você usa uma instância atual ou não vê a replicação no menu do Cloud Data Fusion, consulte Fazer upgrade para ativar a replicação.

Ativar a replicação no banco de dados do SQL Server

Ative a captura de dados de alterações (CDC) na instância do SQL Server.

Criar e executar um job de replicação do Cloud Data Fusion

Fazer upload do driver JDBC

  1. Faça o download do driver JDBC do SQL Server para a máquina local.

  2. Na IU do Cloud Data Fusion, faça upload do driver JDBC. Use estes valores para configurar o driver JDBC:

    • No campo Nome, use sqlserver.
    • No campo Version, mantenha o padrão.
    • No campo Class Name, digite com.microsoft.sqlserver.jdbc.SQLServerDriver.

Criar o pipeline

  1. Na IU do Cloud Data Fusion, clique no menu e navegue até a página Replicação.

  2. Na página Criar novo job de replicação, especifique um Nome do job de replicação.

  3. Clique em Next.

  4. Configure a origem:

    1. Selecione Microsoft SQL Server como origem.
    2. Em Host, digite o nome do host do SQL Server para ler.
    3. Em Porta, insira a porta a ser usada para se conectar ao SQL Server: 1433.
    4. Em Nome do plug-in JDBC, selecione sqlserver (ou o nome que você especificou quando configurou o driver JDBC).
    5. Em Nome do banco de dados, insira AdventureWorks2017.
    6. Na seção Credenciais, insira seu nome de usuário e senha para acessar o SQL Server.
  5. Clique em Next.

  6. Se a conexão for bem-sucedida, uma lista de tabelas AdventureWorks2017 será exibida. Para este tutorial, selecione todas as tabelas e eventos a serem replicados (incluindo eventos Inserir, Atualizar e Excluir).

  7. Clique em Next.

  8. Configure o destino:

    1. Selecione o destino do BigQuery.
    2. O ID do projeto e a Chave da conta de serviço são detectados automaticamente. Mantenha os valores padrão.
    3. (Opcional) Na seção Avançado, é possível configurar o nome e o local do bucket de preparo, o intervalo de carga, o prefixo da tabela de preparo e o comportamento quando as tabelas ou bancos de dados são descartados.
  9. Clique em Next.

  10. (Opcional) Configure as propriedades avançadas. Para este tutorial, aceite as configurações padrão.

  11. Clique em Next.

  12. Na página Revisar avaliação, clique em Ver mapeamentos por qualquer uma das tabelas para ver uma avaliação dos problemas de esquema, recursos ausentes ou problemas de conectividade que possam ocorrem durante a replicação. Se ocorrer algum problema, ele precisará ser resolvido antes de continuar. Para este tutorial, se alguma das tabelas tiver problemas, volte para a etapa em que você selecionou tabelas e, em seguida, selecione uma tabela ou evento (Inserts, Updates ou Deletes) sem problemas.

  13. Clique em Back.

  14. Clique em Next.

  15. Revise os detalhes do job de replicação de resumo e clique em Implantar job de replicação.

Iniciar o pipeline

Na página Detalhes do job de replicação:

Clique em Iniciar.

O job de replicação faz a transição do estado Provisionamento para Início para Em execução. No estado em execução, o job de replicação carrega um snapshot inicial dos dados da tabela que você selecionou (por exemplo, a tabela "Pessoas") no BigQuery. Nesse estado, o estado da tabela "Pessoas" é listado como Captura de tela. Após o carregamento do snapshot inicial no BigQuery, todas as alterações feitas na tabela de pessoas são replicadas no BigQuery, e o estado da tabela é listado como Replicação.

Monitorar o pipeline

Inicie e interrompa o job de replicação, revise a configuração e os registros dele e monitore o job de replicação.

É possível monitorar as atividades do job de replicação na página Detalhes do job de replicação.

  1. Na página Replicação, clique no Nome do job de replicação que você quer.

  2. Clique em Monitoring.

Ver os resultados no BigQuery

O job de replicação cria um conjunto de dados e uma tabela replicados no BigQuery, com nomes herdados do banco de dados do SQL Server correspondente e nomes de tabelas.

  1. Abra o BigQuery no Console do Cloud.

  2. No painel esquerdo, clique no nome do projeto para expandir uma lista de conjuntos de dados.

  3. Selecione o conjunto de dados adventureworks2017 e, em seguida, selecione uma tabela para visualizar.

Para mais informações, consulte a documentação do BigQuery.

Limpeza

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Depois de concluir o tutorial, é possível limpar os recursos criados no Google Cloud para que eles não consumam sua cota e você não receba cobranças por eles no futuro. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.

Excluir a instância de VM

  1. No Console do Cloud, acesse a página Instâncias de VM.

    Acessar instâncias de VM

  2. Marque a caixa de seleção de a instância que você quer excluir.
  3. Para excluir a instância, clique em Mais ações, clique em Excluir e siga as instruções.

Excluir a instância do Cloud Data Fusion

Siga as instruções para excluir a instância do Cloud Data Fusion.

Exclua o projeto

O jeito mais fácil de evitar cobranças é excluir o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Console do Cloud, acesse a página Gerenciar recursos:

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir