Blogs

INÍCIO / Blogs / O Guia Change Data Capture (CDC) para PostgreSQL

Tabela de conteúdo
O Automatizado, Nenhum código Pilha de dados

Saiba como Astera O Data Stack pode simplificar e agilizar o gerenciamento de dados da sua empresa.

O Guia Change Data Capture (CDC) para PostgreSQL

Usman Hasan Khan

Estrategista de conteúdo

7 de fevereiro de 2024

Este artigo serve como um guia completo para alterar captura de dados (CDC) no PostgreSQL, também conhecido como Postgres. Ele irá guiá-lo pelas diferentes maneiras de implementar o Postgres CDC, incluindo os prós e contras, bem como uma alternativa automatizada para todos os métodos manuais. 

Também abordará a importância do PostgreSQL CDC. Antes de começarmos, vamos esclarecer alguns princípios básicos. 

O que é PostgreSQL? 

PostgreSQL é um de código aberto banco de dados relacional sistema de gerenciamento (RDBMS). Sua versatilidade permite seu uso tanto como banco de dados e como data warehouse quando necessário. 

O PostgreSQL também é totalmente gratuito e seus usuários desfrutam consistentemente de amplo desenvolvimento de código aberto e suporte confiável. Estas são algumas das principais razões para a sua impressionante longevidade: o PostgreSQL existe há mais de duas décadas e continua a ser classificado entre os bancos de dados relacionais mais utilizados. para gerenciamento de dados hoje mesmo. 

Recursos e aplicações do PostgreSQL 

  • Além de ser gratuito, o PostgreSQL também conquistou grande reputação por sua adaptabilidade e extensibilidade. Ele se integra perfeitamente aos seus sistemas existentes e segue os padrões SQL, para que você saiba o que esperar.
  • Com suporte integrado para captura de dados alterados, o Postgres fornece um mecanismo robusto para rastrear e capturar alterações no banco de dados.
  • É Compatível com ACID, altamente seguro e lida com falhas de processamento, para que você possa contar com a validade dos dados.
  • Ele oferece suporte a consultas JSON e SQL.
  • Como um banco de dados relacional, o PostgreSQL armazena elementos de dados na forma de tabelas onde as linhas também são chamadas de tuplas, e cada tupla é identificada com uma chave única. As colunas armazenam os atributos de cada elemento de dados correspondente. 

Uma tabela que descreve como os dados são armazenados em um banco de dados PostgreSQL, com rótulos para tuplas e atributos.

Esses recursos tornam o PostgreSQL a escolha certa para muitas aplicações, alguns dos quais incluem: 

  • Banco de dados transacional: Quando você frequentemente precisa de acesso rápido a informações para usar em um produto ou aplicação, o PostgreSQL é a escolha certa de banco de dados, pois sua estrutura relacional busca dados relevantes em alta velocidade.
  • Data warehousing: Um banco de dados funciona bem para operações de dados transacionais, mas não para análise, e o oposto é verdadeiro para um data warehouse. Os dois se complementam para que você possa influências seus dados com mais facilidade. A compatibilidade do PostgreSQL com ferramentas de Business Intelligence torna-o prático opção para atender aos seus requisitos de mineração de dados, análises e BI.
  • Serviços baseados em localização: Com o PostGIS extensão, você pode use PostgreSQL para armazenar, indexar e consultar dados geoespaciais conforme necessário. Isso faz com que uma escolha inteligente para serviços baseados em localização e Sistemas de Informação Geográfica (GIS).
  • Transações OLTP: PostgreSQL é comumente usado para transações de processamento de transações on-line (OLTP) em muitas indústrias, incluindo comércio eletrônico (compras on-line e atualizações de estoque), bancário (transferências de fundos, saques em caixas eletrônicos, e verificações de saldo), vendas (transações de varejo, geração de faturas e pontos de fidelidade), e serviços (marcação de compromissos, atualizações de serviços, e pagamentos para serviços renderizado). 

