A captura de dados alterados (CDC) é um processo usado para rastrear e capturar as mudanças feitas nos dados em um sistema de origem, como um banco de dados transacional, data warehouse ou aplicativo SaaS. Ao registrar as mudanças em tempo real, a CDC permite manter os sistemas sincronizados, ativar análises, treinar modelos de IA e oferecer suporte a migrações de dados perfeitas.
Saber quais mudanças ocorrem em um banco de dados é essencial para manter a integridade dos dados, otimizar fluxos de trabalho e gerar insights em tempo real. Um exemplo típico é no varejo: quando um cliente faz um pedido, o CDC captura essa venda do banco de dados transacional no momento em que ela acontece. Um serviço de CDC como o Datastream do Google Cloud pode replicar as mudanças de um banco de dados PostgreSQL no local para um data warehouse do BigQuery, alimentando um painel de análise quase em tempo real e eliminando a espera por trabalhos em lote noturnos lentos.
A captura de dados alterados (CDC) é um processo usado para identificar e capturar modificações de dados, como inserções, atualizações e exclusões, de um sistema de origem, geralmente quase em tempo real. O CDC é conhecido por:
O processo de ETL, que significa "extrair, transformar, carregar", envolve a extração de dados brutos do sistema de origem, a transformação na estrutura necessária e o carregamento no sistema de destino, normalmente um data warehouse. O ETL ajuda a garantir que os dados estejam organizados, limpos e prontos para uso posterior em análises ou aplicativos.
Tradicionalmente, o ETL é executado em lotes grandes e programados, geralmente durante a noite. Isso significa que os dados no sistema de destino são tão recentes quanto a execução em lote mais recente.
A principal diferença é como o CDC extrai dados. Em vez de extrair o conjunto de dados em lotes, a CDC captura as mudanças à medida que acontecem, o que possibilita consultar sempre os dados mais atuais em vez de depender do processamento em lote periódico. Isso pode ajudar você a responder mais rapidamente às mudanças e a ter insights mais precisos.
A captura de dados alterados é principalmente um processo focado na extração eficiente de todas as mudanças incrementais de um banco de dados de origem, geralmente em tempo quase real, para minimizar a carga no sistema de origem.
Por outro lado, as dimensões de mudança lenta (SCDs) são uma técnica de modelagem de dados aplicada no data warehouse de destino ou sistema analítico, com foco em como armazenar e gerenciar o estado histórico dos dados de dimensão (como registros de clientes ou atributos de produtos) ao longo do tempo.
Embora a CDC seja a ferramenta para o transporte eficiente de dados das mudanças, essas mudanças são normalmente aplicadas usando uma estratégia SCD específica para manter um histórico completo e preciso no sistema de destino.
A captura de dados alterados pode ser uma ponte poderosa para conectar os diversos sistemas que compõem uma pilha de dados ou nuvem de dados moderna. Em vez de se limitarem a bancos de dados específicos, as ferramentas de CDC são projetadas para funcionar com uma ampla variedade de origens e destinos.
Os bancos de dados transacionais são as fontes mais comuns de CDC, capturando cada inserção, atualização e exclusão dos sistemas que executam as operações comerciais diárias.
Geralmente o destino principal dos dados de CDC, esses sistemas consolidam informações de várias fontes para Business Intelligence, análise e IA.
Use o CDC para extrair dados de mudança de plataformas de negócios críticas (geralmente por APIs ou webhooks) para sincronizar dados de clientes, vendas ou suporte em toda a organização.
As plataformas de streaming e mensagens geralmente atuam como um barramento de mensagens em tempo real, recebendo eventos de mudança de uma origem e distribuindo-os para vários consumidores downstream simultaneamente.
Um destino comum para registros de eventos brutos de CDC, já que o armazenamento de objetos fornece uma base escalonável e econômica para a criação de um data lake.
O CDC pode desbloquear uma ampla variedade de casos de uso críticos, desde garantir a continuidade dos dados até potencializar análises e IA em tempo real.
Ao capturar e propagar as mudanças à medida que ocorrem, a CDC garante que vários sistemas (como um banco de dados primário mais um backup ou um banco de dados primário mais uma plataforma de análise) estejam sempre sincronizados. Isso elimina discrepâncias de dados e mantém a integridade dos dados em todas as plataformas.
A captura de dados alterados funciona identificando, rastreando e extraindo as alterações feitas nos dados em um banco de dados de origem usando abordagens variadas, incluindo as seguintes:
Os bancos de dados são a fonte mais comum e confiável para a captura de dados de mudança devido a um componente principal que todos eles compartilham: o registro de transações. Esse registro é um registro imutável e ordenado de cada alteração, o que o torna a base perfeita para capturar modificações de dados com precisão e eficiência sem afetar o desempenho do banco de dados. Confira uma análise mais detalhada dos principais conceitos.
Antes que qualquer dado seja gravado nas tabelas do banco de dados, a alteração (uma inserção, atualização ou exclusão) é registrada em um registro de transações. As ferramentas modernas de CDC aproveitam esse registro para capturar mudanças de forma não intrusiva. Essa é uma parte essencial da tecnologia de replicação de banco de dados, e embora o conceito seja universal, o nome desse registro varia entre os bancos de dados mais usados. Alguns exemplos notáveis:
Para bancos de dados grandes e atuais, ler todo o histórico do registro de transações pode ser impraticável devido ao desempenho da rede e outras restrições. Um padrão comum no mundo real é primeiro realizar um carregamento em massa e depois usar o CDC para sincronizar. O processo envolve o seguinte:
Esse método de "snapshot e recuperação" garante que o destino seja totalmente preenchido com dados históricos e, em seguida, mantido perfeitamente sincronizado com todas as alterações dinâmicas subsequentes. É assim que serviços gerenciados como o Datastream e o Database Migration Service do Google Cloud realizam backfills confiáveis e sem interrupções.
Para gerenciar esse processo de maneira confiável, a CDC depende de identificadores exclusivos no registro de transações, normalmente chamados de números de sequência de registros (LSNs). Esses números atuam como marcadores precisos para o fluxo de mudanças. Elas são essenciais para o seguinte:
Esses mecanismos (o registro de transações, o snapshot inicial e o número de sequência de registros) trabalham em conjunto para tornar a CDC de banco de dados altamente eficiente e confiável.
A CDC pode oferecer várias vantagens que a tornam indispensável nos fluxos de trabalho de dados modernos:
Consistência de dados entre sistemas
Sincroniza as mudanças conforme elas acontecem, reduzindo as discrepâncias e garantindo dados mais precisos em todas as plataformas.
Movimentação eficiente de dados
Garante que apenas as mudanças sejam capturadas em vez de conjuntos de dados inteiros, ajudando a reduzir significativamente a tensão do sistema e o uso da rede.
Integração perfeita
Conecta seus sistemas usando uma biblioteca de conectores pré-criados. Muitas plataformas oferecem interfaces sem código para configurar pipelines e gerenciar automaticamente tarefas complexas de back-end, como detecção de desvio de esquema e transformações de dados em trânsito, garantindo que seus dados fluam sem interrupção.
Resiliência operacional
Oferece suporte a esforços de replicação e recuperação de desastres, mantendo automaticamente os sistemas e backups alinhados sem intervenção manual.
Insights em tempo real
Dá acesso aos dados mais recentes quase instantaneamente, permitindo uma tomada de decisões mais rápida e embasada. Essa agilidade pode ser uma vantagem crucial em ambientes dinâmicos como negociações financeiras, e-commerce e logística, em que o valor dos dados diminui em segundos.
Várias tecnologias se sobrepõem ou complementam a CDC, oferecendo abordagens variadas para gerenciar mudanças de dados e permitir o processamento em tempo real. Veja como o CDC se compara a outras abordagens importantes:
O HTAP combina cargas de trabalho transacionais (OLTP) e analíticas (OLAP) em um único sistema, fornecendo análises imediatas sobre os dados. Embora isso torne o HTAP adequado para análises unificadas em um ambiente independente, ele pode ter dificuldades para sincronizar com as diversas fontes de dados distribuídas que existem em uma organização. Por outro lado, o CDC se destaca na manutenção da consistência dos dados em vários sistemas e na ativação de fluxos de trabalho distribuídos.
As consultas federadas (e uma abordagem semelhante chamada "tabelas externas") permitem que um data warehouse ou mecanismo de consulta leia dados diretamente de um sistema de origem externo, como um banco de dados transacional, no momento em que uma consulta é executada. Essa abordagem evita a necessidade de copiar ou mover dados, fornecendo acesso em tempo real às informações onde elas residem.
Esse método pode ser excelente para análises ad hoc ou consultas ocasionais, já que oferece acesso imediato sem a configuração de um pipeline de replicação. No entanto, para consultas usadas com frequência ou sensíveis à performance, pode ser ineficiente, já que coloca uma carga direta no sistema operacional de origem a cada consulta. Ao contrário do CDC, que envia proativamente um fluxo de mudanças para um destino para análise otimizada, a federação extrai dados sob demanda, o que pode ser inadequado para cargas de trabalho de alta frequência.
O Kafka é uma plataforma de código aberto projetada para streaming e processamento de dados de alta capacidade. Embora ele gerencie fluxos de dados em grande escala com eficiência, o Kafka complementa a CDC em vez de substituí-la. A CDC se concentra na captura de mudanças precisas no banco de dados em tempo real, enquanto o Kafka transmite dados de eventos mais amplos, como um clique em um site, uma leitura de sensor de IoT ou um item sendo adicionado a um carrinho de compras. Juntas, essas tecnologias podem criar uma combinação poderosa para fluxos de trabalho em tempo real.
Embora o CDC use uma abordagem sem código para replicar dados, as tecnologias de integração que se conectam na camada de aplicativo conectam sistemas e plataformas SaaS usando uma abordagem de pouco código. Se você quiser transformar os dados à medida que eles se movem entre plataformas, os produtos de integração no nível do aplicativo, como o Application Integration do Google Cloud, podem ser uma ferramenta melhor para o trabalho.
O Datastream é o serviço de replicação e captura de dados alterados (CDC) sem servidor, confiável e fácil de usar do Google Cloud. Ele minimiza a latência e permite a sincronização de dados em diversos bancos de dados e aplicativos. Aqui estão alguns recursos para ajudar você a começar:
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.