Replicar dados do PostgreSQL para o Google BigQuery

Saiba como usar o OCI GoldenGate para replicar dados do PostgreSQL para o Google BigQuery.

Antes de começar

Para concluir este início rápido com sucesso, você deve ter o seguinte:

Para concluir este início rápido com sucesso, você deve ter o seguinte:

Configuração do ambiente: PostgreSQL

Para configurar o ambiente para esse Início Rápido:

  1. Execute os comandos a seguir para instalar o PostgreSQL.

    1. Instale o servidor PostgreSQL:

      sudo yum install postgresql-server
    2. Instale o módulo postgresql-contrib para evitar esta exceção SQL:

      sudo yum install postgresql-contrib
    3. Crie um novo cluster de banco de dados PostgreSQL:

      sudo postgresql-setup --initdb
    4. Ative o postgresql.service:

      sudo systemctl enable postgresql.service
    5. Inicie o postgresql.service:

      sudo systemctl start postgresql.service
  2. Por padrão, o PostgreSQL só permite conexões locais. Permitir conectividade remota com o PostgreSQL.

    1. No /var/lib/pgsql/data/postgresql.conf, prepare o banco de dados para replicação.

    2. Localize e remova o comentário de listen_addresses = 'localhost' e altere o localhost para um asterisco (`):

      listen_addresses = '*'
    3. Defina os seguintes parâmetros da seguinte forma:

      • wal_level = logical

      • max_replication_slots = 1

      • max_wal_senders = 1

      • track_commit_timestamp = on

      Observação:

      Configure o /var/lib/pgsql/data/pg_hba.conf para garantir que a autenticação do cliente seja definida para permitir conexões de um host do Oracle GoldenGate. Por exemplo, adicione o seguinte:

      #Allow connections from remote hosts
      
      host all all 0.0.0.0/0 md5

      Consulte O arquivo pg_hba.conf para obter mais informações.

      1. Reinicie o servidor PostgreSQL:
      sudo systemctl restart postgresql.service
      1. Se estiver usando o Oracle Cloud Compute para hospedar o PostgreSQL, abra a porta 5432:
      sudo firewall-cmd --permanent --add-port=5432/tcp
      sudo firewall-cmd --reload
      sudo firewall-cmd --list-all
    4. Abra a porta 5432 na lista de segurança da sua VCN.

    5. Estabeleça Conexão com o PostgreSQL.

      > sudo su - postgres
      > psql

      Observação: Se preferir, você poderá informar sudo su - postgres psql se o exemplo acima não funcionar.

    6. Configure o PostgreSQL.

      1. Faça download do seedSRCOCIGGLL_PostgreSQL.sql e execute-o para configurar o banco de dados e carregar os dados de amostra.

      2. Execute os seguintes comandos para configurar o usuário (certifique-se de substituir <password> por uma senha real):

      create user ggadmin with password '<password>';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

Tarefa 1: Criar os recursos do OCI GoldenGate

  1. Crie uma implantação para o banco de dados PostgreSQL de origem.

  2. Crie uma implantação de Big Data para o Google BigQuery de destino.

  3. Crie uma conexão com o Google BigQuery de destino.

  4. Crie uma conexão com o banco de dados PostgreSQL de origem.

    1. Para Tipo, certifique-se de selecionar o PostgreSQL Server.

    2. Para Nome do banco de dados, digite ociggll.

    3. Para Host, informe o IP público da instância do serviço Compute na qual o PostgreSQL é executado.

    4. Para Porta, informe 5432.

    5. Para Username, digite ggadmin.

    6. Em Senha, informe uma senha.

    7. Para Protocolo de Segurança, selecione Simples.

  5. Crie uma conexão com o GoldenGate e, em seguida, designe essa conexão à implantação do PostgreSQL de origem.

  6. Designe a conexão de origem à implantação do PostgreSQL de origem..

  7. Designe a relação de destino à implantação de Big Data de destino.

Tarefa 2: Ativar log complementar

Para ativar o registro em log complementar:

  1. Inicie a console de implantação do PostgreSQL GoldenGate do:

    1. Na página Implantações, selecione a implantação do PostgreSQL para ver os detalhes.

    2. Na página Detalhes da implantação do PostgreSQL, selecione Iniciar console.

    3. Na página de acesso da console de implantação, informe as credenciais de administrador do GoldenGate fornecidas na Tarefa 1, etapa 1.

      Observação: O acesso será obrigatório se o IAM não tiver sido selecionado como o armazenamento de credenciais ao criar uma implantação.

  2. Na console de implantação, selecione Conexões de BD na navegação esquerda, depois o banco de dados PostgreSQL de origem e, em seguida, Trandata.

  3. Na página TRANDATA, ao lado de Informações TRANDATA, selecione Adicionar TRANDATA (ícone de mais).

  4. No painel Trandata, para Nome do Esquema, digite src_ociggll e selecione Enviar.

    Observação: Use o campo de pesquisa para procurar src_ociggll e verificar se as tabelas foram adicionadas.

Tarefa 3: Criar o Processo de Extract

Para adicionar a Extração de Captura de Dados de Alteração:

  1. Na navegação esquerda, selecione Extrações.

  2. Na página Extracts, selecione Adicionar Extract (ícone de mais) e preencha os campos da seguinte forma:

    • Na página Informações da Extração:

      1. Para Tipo de extração, selecione Alterar Extração de Captura de Dados.

      2. Para Nome do Processo, informe um nome para o processo Extract, como ECDC.

      3. Selecione Próximo.

    • Na página Opções de Extração:

      1. Para credenciais de Origem, selecione Oracle GoldenGate na lista drop-down Domínio

      2. Selecione o banco de dados PostgreSQL de origem na lista drop-down Alias.

      3. Para Extrair Nome da Trilha, informe um nome de trilha de dois caracteres, como C1.

      4. Selecione Próximo.

    • Na página Parâmetros de Extração, substitua MAP *.*, TARGET *.*; pelo seguinte:

      TABLE SRC_OCIGGLL.*;
  3. Selecione Criar e Executar.

Você retornará à página Extracts, onde poderá observar o início das Extracts.

Tarefa 4: Criar o Caminho de Distribuição para a Captura de Dados de Alteração

Para criar um Caminho de Distribuição para Captura de Dados de Alteração, conclua o seguinte:

  1. Na console do Oracle Cloud, na página Implantações, selecione a implantação do Big Data de destino.

  2. Selecione Adicionar Caminho de Distribuição.

  3. Preencha o formulário Adicionar Caminho da seguinte forma:

    1. Na página Informações do Caminho:

      1. Para Nome do Caminho, informe um nome.

      2. Selecione Próximo.

    2. Na página Opções de Origem:

      1. Para Extração de Origem, selecione a Extração da Captura de Dados de Alteração (ECDC).

      2. Para Nome da Trilha, selecione o arquivo da trilha de Captura de Dados de Alteração (C1).

      3. Selecione Próximo.

    3. Na página Opções de Destino:

      1. Para Destino, selecione wss.

      2. Para Host de Destino, informe o URL da console de implantação de destino (você pode encontrar isso na página de detalhes da implantação, sem https:// ou qualquer barra à direita).

      3. Para o Número de Porta, informe 443.

      4. Para Nome da Trilha, informe C1.

      5. Para Método de Autenticação de Destino, selecione Alias de ID de Usuário.

      6. Em Domínio, digite o nome do domínio.

      7. Para Alias, informe o alias.

    4. Selecione Criar Caminho e Executar.

Tarefa 5: Adicionar uma Replicação

  1. No menu de navegação da console de implantação do Big Data de destino, selecione Replicações e, em seguida, selecione Adicionar Replicat (ícone de mais).

  2. Na página Replicatos, selecione Adicionar Replicat (ícone de mais) e preencha o form Adicionar Replicat da seguinte forma:

    1. Na página Informações do Replicat:

      1. Para Tipo de replicat, selecione Paralelo ou Replicação Coordenada.

      2. Para Nome do Processo, informe um nome, como RCDC.

      3. Selecione Próximo.

    2. Na página Opções de Replicat:

      1. Para Nome da Trilha Replicat, informe o nome da Trilha da Tarefa 3 (C1).

      2. Para Credenciais de Destino, selecione o Domínio e o Alias para a conexão do Google Big Query.

      3. Para Locais de preparação disponíveis, selecione o Google Cloud Storage no menu suspenso.

      4. Para via alias de preparação, selecione a conexão do Google Cloud Storage na lista drop-down.

    3. Na página Arquivo de Parâmetros, adicione o seguinte mapeamento e selecione Próximo:

      MAP *.*, TARGET *.*;
    4. Na página Arquivo de Propriedades, configure as propriedades necessárias conforme necessário. Procure os marcados como #TODO e selecione Próximo.

      Algumas propriedades a serem consideradas para modificação incluem:

      • gg.eventhandler.gcs.bucketMappingTemplate: forneça o nome do bucket que será usado como armazenamento de preparação
  3. Selecione Criar e Executar.

Você retorna à página Replicats, na qual pode revisar os detalhes do Replicat.

Tarefa 6: Verificar Captura de Dados de Alteração

Execute atualizações no banco de dados PostgreSQL de origem para verificar a replicação do Google BigQuery.

  1. Execute o seguinte script para executar inserções no banco de dados PostgreSQL:

    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
  2. No console de implantação do PostgreSQL de origem, selecione o nome do processo Extract (ECDC) e, em seguida, selecione Estatísticas. Verifique se src_ociggll.src_city tem 10 inserções.

    Observação: Se o Extract não tiver inserções capturadas, reinicie o Extract ECDC.

  3. Na console de implantação do Big Data de destino, selecione o nome do Replicat, exiba seus Detalhes e marque Estatísticas para verificar o número de inserções.