Sua marca Você precisa postgres CDC? 

Digamos que você precise dos dados mais atualizados para fins de relatórios agora mesmo, exceto que você ainda não pode obtê-lo, pois a próxima sincronização está agendada para horas a partir de agora. A sincronização manual é uma opção, mas se a sua empresa for enorme e lidar com grandes volumes de dados, o processamento em lote pode rapidamente se tornar um obstáculo. Isso pode levar a erros, ao uso de informações desatualizadas e a relatórios incorretos.

Em última análise, sua tomada de decisão será afetada, pois você não terá os dados atualizados necessários para tomar as medidas necessárias. 

Este é exatamente o tipo de cenário que você pode evitar com o Postgres CDC. 

postgres Os métodos CDC ajudam a rastrear e lidar com alterações em seus bancos de dados. A ação mais comum nesses casos é a replicação de alterações na origem para um armazenamento de dados de destino. Esta permite que você mantenha seus dados sincronizados entre vários bancos de dados. 

Uma avaliação do cliente para Astera.

Como funciona PostgreSQL CDC funciona e o que ele faz? 

O Postgres CDC garante que todos os sistemas tenham acesso consistente à versão mais atualizada dos seus dados, para que você é sempre trabalhando com informações atualizadas. Postgres cmudar a captura de dados também tem alguns adicional benefícios, como: 

  • Postgres CDC pode ajudá-lo a diminuir os custos de uso da rede, pois apenas as alterações mais recentes serão processadas durante cada sincronização, em vez de todo o conjunto de dados.
  • Aanalítico e tarefas semelhantes requerem mais recursos executar, impactos tão frequentes no processamento em lote o desempenho do banco de dados Postgres ao longo do tempo e interrompe sua funcionalidade. O Postgres CDC inicialmente faz cópias do banco de dados e depois as atualiza gradativamente com os dados alterados. Esse o processo é muito mais leve do que o processamento em lote, mantendo seu banco de dados mais rápido e eficiente.
  • investimentos Gerenciamento de Documentos Mestre (MDM) O sistema irá operar mais suavemente com Postgres CDC em vigor. Com dados alterados de fontes distintas atualizados continuamente no sistema MDM, todas as suas equipes usar os mesmos dados atualizados. Isso pode melhorar a colaboração e a coordenação e acelerar melhores decisões de negócios.
  • Você ainda pode usar alterar captura de dados com Postgres como mecanismo de recuperação de desastres para seus dados. O CDC em tempo real ajuda você a fazer backup de bancos de dados críticos e a criar redundâncias que podem ser úteis em casos de falha do sistema, ataques de malware, erros humanos e outras situações semelhantes.    

Memétodos para implementar PostgresSQL Change Data Capture 

Um gráfico que mostra os diferentes tipos de técnicas de CDC do PostgreSQL.

Conforme discutido acima, o Postgres CDC rastreará e replicará quaisquer alterações de dados em vários bancos de dados. O método CDC de sua escolha pode ser em lote ou em tempo real, já que o CDC não tem quaisquer requisitos relacionados ao tempo.  

Você pode implementar o Postgres CDC em poucos diasistinto maneiras com base em seus requisitos operacionais, e vamos dê uma olhada neles abaixo: 

Tmontadores 

O Postgres CDC baseado em gatilho também é conhecido como “fonte de evento. " Neste método, um log de eventos dedicado é criado para servir como fonte primária de informações. Como o próprio nome sugere, este método depende muito de gatilhos, que são crucial em cada transação do banco de dados e capturar eventos em em tempo real. 

Um gatilho programa o banco de dados para se comportar de uma maneira específica sempre que um evento especificado ocorre. Este evento pode ser a introdução de novos dados, atualizações de dados existentes ou a remoção de dados existentes do banco de dados. 

