Comportamento e exemplos de utilização
O Datastream permite que os utilizadores transfiram dados de origem de um sistema de gestão de bases de dados relacionais (RDBMS) e outras origens para destinos como o BigQuery, as tabelas Iceberg do BigLake e o Cloud Storage quase em tempo real. Isto permite casos de utilização a jusante, como carregar os dados para o BigQuery para armazenamento de dados e estatísticas, ou executar tarefas do Spark sobre os dados para casos de utilização de inteligência artificial e aprendizagem automática.
Conceitos
Esta secção descreve os principais conceitos que tem de compreender para usar o fluxo de dados de forma eficaz.
Alterar captura de dados
A captura de dados de alterações (CDC) é um conjunto de padrões de design de software usado para determinar (e acompanhar) os dados que foram alterados, para que se possam tomar medidas com os dados alterados. O CDC também é uma abordagem à integração de dados baseada na identificação, captura e entrega das alterações feitas às origens de dados empresariais.
Event sourcing
Introduzido em 2005, o event sourcing é um padrão de design em que cada alteração ao estado de uma aplicação é captada num objeto de evento. Através da utilização da origem de eventos, uma aplicação pode reconstruir o respetivo estado, realizar uma recuperação num determinado momento (processando o evento até esse momento), recalcular o estado em caso de alteração na lógica ou ativar a conceção de segregação de responsabilidade de consulta de comando (CQRS). Com a evolução das ferramentas para o processamento de eventos em tempo real, muitas aplicações estão a mudar para o modelo de origem de eventos. Historicamente, as bases de dados transacionais foram sempre orientadas para eventos, devido aos requisitos de atomicidade, consistência, isolamento e durabilidade (ACID).
Bases de dados transacionais
Numa base de dados transacional, o conjunto de operações que a base de dados vai realizar é normalmente escrito num registo de escrita antecipada (WAL) antes de quaisquer operações serem executadas no motor de armazenamento. Depois de uma operação ser executada no motor de armazenamento e ser confirmada no WAL, a operação é considerada bem-sucedida. A utilização do WAL permite a atomicidade e a durabilidade, e também permite a replicação de alta fidelidade da base de dados. Algumas bases de dados escrevem no registo a operação exata que vai ocorrer ao nível do armazenamento (por exemplo, write 0x41 on location 20
), pelo que essas ações só podem ser replicadas (ou refeitas) no mesmo motor de armazenamento. Outras bases de dados registam uma declaração lógica completa (ou uma linha) que pode ser reexecutada num motor de armazenamento diferente.
Eventos e streams
O fluxo de dados carrega muitos dados quase em tempo real a partir de várias origens e disponibiliza os dados para consumo no destino. A unidade de dados armazenada pelo Datastream é um evento. Uma stream representa o carregamento contínuo de eventos a partir de uma origem e a respetiva gravação num destino.
Tipos unificados
As origens de dados têm os seus próprios tipos, alguns específicos da própria base de dados e outros genéricos e partilhados entre bases de dados. Uma vez que existem muitas origens diferentes que geram streams para um destino unificado, tem de existir uma forma padrão e unificada de representar o tipo de origem original em todas as origens. O tipo unificado é uma forma comum e sem perdas de representar tipos de dados em todas as origens para que possam ser consumidos de forma coesa. Os tipos unificados suportados pelo Datastream representam o superconjunto de todos os tipos normalizados em todos os sistemas de origem suportados, para que todos os tipos possam ser suportados sem perdas.
Contexto da entidade
A stream de dados tem cinco entidades:
- As configurações de conetividade privada permitem que o Datastream comunique com origens de dados através de uma ligação de rede privada e segura. Esta comunicação ocorre através do intercâmbio da nuvem virtual privada (VPC).
- Os perfis de associação representam informações de conetividade a uma base de dados de origem ou de destino específica.
- As transmissões em fluxo contínuo representam um par de perfis de ligação de origem e destino, juntamente com definições específicas da transmissão em fluxo contínuo.
- Os objetos representam uma subparte de uma stream. Por exemplo, uma stream de base de dados tem um objeto de dados para cada tabela que está a ser transmitida.
- Os eventos representam todas as alterações da linguagem de manipulação de dados (DML) para um objeto específico.
Depois de criar uma configuração de conectividade privada, pode estabelecer ligação a origens alojadas no Google Cloud Google Cloud ou noutro local através de um canal de comunicação privado. A conetividade privada é opcional. O fluxo de dados também suporta outros modos de conetividade através de redes públicas.
Depois de criar um perfil de associação para uma origem e um destino, pode criar streams que usam as informações armazenadas nos perfis de associação para transferir dados da origem para o destino.
Depois de criar uma stream, o Datastream liga-se diretamente à origem, consome conteúdo e, em seguida, processa e escreve os eventos no destino com base na estrutura de eventos.
As configurações de conetividade privada e os perfis de ligação podem ser geridos separadamente dos streams para reutilização.
Funcionalidades
As funcionalidades do fluxo de dados incluem:
- Sem servidor: pode configurar uma stream e os dados começam a ser movidos. Não existem custos gerais de instalação, atribuição de recursos nem manutenção. À medida que os volumes de dados aumentam e diminuem, as capacidades de escala automática do Datastream atribuem recursos para manter os dados em movimento quase em tempo real, automaticamente.
- Esquema de tipos unificado baseado em Avro: o Datastream permite o processamento independente da origem convertendo todos os tipos de dados específicos da origem num esquema de tipos do Datastream unificado, com base em tipos Avro.
- Transmita dados do histórico e de CDC: o Datastream transmite dados de origem do histórico e de CDC quase em tempo real, em simultâneo.
CDC da Oracle sem licenças adicionais: o Datastream oferece streaming de CDC baseado no LogMiner a partir de qualquer versão de origem da Oracle 11.2g e posterior, sem necessidade de pagar licenças adicionais ou instalações de software.
Destino do BigQuery: as alterações na origem são replicadas continuamente para tabelas do BigQuery em tempo quase real. Os dados no BigQuery ficam disponíveis quase imediatamente para análise.
Destino do Cloud Storage: os dados de CDC são escritos continuamente em ficheiros Avro ou JSON autodescritivos no Cloud Storage. Estas informações são consumíveis para processamento adicional, diretamente no local ou através do carregamento a jusante para outro destino, como o Spanner.
Exemplos de utilização
Existem três cenários principais para usar o fluxo de dados:
- Integração de dados: os fluxos de dados de bases de dados e serviços na nuvem de software como serviço (SaaS) podem alimentar um pipeline de integração de dados quase em tempo real carregando dados no BigQuery.
- Estatísticas de streaming: as alterações nas bases de dados são carregadas em pipelines de streaming, como o Dataflow, para deteção de fraudes, processamento de eventos de segurança e deteção de anomalias.
- Disponibilidade de alterações de dados quase em tempo real: a disponibilidade de alterações de dados quase em tempo real permite que as aplicações de inteligência artificial e aprendizagem automática evitem a rotatividade ou aumentem a interação através de esforços de marketing ou de feedback nos sistemas de produção.
Vista geral de comportamento
O fluxo de dados permite que os clientes transmitam alterações contínuas de várias origens de dados diretamente para o Google Cloud.
Fontes
- É necessário trabalho de configuração para usar uma origem com o Datastream, incluindo a autenticação e opções de configuração adicionais.
- Cada origem gera eventos que refletem todas as alterações da linguagem de manipulação de dados (DML).
- Cada stream pode preencher dados do histórico, bem como transmitir alterações contínuas para o destino.
Destinos
O Datastream suporta o BigQuery e o Cloud Storage como destinos. Quando a stream é criada, os conjuntos de dados do BigQuery ou o contentor do Cloud Storage selecionados são definidos.
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 quaisquer dados duplicados no destino.
- O tamanho do evento está 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 o artigo Eventos e streams.
Alta disponibilidade e recuperação de desastres
Esta secção contém informações sobre como o Datastream processa cenários associados à elevada disponibilidade e à recuperação de desastres.
Elevada 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 nem a qualidade do serviço noutras zonas.
Recuperação de desastres: se ocorrer uma falha numa região, todas as streams em execução nessa região ficam indisponíveis durante a duração da indisponibilidade. Depois de a interrupção ser resolvida, o fluxo de dados continua exatamente onde parou, e todos os dados que não foram escritos no destino são novamente obtidos a partir da origem. Neste caso, podem existir duplicados de dados no destino. Consulte o artigo Entrega de eventos para mais informações sobre como remover os dados duplicados.
Dados iniciais e dados do CDC
Uma vez que as origens de dados têm dados que existiam antes da altura em que a origem foi associada a uma stream (dados do histórico), a stream de dados gera eventos a partir dos dados do histórico e das alterações de dados que ocorrem em tempo real.
Para garantir um acesso rápido aos dados, os dados do histórico e as alterações aos dados em tempo real são replicados simultaneamente para o destino. Os metadados do evento indicam se esse evento é do preenchimento ou do CDC.
O que se segue?
- Saiba mais sobre o Datastream.
- Saiba mais sobre eventos e streams.
- Saiba mais sobre os mapeamentos de tipos unificados.
- Saiba mais sobre as origens suportadas pelo Datastream.
- Saiba mais acerca dos destinos suportados pelo Datastream.
- Saiba como criar configurações de conetividade privada, perfis de associação e streams.