Principais conceitos e recursos

O Datastream permite ingerir dados de bancos de dados relacionais e outras fontes em destinos como o BigQuery, tabelas do Apache Iceberg e o Cloud Storage quase em tempo real. Em seguida, você pode usar os dados replicados no BigQuery para armazenamento em data warehouse e análise ou executar jobs do Apache Spark para cargas de trabalho de inteligência artificial e machine learning.

Conceitos

Esta seção descreve os principais conceitos que você precisa entender para usar o Datastream de maneira eficaz.

Captura de dados alterados

A captura de dados alterados (CDC) é um conjunto de padrões de design de software usados para determinar e rastrear dados alterados para que os aplicativos possam processar as atualizações. A CDC também é uma abordagem para integração de dados baseada na identificação, captura e entrega de mudanças feitas nas fontes de dados corporativos.

Origem do evento

O padrão de design de origem do evento captura cada mudança em um estado de um aplicativo em um objeto de evento. Ao usar a origem do evento, um aplicativo pode recriar o estado, realizar a recuperação pontual (processando eventos até esse ponto), recalcular o estado quando a lógica de negócios muda ou ativar uma arquitetura de segregação de responsabilidade de consulta de comando(CQRS). Com a evolução das ferramentas para processamento de eventos em tempo real, muitos aplicativos usam o modelo de origem do evento. Os bancos de dados transacionais são inerentemente orientados a eventos para atender aos requisitos de atomicidade, consistência, isolamento e durabilidade (ACID, na sigla em inglês).

Bancos de dados transacionais

Em um banco de dados transacional, o conjunto de operações que o banco de dados realiza é geralmente gravado em um registro prévio de escrita (WAL, na sigla em inglês) antes da execução de qualquer operação no mecanismo de armazenamento. Depois que uma operação é executada no mecanismo de armazenamento e confirmada no WAL, ela é considerada bem-sucedida. O uso de um WAL permite atomicidade e durabilidade, além de replicação de alta fidelidade do banco de dados. Alguns bancos de dados gravam no registro a operação exata que ocorre no nível de armazenamento (por exemplo, write 0x41 at location 20), para que essas ações possam ser replicadas apenas no mesmo mecanismo de armazenamento. Outros bancos de dados registram uma instrução lógica completa (ou linha) que pode ser executada novamente em um mecanismo de armazenamento diferente.

Eventos e transmissões

O Datastream ingere grandes volumes de dados quase em tempo real de várias fontes e disponibiliza os dados para consumo no destino. A unidade de dados armazenada pelo Datastream é um evento. Um stream representa a ingestão contínua de eventos de uma origem e a gravação deles em um destino.

Tipos unificados

As fontes de dados têm seus próprios tipos de dados, alguns específicos do banco de dados e outros genéricos e compartilhados entre bancos de dados. Como várias fontes geram streams para um destino unificado, uma representação padrão do tipo de origem original é necessária em todas as fontes. O tipo unificado é uma representação comum e sem perdas de tipos de dados em todas as fontes para que os dados possam ser consumidos de maneira coesa. Os tipos unificados com suporte do Datastream representam o superconjunto de todos os tipos normalizados em sistemas de origem compatíveis.

Contexto da entidade

O Datastream tem cinco entidades:

  • As configurações de conectividade privada permitem que o Datastream se comunique com fontes de dados por uma conexão de rede privada e segura. Essa comunicação ocorre por peering da nuvem privada virtual (VPC).
  • Os perfis de conexão representam informações de conectividade para um banco de dados de origem ou destino específico.
  • Os streams representam um par de perfil de conexão de origem e destino, além de configurações específicas do stream.
  • Os objetos representam uma parte de um stream. Por exemplo, um stream de banco de dados tem um objeto de dados para cada tabela que está sendo transmitida.
  • Os eventos representam cada alteração da linguagem de manipulação de dados (DML) de um determinado objeto.

Depois de criar uma conectividade privada configuração, você pode se conectar a fontes hospedadas em Google Cloud ou em outro lugar por um canal de comunicação particular. A conectividade privada é opcional. O Datastream também oferece suporte a outros modos de conectividade em redes públicas.

Depois de criar um perfil de conexão para uma origem e um destino, você pode criar streams que usam as informações armazenadas nos perfis de conexão para transferir dados da origem para o destino.

Depois de criar um stream, o Datastream se conecta diretamente à origem, consome conteúdo, e processa e grava eventos no destino com base na estrutura do evento.

É possível gerenciar configurações de conectividade privada e perfis de conexão separadamente dos streams para reutilização.

Recursos