Os gatilhos Postgres CDC são altamente personalizáveis. Você pode configurá-los para serem executados antes ou depois dos eventos mencionados acima, para serem executados para cada alteração individual ou para serem executados uma vez para um grupo de alterações. Você pode até impor condições operacionais aos gatilhos – fazendo com que eles sejam executados somente quando uma tupla específica for modificada ou executado apenas como resposta a determinadas ações. 

Os gatilhos no Postgres CDC funcionam bem para rastrear alterações em tabelas, registrá-las em uma tabela diferente e criar um log de cada alteração. Para implementar Postgres baseados em gatilhos alterar captura de dados, você pode criar gatilhos de auditoria em seu banco de dados Postgres que rastrearão todos os eventos relacionados a ações como INSERT, UPDATE e DELETE. 

Uma vez que este método opera no nível SQL, você pode consultar a tabela Change Data Capture e identificar todas as mudanças. Aqui está um exemplo de função de gatilho: 

Trecho de código para criar uma tabela 'users_cdc' no Postgres.

Este código criará uma tabela chamada 'usuários_cdc'para armazenar informações de captura de dados alterados, capturando informações como ID do usuário, operaçãotipo de íon (INSERT, UPDATE, DELETE), carimbo de data/hora da alteração e nome do usuário pré e pós-mudança INFORMAÇÕES. 

Código para criar uma função de gatilho no Postgres.

Este código define um PL/pgSQL função ('captura_mudanças') desencadeado após as operações INSERT, UPDATE ou DELETE na tabela 'users'. A 'CASO' afirmação determina o tipo de operação com base em O valor que of  'TG_OP' (operação de gatilho). 

Código para criar uma função de gatilho no Postgres.

Este código cria um gatilho chamado 'usuários_trigger' na tabela 'users' que será acionada após qualquer operação INSERT, UPDATE ou DELETE.

No acima CDC do Postgres Por exemplo, sempre que ocorrer uma alteração na tabela 'usuários', o gatilho correspondente ativará o 'captura_mudanças'função, que registrará as alterações no 'usuários_CDC' mesa. A tabela CDC capturará o tipo de operação, carimbo de data/hora e dados relevantes antes e depois da alteração.

Juntos, esses elementos ajudarão você a acompanhar todas as modificações na tabela original ao longo do tempo. 

Prós do Postgres CDC baseado em gatilho 

  • O Postgres CDC baseado em gatilho é confiável e abrangente.
  • Captura de todas as alteraçõess e a manutenção de registros ocorre dentro do sistema SQL.
  • A captura instantânea de alterações permite o processamento de eventos em tempo real.
  • Você pode criar gatilhos para diversos tipos de eventos. 

Contras do Postgres CDC baseado em gatilho:

  • Como todos os gatilhos criados são executados no banco de dados Postgres principal, eles podem tornar o banco de dados lento. Como qualquer outra operação, executar CDC do Postgres via os gatilhos também requerem recursos e aumentam a pressão no banco de dados.
  • Minimizar o impacto nos recursos do banco de dados envolve a criação de outra tabela que espelhe a tabela primária e o uso dessa tabela secundária para implementação do gatilho. No entanto, você também precisará criar um pipeline separado para espelhar quaisquer alterações em qualquer destino que esteja fora da instância do Postgres aplicável do gatilho.

Consultas 

CDC do Postgres baseado em consultas exige mais esforço manual do que usando gatilhos. Você deve consultar ativamente seu banco de dados Postgres para identificar quaisquer alterações em vez de depender de gatilhos pré-configurados. Você precisa de uma coluna de carimbo de data/hora em sua tabelae para usar este método personalizado. Sempre que um registro é adicionado ou modificada, a coluna de carimbo de data/hora será atualizada para incluir a data e a hora da alteração. 

Qualquer consulta que você fizer ao banco de dados Postgres usará esta coluna de carimbo de data/hora para obter todos modificada registros desde sua última consulta e, em seguida, exibir as alterações capturadas.  

