Principais conceitos e recursos

Comportamento e casos de uso

O Datastream oferece aos usuários a capacidade de trazer dados de origem de um sistema de gerenciamento de banco de dados relacional (RDBMS) e outras fontes para destinos como o BigQuery e o Cloud Storage quase em tempo real. Isso oferece casos de uso downstream, como carregar os dados no BigQuery para armazenamento e análise de dados ou executar jobs do Spark sobre os dados para 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 muitos dados quase em tempo real de várias fontes e os disponibiliza 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. À medida que os volumes de dados aumentam e diminuem, os recursos de escalonamento automático do Datastream alocam recursos para manter os dados em movimento quase 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.
  • Fazer streaming de dados históricos e de CDC:o Datastream transmite dados de origem históricos e de CDC quase em tempo real, simultaneamente.
  • 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 BigQuery: as alterações na origem são replicadas continuamente nas tabelas do BigQuery quase em tempo real. Os dados no BigQuery ficam disponíveis quase imediatamente para análise.

  • 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 downstream para outro destino, como o Spanner.

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 usando o Dataflow ou o 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 mudanças de dados: a disponibilidade de mudanças de dados quase em tempo real impulsiona os aplicativos de inteligência artificial e machine learning para evitar a desistência ou aumentar o engajamento usando iniciativas de marketing ou feeds de sistemas de produção.

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.

Destinos

O Datastream oferece suporte ao BigQuery e ao Cloud Storage como destinos. Quando o stream é criado, os conjuntos de dados do BigQuery ou o bucket do Cloud Storage desejados são definidos.

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 é limitado a 20 MB por evento para destinos do BigQuery e a 30 MB por evento para destinos do Cloud Storage.

Para saber mais sobre eventos, consulte Eventos e streams.

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 têm dados que já existiam antes de serem conectadas a um fluxo (dados históricos), o Datastream gera eventos com base nos dados históricos e nas mudanças de dados 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.