Comportamento e casos de uso
O Datastream permite ingerir dados de origem de um sistema de gerenciamento de banco de dados relacional (RDBMS, na sigla em inglês) e de outras fontes para destinos como o BigQuery, tabelas do Apache Iceberg e o Cloud Storage quase em tempo real. Isso possibilita casos de uso downstream, como carregar dados no BigQuery para armazenamento e análise de dados ou executar jobs do Apache Spark nos dados 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, na sigla em inglês) é 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. O CDC também é uma abordagem de integração de dados baseada na identificação, captura e entrega das mudanças feitas nas fontes de dados empresariais.
Origem do evento
O padrão de design de origem do evento captura cada mudança no estado de um aplicativo em um objeto de evento. Ao usar a origem do evento, um aplicativo pode recriar seu estado, realizar a recuperação pontual (processando eventos até esse ponto), recomputar o estado quando a lógica de negócios muda ou ativar uma arquitetura de segregação de responsabilidade da 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).
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 de gravação antecipada (WAL) 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, a operação é considerada bem-sucedida. O uso de um WAL permite atomicidade e durabilidade, além de permitir a 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 só possam ser replicadas no mesmo mecanismo de armazenamento. Outros bancos de dados registram uma instrução lógica (ou linha) completa 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 próprio banco de dados e outros genéricos e compartilhados entre eles. Como várias fontes geram streams para um destino unificado, é necessária uma representação padrão do tipo de origem original 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 compatíveis com o 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 particular permitem que o Datastream se comunique com fontes de dados por meio de uma conexão de rede privada e segura. Essa comunicação ocorre por meio do peering de nuvem privada virtual (VPC).
- Os perfis de conexão representam as informações de conectividade para um banco de dados de origem ou de destino específico.
- Streams representam um par de perfis de conexão de origem e de destino com as configurações específicas de streams.
- 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 no Google Cloud Google Cloud ou em outro lugar por meio de um canal de comunicação particular. A conectividade particular é opcional. O Datastream também é compatível com 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, em seguida, 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 de streams para reutilização.
Recursos
Confira alguns recursos do Datastream:
- Sem servidor:configure um stream e os dados começarão a ser transferidos. Não há sobrecarga de instalação, alocação de recursos ou 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 unificado de tipo baseado em Avro:o Datastream permite o processamento independente de origem convertendo todos os tipos de dados específicos de origem em um esquema de tipo unificado de Datastream baseado nos tipos Avro.
- Streaming de dados históricos e do CDC:o Datastream transmite simultaneamente dados históricos e de origem do CDC quase em tempo real.
- CDC Oracle sem licenças adicionais:o Datastream oferece streaming de CDC baseado em LogMiner de qualquer origem da versão Oracle 11.2 ou mais recente, sem a necessidade de licenças ou instalações de software adicionais.
- 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 do CDC são gravados continuamente nos arquivos Avro ou JSON autodescritivos no Cloud Storage. Esses dados estão disponíveis para processamento adicional, seja diretamente no local ou carregando em 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 fluxos 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 das alterações de dados: a disponibilidade de alterações de dados quase em tempo real potencializa os aplicativos de inteligência artificial e machine learning para evitar o desligamento de usuários ou aumentar o engajamento com campanhas de marketing ou com sistemas de produção.
Visão geral do comportamento
O Datastream permite fazer streaming de mudanças contínuas de várias fontes de dados diretamente no Google Cloud Google Cloud.
Fontes
- Antes de usar uma fonte com o Datastream, é necessário configurar a autenticação e outras opções de origem.
- Cada origem gera eventos que refletem todas as alterações na 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 é compatível com o BigQuery, tabelas do Apache Iceberg e o 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. Metadados de evento incluem informações que podem ser usadas para ordenar os eventos.
- A entrega do evento ocorre pelo menos uma vez. Esses metadados 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, 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, 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 do momento em que a fonte foi conectada a um stream (dados históricos), o Datastream gera eventos a partir dos dados históricos, bem como alterações de dados que ocorrem em tempo real.
Para garantir acesso rápido aos dados, os dados históricos e as alterações em tempo real são replicados simultaneamente no destino. Os metadados do evento indicam se um evento é do preenchimento ou do CDC.
A seguir
- Saiba mais sobre o Datastream.
- Saiba mais sobre os mapeamentos de tipos unificados.
- Saiba mais sobre as origens compatíveis.
- Saiba mais sobre os destinos compatíveis.
- Crie configurações de conectividade privada, perfis de conexão, e streams.