Você também pode usar scripts para monitor seu banco de dados Postgres para alterações e registre-as em um banco de dados de destino, mas isso opção é ainda mais trabalhoso do que simplesmente consultar o banco de dados. 

Continuando o postgres alterar captura de dados exemplo acima, aqui está como você consultará uma tabela de 'usuários': 

Código para uma consulta Postgres.

Esta consulta busca todos os registros de the 'Usuários' mesa onde o 'Ultima atualização' o carimbo de data/hora é maior que '2024-01-01'. É usado para recuperar registros do usuário que foram atualizados desde a data especificada.

Trecho de código para criar uma tabela 'users_cdc' no Postgres.

Thesse código criará a tabela 'usuários_mudanças'com informações sobre cada alteração, como o tipo de operação (INSERT, UPDATE ou DELETE), seu carimbo de data/hora e dados relevantes antes e depois da alteração.

Prós do Postgres CDC baseado em consultas 

  • É mais fácil do que configurar Captura de dados de alteração do Postgres via gatilhos.
  • você tem mais controle sobre o processo do CDC.
  • Você não precisa de nenhuma ferramenta externa para CDC baseado em consulta. 

Contras do Postgres CDC baseado em consultas

  • Requer uma abordagem mais proativa do que a abordagem baseada em gatilho do tipo "configure e esqueça" postgres CDC. Você precisará consultar regularmente o banco de dados para garantir um rastreamento preciso e pontual das alterações.
  • A camada de consulta é crucial para a extração de dados neste método, o que pode colocar uma carga adicional no banco de dados Postgres. 

PostgreSQL Replicação Lógica 

O Postgres CDC com replicação lógica também é chamado de Decodificação Lógica. Pense nisso como uma representação de streaming de um registro Write-Ahead (WAL). Desde O WAL captura e registra todas as alterações de dados no banco de dados Postgres. Essas alterações são consideradas fluxos de decodificação lógica e são categorizadas como um slot de replicação lógica no nível do banco de dados. 

Em outras palavras, um slot de replicação nada mais é do que um fluxo de alterações que ocorrem em um banco de dados. Cada banco de dados pode ter vários slots ou fluxos de alterações.  

Implementar PostgreSQL a replicação lógica requer um plugin de decodificação lógica. As versões 10 e posteriores do Postgres apresentam o padrão 'saída' plugar. Ele permite que alterações no banco de dados Postgres sejam processadas como fluxos. No entanto, se estiver usando uma versão anterior a 10, você precisará instalar manualmente um plugin como 'decodificadores'ou'Wal2json'. 

A 'saída'plugin é útil para replicar dados entre duas ou mais instâncias do PostgreSQL. Ainda assim, pode ser difícil para transferir dados do fluxo de alterações do Postgres para outro plataforma ou banco de dados. 

Se quiser mover dados de fluxo de mudança para uma plataforma não Postgres, você pode usar o 'Wal2json'plugin para transformar os dados do fluxo de mudança em JSON. Isso permitirá que suas plataformas de destino o leiam no formato JSON, o que é mais fácil do que ler saída do pgout saída binária. 

Além de um plugin, o outro componente vital em CDC via réplica lógica do PostgreSQLação é um modelo de assinatura com editores e assinantes. Este modelo de assinatura permite que um ou mais assinantes assinem uma (ou mais de uma) publicação usando o nó editor. Os assinantes extraem dados das publicações e podem republicá-los para replicação ou reconfigurações adicionais. 

Siga os passos abaixo para implementar Postgres CDC com replicação lógica de um banco de dados de origem (usaremos o 'Usuários' tabela dos exemplos anteriores) para um banco de dados de destino, que chamaremos de 'usuários_mudanças' tabela.

Lembre-se de substituir espaços reservados como 'fonte_db' e 'replication_user' com as informações reais do seu banco de dados. 