Os recursos do Datastream incluem:

  • Sem servidor:configure um stream e os dados começarão a se mover. Não há instalação, alocação de recursos ou sobrecarga de manutenção. À medida que os volumes de dados mudam, os recursos de escalonamento automático do Datastream alocam recursos automaticamente para manter os dados em movimento quase em tempo real.
  • Esquema de tipo unificado baseado em Avro:o Datastream permite o processamento independente da origem convertendo todos os tipos de dados específicos da origem em um esquema de tipo unificado do Datastream, com base nos tipos Avro.
  • Dados históricos e de CDC de stream:o Datastream transmite dados de origem históricos e de CDC simultaneamente quase em tempo real.
  • CDC do Oracle sem licenças adicionais:o Datastream fornece streaming de CDC baseado no LogMiner de qualquer versão de origem do Oracle 11.2 e mais recente, sem exigir licenças adicionais ou instalações de software.
  • Destino do BigQuery:as mudanças na origem são replicadas continuamente para tabelas do BigQuery quase em tempo real. Os dados no BigQuery estão disponíveis para análise com atraso mínimo.
  • Destino do Cloud Storage:os dados de CDC são gravados continuamente em arquivos Avro ou JSON auto-descritivos no Cloud Storage. Esses dados estão disponíveis para processamento adicional, diretamente no local ou carregando downstream para outro destino, como o Spanner.
  • Gerenciamento centralizado de metadados com o Knowledge Catalog:os recursos do Datastream, como streams, perfis de conexão e configurações de conectividade, são sincronizados automaticamente com o Knowledge Catalog. Isso permite pesquisar e navegar por esses recursos diretamente na interface do usuário do Knowledge Catalog.

Casos de uso

Há três cenários principais de uso do Datastream:

  • Integração de dados: os streams de dados de bancos de dados e serviços de nuvem de software como serviço (SaaS) podem alimentar um pipeline de integração de dados quase em tempo real carregando dados no BigQuery.
  • Análise de streaming: as mudanças nos bancos de dados são ingeridas em pipelines de streaming que usam o Dataflow para detecção de fraudes, processamento de ocorrência de segurança e detecção de anomalias.
  • Disponibilidade quase em tempo real de mudanças de dados: a disponibilidade de mudanças de dados quase em tempo real alimenta aplicativos de inteligência artificial e machine learning para evitar a rotatividade ou aumentar o engajamento por meio de campanhas de marketing ou alimentando dados de volta aos sistemas de produção.

Visão geral do comportamento

O Datastream permite transmitir mudanças contínuas de várias fontes de dados diretamente para Google Cloud.

Fontes

  • Antes de usar uma origem com o Datastream, é necessário configurar a autenticação e outras opções de origem.
  • Cada origem gera eventos que refletem todas as mudanças da linguagem de manipulação de dados (DML).
  • Cada stream pode preencher dados históricos e transmitir mudanças contínuas para o destino.

Destinos

O Datastream oferece suporte a tabelas do BigQuery, do Apache Iceberg e do Cloud Storage como destinos. Ao criar um stream, você define a configuração de destino dele.

Entrega de eventos

  • A ordem dos eventos não é garantida. Os metadados de eventos incluem informações que podem ser usadas para ordenar os eventos.
  • A entrega de eventos ocorre pelo menos uma vez. Os metadados de eventos incluem dados que podem ser usados para remover dados duplicados no destino.
  • O tamanho do evento é limitado a 20 MB por evento para destinos do BigQuery e 100 MB por evento para destinos do Cloud Storage.

Para saber mais sobre eventos, consulte Eventos e streams.

Alta disponibilidade e recuperação de desastres

O Datastream oferece alta disponibilidade em todas as zonas e gerencia a recuperação de desastres durante interrupções regionais:

  • Alta disponibilidade: o Datastream é um serviço regional, executado em várias zonas em cada região. Uma falha de zona única em qualquer região não afeta a disponibilidade ou a qualidade do serviço em outras zonas.

  • Recuperação de desastres:se houver uma falha em uma região, todos os streams em execução nessa região ficarão indisponíveis durante a interrupção. Depois que a interrupção for resolvida, o Datastream continuará de onde parou, e todos os dados que não foram gravados no destino serão recuperados novamente da origem. Nesse caso, dados duplicados podem existir no destino. Para informações sobre como remover dados duplicados, consulte Entrega de eventos.

Dados iniciais e dados do CDC

Como as fontes de dados têm dados que existiam antes da conexão da origem a um stream (dados históricos), o Datastream gera eventos dos dados históricos e das mudanças de dados que ocorrem em tempo real.

Para garantir o acesso rápido aos dados, os dados históricos e as mudanças de dados em tempo real são replicados simultaneamente para o destino. Os metadados do evento indicam se um evento é de preenchimento ou de CDC.

A seguir