Visão geral do comportamento

Comportamento e casos de uso

O Datastream permite que os usuários tragam dados de origem de um sistema de gerenciamento de banco de dados relacional (RDBMS, na sigla em inglês) e de outras origens para destinos, como o Cloud Storage, quase em tempo real. Isso possibilita casos de uso downstream, como no carregamento de dados no BigQuery para armazenamento de dados e criação de data lakes, ou a execução de jobs do Spark nos dados de casos de uso de inteligência artificial e machine learning.

Conceitos

Captura de dados alterados

A captura de dados de alterações (CDC, na sigla em inglês) é um conjunto de padrões de design de software usados para determinar e rastrear os dados que foram alterados. Assim, é possível realizar uma ação com os dados alterados. 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

Lançado em 2005, a origem do evento é um padrão de design em que cada alteração no estado de um aplicativo é capturada em um objeto de evento. Com o recurso de geração de eventos, um aplicativo pode recriar facilmente seu estado, realizar a recuperação pontual (processando o evento até esse ponto), recomputar o estado em caso de uma mudança de lógica ou ativar Design 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 estão migrando para o modelo de geração de eventos. Historicamente, os bancos de dados transacionais eram sempre orientados por eventos, devido 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 realizará geralmente é gravado em um registro de gravação antecipada (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, a operação é considerada bem-sucedida. O uso de WAL permite atomicidade e durabilidade, além de permitir a replicação de alta fidelidade do banco de dados. Alguns bancos de dados gravarão no registro a operação exata que ocorrerá no nível de armazenamento (por exemplo, write 0x41 on location 20) para que essas ações só possam ser replicadas (ou refeitas) no mesmo mecanismo de armazenamento. Outros bancos de dados registrarão 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 uma grande quantidade de dados 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 têm os próprios tipos, alguns específicos do próprio banco de dados, outros genéricos e compartilhados entre eles. Como há muitas fontes diferentes que geram streams para um destino unificado, é necessário haver uma maneira unificada padrão de representar o tipo de origem original em todas as origens. O tipo unificado é uma maneira comum e sem perdas de representar tipos de dados em todas as origens para que possam ser consumidos de maneira coesa. Os tipos unificados compatíveis com o Datastream representam o superconjunto de todos os tipos normalizados em todos os sistemas de origem compatíveis para que todos os tipos sejam compatíveis com perdas.

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 acontece por meio do peering de nuvem privada virtual (VPC).
  • Os perfis de conexão representam as informações de conectividade com 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 subporção 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 configuração de conectividade privada, você pode se conectar a fontes hospedadas no 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 os eventos no destino com base na estrutura do evento.

As configurações de conectividade privada e os perfis de conexão podem ser gerenciados separadamente dos streams para facilitar a reutilização e, com frequência, nas empresas, é possível que a pessoa que estabelece a conectividade com uma origem ou destino não seja a mesma pessoa que está criando o stream.

Recursos

Veja alguns recursos do Datastream:

  • Sem servidor: é possível configurar um fluxo, e os dados começam a ser movidos. Não há sobrecarga de instalação, alocação de recursos ou manutenção. Com o crescimento e a redução dos volumes de dados, os recursos de escalonamento automático do Datastream alocam recursos para manter os dados em movimento em tempo real automaticamente.
  • Esquema unificado de tipo baseado em Avro:o Datastream permite o processamento simples e 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: transmite simultaneamente dados históricos e de origem do CDC 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.2g ou mais recente, sem a necessidade de pagar por licenças ou instalações de software adicionais.
  • Destino do Cloud Storage: os dados do CDC são gravados automaticamente nos arquivos Avro ou JSON autodescritivos no Cloud Storage. Essas informações podem ser facilmente consumidas para processamento adicional, seja diretamente no local ou carregando em outro destino, como o BigQuery.

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 as a Service (SaaS) podem alimentar um pipeline de integração de dados quase em tempo real carregando dados no BigQuery via Dataflow ou Cloud Data Fusion.
  • Análise de streaming: alterações nos bancos de dados são ingeridas em pipelines de streaming, como o Dataflow para detecção de fraudes, processamento de eventos 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 em tempo quase 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. de dados.

Visão geral do comportamento

Com o Datastream, os clientes podem fazer streaming de alterações contínuas de várias fontes diretamente no Google Cloud.

Fontes

  • Há trabalho de configuração necessário para que uma fonte seja usada com o Datastream, incluindo opções de autenticação e de configuração adicional.
  • Cada origem gera eventos que refletem todas as alterações na linguagem de manipulação de dados (DML).
  • Cada fluxo pode preencher dados históricos, bem como fazer alterações contínuas no destino.

Destino

O Datastream é compatível com o Cloud Storage como o destino. Quando o stream é criado, o bucket do Cloud Storage desejado é definido.

Entrega de eventos

  • A ordem do evento 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 3 MB por evento.

Para saber mais sobre eventos, consulte Eventos e streams.

Desempenho

  • O Datastream garante uma capacidade de pelo menos 5 MB por segundo (ou 5 mil eventos por segundo a 1K por evento), mas a capacidade pode variar de acordo com a fonte.
  • A latência do serviço de ponta a ponta, desde a leitura dos dados na origem até o streaming no destino no Cloud Storage, é inferior a 120 segundos (ao usar as configurações de stream padrão).

Alta disponibilidade e recuperação de desastres

Esta seção contém informações sobre como o Datastream lida com cenários associados à alta disponibilidade e recuperação de desastres.

  • 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 afetará 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 serão interrompidos durante a interrupção. Depois que a interrupção for resolvida, o Datastream continuará exatamente de onde parou, e todos os dados que não foram gravados no destino serão recuperados novamente da origem. Nesse caso, cópias de dados podem residir no destino. Consulte Envio de eventos para mais informações sobre como remover dados duplicados.

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 esse evento é do preenchimento ou do CDC.