Definições de configuração do Postgres para replicação lógica.

Primeiro, habilite a representação lógica no arquivo de configuração do Postgres 'postgresql.conf'. Use as configurações acima e reinicie o Postgres assim que essas alterações forem feitas. 

Código para criação de tabela e publicação no Postgres.

Esta seção criará uma tabela chamada 'Usuários' e uma publicação chamada 'meu_pub' para o 'usuários' mesa. Esta publicação é a fonte das alterações a serem replicadas. 

Código para criar uma tabela 'users_changes' no Postgres.

Esta seção criará uma tabela chamada 'usuários_mudanças' no banco de dados de destino para armazenar as alterações da origem.

Código para criar uma assinatura na replicação lógica do Postgres

Este código irá estabelecer a assinatura 'meu_sub', que se conectará ao banco de dados de origem e assinará o 'meu_sub' publicação. 

Código para função de gatilho 'capture_changes' e 'users_trigger' no Postgres.

Este código define uma função de gatilho 'captura_mudanças'para capturar alterações no 'Comercial' mesa. É euinserções informações relevantes no 'usuários_mudanças' mesa dependendo do tipo de operação (INSERT, UPDATE, DELETE). Ele também cria o gatilho 'usuários_trigger'para executar esta função após cada arquivo-linhavel mudança no 'Comercial' tabela. 

Código para a função de gatilho 'capture_changes' em um banco de dados Postgres.

Esta é uma instrução SQL para monitorar alterações no slot de replicação lógica denominado 'meu_sub'e buscá-los. Substituir 'meu_sub' com seu nome de assinatura específico. 

Prós do Postgres CDC com replicação lógica: 

  • O CDC baseado em log permite a captura de alterações de dados em tempo real usando um mecanismo orientado a eventos. Isso permite que aplicativos downstream acessem dados atualizados de um banco de dados Postgres de forma consistente.
  • Este método CDC pode identificar todos os tipos de eventos de mudança em um banco de dados Postgres.
  • Como esse método acessa diretamente o sistema de arquivos, ele sobrecarrega menos o banco de dados. 

Contras do Postgres CDC com replicação lógica: 

  • A replicação lógica não está disponível para versões do PostgreSQL anteriores à 9.4.
  • Dependendo do caso de uso, a lógica complexa necessária para processar esses eventos e sua eventual conversão em instruções para o banco de dados de destino pode afetar potencialmente a conclusão do projeto. 

Postgres CDC usando o log Write-Ahead (WAL) 

Tanto o Postgres CDC baseado em gatilhos quanto o Postgres baseado em consultas podem criar latência e afetar o desempenho do seu banco de dados ao longo do tempo. Se, você em vez influências Recursos integrados do Postgres e adaptá-los para processos CDC em vez de usar as técnicas discutidas acima, você pode usar o WAL. 

O WAL é um log de transações que registra todas as alterações no banco de dados. Seu objetivo principal é recuperar e garantir a integridade dos dados, Fazendo é útil para CDC baseado em eventos. Como este é um recurso integrado, você trabalhará principalmente com as próprias configurações do banco de dados Postgres para configurá-lo para CDC. 

Abaixo estão os passos que você precisa seguir para executar Postgres chancaptura de dados ge usando log de transações: 

Primeiro, habilite o WAL na configuração do Postgres. Embora esta seja normalmente a configuração padrão, marque a caixa 'postgresql.conf'arquivo para confirmar. Postgres permite aos usuários examinar o conteúdo do WAL. Como exemplo, usaremos o 'pg_waldump'ferramenta. Rsubstitua o espaço reservado 'caminho_para_wal_file> ' com o caminho real do seu arquivo WAL ao usar este código.

Código para verificação do conteúdo do WAL no Postgres.

A seguir, qConsulte o conteúdo do WAL usando consultas SQL. O 'pglógico'pacote de extensão inclui o 'pg_decode'extensão, que é a extensão usada com mais frequência para esse fim.

