Como replicar dados do SQL Server para o BigQuery


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

Objetivos

Neste tutorial, você aprenderá a:

  1. Ative a captura de dados alterados (CDC) no banco de dados do SQL Server.
  2. Criar e executar um job de replicação do Cloud Data Fusion.
  3. Ver os resultados no BigQuery.

Custos

Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:

Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços. Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

Quando a replicação é executada, você recebe cobranças pelo cluster do Dataproc e custos de processamento para o BigQuery. Para otimizar esses custos, é altamente recomendável usar os preços fixos do BigQuery.

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 a cobrança está ativada para o seu projeto do Google Cloud.

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

    Ative as APIs

  5. 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

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

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

    Ative as APIs

  8. Crie uma instância pública do Cloud Data Fusion na versão 6.3.0 ou posterior. Se você criar uma instância particular, configure o peering de rede VPC.
    • Ao criar a instância, ative a replicação clicando em Adicionar aceleradores e marcando a caixa de seleção Replicação.
    • Para ativá-la em uma instância atual, consulte Ativar replicação.

Para mais informações sobre redes, consulte Como usar o GCE com o Cloud Data Fusion para navegar em topologias de rede complexas.

Funções exigidas

Para receber as permissões necessárias para este tutorial, consulte Controle de acesso com o IAM e Conceder permissão de usuário à conta de serviço.

Opcional: configurar uma instância de VM do SQL Server

  1. Crie uma instância do SQL Server.

  2. Faça o download do banco de dados AdventureWorks2017 (OLTP) e carregue os dados na instância do SQL Server.

Ative a CDC no banco de dados do SQL Server

Para replicação, ative a captura de dados alterados (CDC) no banco de dados e na tabela que você quer replicar.

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 na máquina local.

  2. Na interface da Web 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 Class Name, digite com.microsoft.sqlserver.jdbc.SQLServerDriver.
    • No campo Versão, mantenha o padrão.

Crie a tarefa

  1. Na interface da Web do Cloud Data Fusion, clique em Replicação.

  2. Clique em Criar um job de replicação.

  3. Na página Criar novo job de replicação, especifique o Nome de um job de replicação e clique em Próxima.

  4. Configure a origem:

    1. Selecione Microsoft SQL Server como origem.
    2. Em Host, digite o nome do host do servidor SQL Server que será lido.
    3. Em Porta, insira a porta que 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 servidor do SQL Server.
  5. Clique em Próxima.

  6. 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 do Cloud Storage, o intervalo de carregamento, o prefixo da tabela de preparo e o comportamento quando tabelas ou bancos de dados são descartados.
  7. Clique em Próxima.

  8. Se a conexão for bem-sucedida, uma lista de tabelas AdventureWorks2017 será exibida. Para este tutorial, selecione algumas tabelas e eventos, como Insert, Update e Delete.

  9. Opcional: configure as propriedades avançadas. Neste tutorial, use as configurações padrão.

  10. Clique em Próxima.

  11. Na página Revisar avaliação, clique em Visualizar mapeamentos ao lado de qualquer uma das tabelas para conferir uma avaliação de problemas de esquema, recursos ausentes ou problemas de conectividade que podem ocorrer durante a replicação. Os problemas precisam ser resolvidos antes de continuar. Neste tutorial, se alguma das tabelas tiver problemas, volte para a etapa em que você selecionou as tabelas e selecione uma tabela ou evento sem problemas.

    Para mais informações sobre conversões de tipos de dados do banco de dados de origem para o destino do BigQuery, consulte Tipos de dados de replicação.

  12. Clique em Back.

  13. Clique em Próxima.

  14. Analise os detalhes resumidos do job de replicação e clique em Implantar job de replicação.

Iniciar o job

  • Na página de detalhes do job de replicação, clique em Iniciar.

O job de replicação passa do estado Provisionando para Iniciando para Em execução. No estado de 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 Snapshot. Depois que o snapshot inicial é carregado no BigQuery, todas as alterações feitas na tabela Pessoas são replicadas no BigQuery. O estado da tabela é listado como Replicando.

Monitorar o job

É possível iniciar e interromper o job de replicação, revisar a configuração e os registros dele e monitorar o job.

É 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.

  2. Clique em Monitoring.

Ver os resultados no BigQuery

Esse job cria um conjunto de dados e uma tabela replicados no BigQuery, com nomes herdados do banco de dados e dos nomes da tabela correspondentes do SQL Server.

  1. Abra o BigQuery no console do Google 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, depois, uma tabela para visualizar.

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

Limpar

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, exclua os recursos criados no Google Cloud.

Excluir a instância de VM

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

    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.

Excluir o projeto

  1. No Console do Google 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