Este tutorial mostra como criar e implementar uma tarefa que replica continuamente os dados alterados de uma base de dados MySQL para uma tabela do BigQuery.
Objetivos
Neste tutorial:
- Implemente a sua base de dados MySQL no Compute Engine.
- Configure a base de dados do MySQL para ativar a replicação.
- Criar e executar uma tarefa de replicação do Cloud Data Fusion.
- Veja os resultados no BigQuery.
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Quando a replicação é executada, é cobrado o cluster do Dataproc e incorre em custos de processamento do BigQuery. Para otimizar estes custos, recomendamos vivamente que use os preços de taxa fixa do BigQuery.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Crie uma instância pública do
Cloud Data Fusion na versão 6.3.0 ou posterior. Se
criar uma instância
privada, configure o peering de rede VPC.
- Quando criar a instância, ative a replicação clicando em Adicionar aceleradores e selecionando a caixa de verificação Replicação.
- Para a ativar numa instância existente, consulte o artigo Ative a replicação.
Transfira uma imagem Docker do servidor MySQL.
Carregue a sua imagem do Docker para o Artifact Registry.
Implemente a sua imagem de Docker numa nova instância de VM.
Na página Discos do Compute Engine, altere o tamanho do disco para
500 GB
e reinicie a VM.Crie uma firewall para a instância de VM.
Instale a base de dados de exemplo Sakila.
Transfira o controlador JDBC do MySQL (versão 8 ou superior) para a sua máquina local.
Na interface Web do Cloud Data Fusion, carregue o controlador JDBC.
Use estes valores para configurar o controlador JDBC:
- No campo Nome, introduza
mysql
. - No campo Versão, mantenha a predefinição.
- No campo Nome da turma, introduza
com.mysql.jdbc.Driver
.
- No campo Nome, introduza
Na interface Web do Cloud Data Fusion, clique em Replicação.
Clique em
Criar tarefa de replicação.Na página Criar nova tarefa de replicação, especifique um Nome para a tarefa de replicação e clique em Seguinte.
Configure a origem:
- Selecione MySQL como origem.
- Em Anfitrião, introduza o nome do anfitrião do servidor MySQL a partir do qual quer ler.
- Para Porta, introduza a porta a usar para estabelecer ligação ao servidor MySQL:
3306
. - Para Nome do plug-in JDBC , selecione
mysql
ou o nome que especificou quando configurou o controlador JDBC. - Em Nome da base de dados, introduza
sakila
. - Na secção Credenciais, introduza o seu nome de utilizador e palavra-passe para aceder ao servidor MySQL.
Clicar em Seguinte.
Configure o alvo:
- Selecione o destino do BigQuery.
- O ID do projeto e a chave da conta de serviço são detetados automaticamente. Mantenha os valores predefinidos.
- Opcional: na secção Avançadas, configure o nome, a localização, o intervalo de carregamento, o prefixo da tabela de preparação e o comportamento do contentor quando as tabelas ou as bases de dados são eliminadas.
Clicar em Seguinte.
Se a ligação for bem-sucedida, é apresentada uma lista de tabelas da base de dados de exemplo Sakila. Para este tutorial, selecione algumas tabelas e eventos para replicar, como eventos de inserção, atualização e eliminação.
Opcional: configure as propriedades avançadas. Para este tutorial, pode usar as predefinições.
Clicar em Seguinte.
Na página Rever avaliação, clique em Ver mapeamentos em qualquer uma das tabelas para ver uma avaliação dos problemas de esquema, das funcionalidades em falta ou dos problemas de conetividade que possam ocorrer durante a replicação. Se ocorrerem problemas, têm de ser resolvidos antes de poder continuar. Para este tutorial, se alguma das tabelas tiver problemas, volte ao passo em que selecionou tabelas e escolha tabelas ou eventos (inserções, atualizações ou eliminações) sem problemas.
Para mais informações acerca das conversões de tipos de dados da base de dados de origem para o destino do BigQuery, consulte o artigo Tipos de dados de replicação.
Clicar em Seguinte.
Reveja os detalhes do trabalho de replicação do resumo e, de seguida, clique em Implementar trabalho de replicação.
- Na página Detalhes da tarefa de replicação, clique em Iniciar.
Na página Replicação, clique no Nome da tarefa de replicação.
Clique em Monitorização.
Na Google Cloud consola, aceda à página do BigQuery.
No painel esquerdo, selecione o nome do projeto para expandir uma lista de conjuntos de dados.
Para ver os resultados, selecione o conjunto de dados
sakila
e selecione uma tabela.- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Saiba mais sobre a replicação no Cloud Data Fusion.
- Consulte a referência da API Replication.
- Siga o tutorial para replicar dados do SQL Server para o BigQuery.
- Siga o tutorial Replicar dados do Oracle para o BigQuery.
Funções necessárias
Para obter as autorizações de que precisa para este tutorial, consulte Controlo de acesso com o IAM e Conceda autorização de utilizador à conta de serviço.
Instale o MySQL no Compute Engine
Ative a replicação na sua base de dados MySQL
Para ativar a replicação, configure a captura de dados de alterações (CDC) no MySQL.
Crie e execute uma tarefa de replicação do Cloud Data Fusion
Carregue o controlador JDBC
Crie o trabalho
Inicie a tarefa
A tarefa de replicação transita do estado Aprovisionamento para o estado Início e, de seguida, para o estado Em execução. No estado de execução, a tarefa de replicação carrega uma captura instantânea inicial dos dados da tabela que selecionou para o BigQuery. Neste estado, o estado da tabela é apresentado como Snapshotting. Depois de o instantâneo inicial ser carregado no BigQuery, todas as alterações feitas à tabela são replicadas no BigQuery, e o estado da tabela é apresentado como A replicar.
Monitorize o trabalho
Pode iniciar e parar a tarefa de replicação, rever a respetiva configuração e registos, e monitorizar a tarefa de replicação.
Pode monitorizar as atividades das tarefas de replicação na página Detalhes da tarefa de replicação.
Veja os resultados no BigQuery
A tarefa de replicação cria um conjunto de dados e uma tabela replicados no BigQuery, com nomes herdados da base de dados e dos nomes das tabelas correspondentes do MySQL.
Para mais informações, consulte a documentação do BigQuery.
Limpar
Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.
Depois de concluir o tutorial, limpe os recursos que criou no Google Cloud para que não ocupem quota e não lhe sejam cobrados no futuro. As secções seguintes descrevem como eliminar ou desativar estes recursos.
Elimine a instância do Cloud Data Fusion
Siga as instruções para eliminar a sua instância do Cloud Data Fusion.