Instrução SQL para uso no CDC usando o log Write-Ahead.

  • 'CREATE EXTENSION' criará e instalará o 'pglógico' extensão que fornece recursos de replicação lógica para Postgres.
  • A instrução SQL 'SELECT' cria um slot de replicação lógica chamado 'meu_slot' usando o 'pg_create_logical_representation_slot'função.
  • 'saída'especifica o plugin de saída a ser usado para mudanças de decodificação e aqui é um plugin de saída integrado para replicação lógica.
  • 'pg_logical_slot_peek_changes' é usado para examinar as alterações capturadas em um slot de replicação lógica
  • 'meu_slot'é o slot de replicação lógica que está sendo consultado. Este nome é um espaço reservado e você deve substituí-lo pelo nome do slot real que deseja consultar
  • 'NULO NULO' é onde você pode colocar parâmetros especificando o intervalo de alterações a serem recuperadas. Usando 'NULO NULO'aqui significa recuperar todas as alterações disponíveis sem qualquer intervalo específico. 

Observe que você pode precisar fazer alguma codificação, especialmente se você é planejando automatizar a extração e o manuseio de alterações. 

Prós de usar WAL para Postgres CDC

  • Enquanto alguma codificação ainda está envolvido no uso do WAL, no geral ele requer menos codificação do que os outros métodos Postgres CDC que discutimos.
  • Soluções e plataformas de terceiros, como 'pglógico' estão disponíveis para simplificar as etapas mais complexas do processo. 

Contras de usar WAL para Postgres CDC

  • Os dados que você extrai do WAL podem estar em formato bruto. Transformando-o para alinhá-lo com a estrutura de dados do seu aplicativo exige trabalho adicional.
  • O monitoramento de alterações no WAL pode exigir scripts ou automação adicionais.
  • A compreensão e interpretação dos registros WAL requerem um conhecimento profundo do funcionamento interno do seu banco de dados Postgres. 

Automatizando Postgres CDC wom Astera 

O exemplo a seguir explica como você pode automatizar desencadear-baseado CDC do Postgres utilização Astera. Let's assumir você é trabalhando com um PostgreSQL banco de dados e configurou um Fonte da tabela do banco de dados para ler informações deste banco de dados.  

Configurando a conexão do banco de dados em Astera.

Primeiro, você vai habilite o CDC neste banco de dadosase por selecionando Habilitar Change Data Capture na tabela. 

Habilitando o Trigger CDC em Astera.

Em seguida, selecione em quais campos deseja habilitar o CDC, através do Selecione Colunas caixa de diálogo. 

Selecionando colunas para ativar o CDC em Astera.

Enquanto you pode selecionar um ou todos os campos em um banco de dados, é obrigatório escolher uma chave primária. Neste caso, você pode escolher EmpregadoID. 
 Habilitando o Trigger CDC em Astera.

Uma vez você tem escolhido os campos, clique em 'OK'. Você vai veja a caixa de diálogo indicando que você habilitou o CDC com sucesso neste banco de dados. 

Em seguida, configure a tabela de destino para armazenar os dados atualizados da tabela de origem. Adicione um objeto de destino de banco de dados da caixa de ferramentas à sua esquerda. 

Adicionando um objeto de destino de banco de dados ao fluxo de trabalho em Astera.

Configure o objeto de destino abrindo suas propriedades. No Definir portas de entrada para Mapingar seção, selecionar o Upsert caixa de seleção com uma fonte CDC, pois os dados recebidos serão Provável não contenho registros novos e atualizados. Em Selecione campos para correspondência de banco de dadoscordão, escolher EmpregadoID desde é a chave primária e exclusiva para cada registro no banco de dados de origem. 

Configurando o destino do banco de dados em Astera.

Em seguida, use arrastar e soltar para mapeie todos os campos do objeto de origem do banco de dados para o objeto de destino. O fluxo de dados para implementar o Postgres CDC agora está completo. 

Um banco de dados de destino mapeado em Astera.

Ao executar o fluxo de dados e verificar a janela de progresso do trabalho, você vai descobre que Astera leu e escreveu que o entradas de da tabela de origem para a tabela de destino. 

Acionar a execução do CDC em Astera.

CDC incremental do Postgres

Está fácil de configurar o CDC incremental em um banco de dados PostgreSQL usando Astera, permitindo que você carregue os dados da sua tabela de banco de dados incrementalmente em vez de cargas completas a cada corrida.

Vamos assuma isso estamos trabalhando com dados de transportadoras neste caso de uso e deseja armazenar esses dados em um novo banco de dados tabela. Queremos ser capaz de atualizar a nova tabela a qualquer momento uma alteração na fonte, sem precisar carregar completamente a tabela de origem.

Bem use uma fonte de tabela de banco de dados pré-configurada com as informações pertinentes. 

Objeto de origem da tabela de banco de dados em Astera.

Acesse as propriedades do objeto de origem clique com o botão direito do mouse seu cabeçalho e selecionando Propriedades.

Menu de contexto de propriedades do objeto de origem em Astera.

Conecte-se ao banco de dados e clique em 'Avançar' para prosseguir. 

A janela de conexão do banco de dados em Astera.

Na próxima tela você vai ver o Opções de leitura incremental seção.  

Opções de carregamento incremental em Astera.

Escolha Carga incremental baseada em campos de auditoria as que o Leia a estratégia que exibirá mais opções. 

Opções incrementais em Astera.

Campos de auditoria são atualizados quando um registro é criado ou modificada, como data e hora de criação, data e hora de modificação e numeração automática. A leitura incremental rastreia o valor mais alto para qualquer campo de auditoria especificado. Durante a próxima execução, apenas os registros que possuem um valor superior ao valor salvo e guarante que os mesmos estão recuperado. 

  • Adicione um caminho de arquivo para o Arquivo de informações de transferência incremental, o qual Astera cria para armazenar informações sobre a última entrada da tabela do banco de dados. Ele comparará esse arquivo com a tabela do banco de dados em cada execução para verificar se há novas entradas.
     
  • Configure uma tabela de destino arrastando e soltando Destino da tabela de banco de dados da caixa de ferramentas. 

Adicionando um objeto de tabela de destino em Astera.

  • Depois de configurado, mapeie a origem da tabela para o objeto de destino da tabela.  

Objetos mapeados em Astera.

  • Você vai veja que a tabela de destino está vazia. Você pode verificar seu conteúdo conforme mostrado abaixo, e isso abrirá uma consulta SQL para visualizar os dados da tabela. 

Verificando o conteúdo da tabela de destino em Astera.

Uma mesa vazia em Astera.Tabela de origem em Astera.

  • Ao executar o fluxo de dados, verifique o Progresso do trabalho janela e você verá isso que o entradas da tabela de origem têm sido escrito para a tabela de destino. 

Janela de progresso do trabalho durante o CDC incremental em Astera.

 

  • Você pode verificar isso visualizando a tabela de destino. 

Visualização da tabela de destino em Astera.

 

Automatize o CDC do Postgres em Astera e mantenha seus bancos de dados sincronizados sem esforço

Combine técnicas de CDC do Postgres com Asteraimpressionantes recursos de gerenciamento de dados e aproveite ao máximo seus bancos de dados sempre atualizados. Descubra o Astera diferença hoje!

Inicie o seu teste gratuito

Escolhendo o método PostgreSQL CDC correto para seu caso de uso 

Existem vários métodos para implementar o CDC em um banco de dados PostgreSQL e você precisa considerar vários fatores ao decidir qual método escolher. Cada método tem seus prós e contras, que abordamos brevemente delineado acima. Além disso, aqui estão mais alguns pontos para pensar: 

Volume de dados e frequência de alteração: 

  • Em ambientes com alterações moderadas de dados que exigem rastreamento em tempo real, o CDC baseado em gatilho é sua melhor aposta
  • A replicação lógica é adequada para cenários com altas taxas de alteração de dados, pois fornece recursos de replicação em tempo real.
  • Se houver extração pouco frequente de alterações de dados em seus fluxos de trabalho, escolha Postgres CDC baseado em consultas. 

Desempenho e despesas gerais: 

  • O Postgres CDC baseado em gatilhos pode adicionar sobrecarga adicional, especialmente se altas taxas de transação estiverem envolvidas.
  • A replicação lógica tem baixo impacto e é fácil para o sistema de origem, tornando-a a escolha certa para cenários de alto desempenho.
  • O CDC baseado em consultas normalmente não consome muitos recursos, mas pode afetar o desempenho quando há consultas intensas. 

Complexidade do caso de uso: 

  • O CDC baseado em gatilhos é útil para casos complexos que exigem personalização e rastreamento detalhado de alterações.
  • A replicação lógica é adequada para casos que exigem simplicidade e replicação em tempo real.
  • O CDC baseado em consultas é uma opção simples para casos de uso simples que não precisam de gatilhos complexos. 

Integração e Compatibilidade: 

  • O CDC baseado em gatilhos pode ser perfeitamente integrado aos seus aplicativos e bancos de dados atuais
  • A replicação lógica é ideal para cenários onde há necessidade de compatibilidade entre diferentes instâncias do Postgres.
  • O CDC baseado em consultas envolve consultas personalizadas. Como tal, é a opção certa para atender às necessidades de integração personalizadas. 

Simplicidade e Funcionalidade: 

  • O CDC baseado em gatilhos é uma solução robusta que oferece rastreamento detalhado de alterações, mas isso aumenta sua complexidade. Bom para ambientes com muita personalização.
  • A replicação lógica atinge o equilíbrio certo aqui, tornando-a uma escolha prática para uma variedade de cenários e ideal para atender aos requisitos de replicação em tempo real.
  • O CDC baseado em consultas é bastante simples e flexível, mas isso significa que pode precisar de mais intervenção manual. É a técnica certa para extração ocasional de alterações. 

Conclusão 

Neste blog, analisamos detalhadamente várias opções que você pode usar para implementar CDC no PostgreSQL. Também discutimos as vantagens e desvantagens de cada método e destacamos os fatores que você deve considerar antes de escolher um método CDC para sua empresa. 

Enquanto não há solução única para todos quando se trata de mudar captura de dados, automatizar o processo deve ser na sua lista de principais prioridades. Em última análise, como você implementar o Postgres CDC depende do seu requisitos de desempenho, preferências de personalização e caso de uso individual. 

At Astera, acreditamos em fornecer uma solução simplificada de gerenciamento de dados de ponta a ponta. Nossa interface intuitiva de arrastar e soltar com construído-em conectores e transformações elimina a codificação e democratiza as operações de dados, tornando-as igualmente acessíveis e esclarecedoras para partes interessadas técnicas e não técnicas. 

Nossa suíte permite que você simplifique seu integração de dados processos, construir robusto armazéns de dados e agilize seu EDI e Gerenciamento de API, tudo sem escrever uma única linha de código. 

Experimente o Astera diferença. Começar seu teste grátis hoje ou solicitar um orçamento para começar. 

Você pode gostar
As 7 principais ferramentas de agregação de dados em 2024
Estrutura de governança de dados: o que é? Importância, Pilares e Melhores Práticas
As melhores ferramentas de ingestão de dados em 2024
Considerando Astera Para suas necessidades de gerenciamento de dados?

Estabeleça conectividade sem código com seus aplicativos corporativos, bancos de dados e aplicativos em nuvem para integrar todos os seus dados.

Vamos nos conectar agora!
vamos conectar