Perguntas frequentes

Visão geral

Neste tópico, você encontrará respostas às perguntas frequentes sobre o uso do Datastream. Estas perguntas frequentes estão associadas a:

  • Perguntas gerais sobre Datastream e captura de dados de alteração (CDC)
  • Captura de dados de alterações (CDC, na sigla em inglês) do MySQL
  • Captura de dados de alterações Oracle (CDC)
  • Casos de uso comuns de uso do Datastream
  • Como o Datastream se integra aos serviços de dados do Google Cloud
  • Informações sobre a versão de pré-lançamento e do GA do Datastream
  • O comportamento e as limitações do Datastream
  • Segurança e conectividade
  • Processar arquivos do Datastream
  • Stream de dados de monitoramento
  • Preços
  • Informações adicionais sobre o Datastream

Perguntas gerais sobre Datastream e captura de dados de alteração (CDC)

Pergunta Answer
O que é o Datastream?

O Datastream é um serviço de replicação e replicação de dados de alteração (CDC, na sigla em inglês) sem servidor e fácil de usar que permite sincronizar fluxos de dados entre bancos de dados e aplicativos heterogêneos de forma confiável e com latência mínima. O Datastream é compatível com alterações de streaming para dados de bancos de dados Oracle e MySQL no Cloud Storage.

O serviço oferece integração simplificada com modelos do Dataflow para fornecer visualizações materializadas atualizadas no BigQuery para análise, replicar seus bancos de dados no Cloud SQL ou Cloud Spanner para sincronização de banco de dados ou aproveitar os streams diretamente do Cloud Storage para perceber arquiteturas orientadas a eventos para começar. O Datastream também se integra ao Cloud Data Fusion se você quiser criar pipelines de dados com transformações para o BigQuery.

O que é CDC?

A CDC é uma abordagem à integração de dados que permite integrar e analisar dados com mais rapidez, usando menos recursos do sistema. É um método para extrair apenas as últimas alterações (atualizações, inserções ou exclusões) de uma fonte de dados, muitas vezes lendo o registro de alterações que a fonte mantém para sua própria integridade transacional interna.

A CDC é um mecanismo altamente eficiente para limitar o impacto na origem ao carregar novos dados em armazenamentos de dados operacionais e armazenamentos de dados, e elimina a necessidade de atualização em tempo real e janelas de lote convenientes, permitindo o carregamento incremental ou o streaming em tempo real de Os dados mudam para um destino de dados.

O CDC pode ser usado em muitos casos de uso que geram valor do acesso constante às alterações de dados conforme elas ocorrem, como análises, sincronização de dados em sistemas distribuídos geograficamente e arquiteturas orientadas a eventos.

O que é o preenchimento? Além das alterações contínuas, o Datastream também usa o preenchimento para extrair todos os dados existentes de uma fonte e, em seguida, transmiti-los para um destino. Como resultado, o destino é "preenchido" com todos os dados históricos da origem.
Quais são os métodos usados pelo Datastream para fazer streaming de dados? O Datastream transmite dados de uma origem para um destino usando um destes dois métodos:
  • CDC: como capturar mudanças contínuas da origem em tempo real.
  • Backfill: fornecendo um snapshot histórico dos dados que existem em uma tabela.
O que é um stream de alterações? Um fluxo de alterações é uma sequência de eventos que o Datastream emite para um destino, como o Cloud Storage, para consumo downstream. O resultado de um fluxo de alteração sendo gravado em um destino é um conjunto de arquivos que contém eventos de registro de alterações de uma tabela de banco de dados específica durante um período. Esses eventos representam inserções, atualizações e exclusões dessa tabela na origem, e eles podem ser consumidos e processados a partir do destino por serviços como o Dataflow para arquiteturas orientadas a eventos.
O que é uma visualização materializada?

Uma visualização materializada é uma representação atualizada de um para um e atualizada de uma tabela de origem em um destino. Um exemplo desse tipo de visualização é uma tabela de banco de dados Oracle em que as alterações desta tabela são replicadas continuamente para uma tabela do BigQuery. Por isso, a tabela do BigQuery é atualizada usando as alterações transmitidas da tabela Oracle.

As visualizações materializadas utilizam streams de mudança consumindo cada evento de mudança e usando-o para atualizar a visualização materializada. O Datastream oferece visualizações materializadas em destinos como BigQuery, Cloud SQL e Cloud Spanner por meio da integração com o Dataflow, aproveitando modelos que extraim os eventos de stream de alteração do destino e atualizando as tabelas de destino de acordo.

O Datastream requer um agente na origem? Não é necessário instalar um agente na origem. O Datastream usa interfaces existentes (como o Oracle LogMiner) para extrair os dados da origem.
E o impacto de desempenho do uso do Datastream em um banco de dados de produção?

A CDC é um mecanismo altamente eficiente para limitar o impacto na origem quando novos dados são carregados em armazenamentos de dados de destino e armazenamentos de dados. A CDC também elimina a necessidade de atualização em massa e janelas de lotes convenientes, permitindo o carregamento incremental ou o streaming em tempo real de alterações de dados em um destino.

Além disso, o Datastream minimiza o impacto de um preenchimento inicial, limitando o número de tarefas de preenchimento simultâneas e oferecendo a você o controle para decidir quais objetos preencher e quando voltar.

É possível copiar os arquivos de registros da origem para o Google Cloud? Não. O Datastream consulta os registros diretamente no servidor de banco de dados e somente as alterações nas tabelas especificadas são gravadas no destino.
O Datastream também pode transferir dados históricos? Sim. Por padrão, o Datastream recebe todos os dados históricos das tabelas do banco de dados da sua fonte que você especificar, em paralelo ao fluxo de CDC. O Datastream oferece a flexibilidade de conseguir dados históricos de algumas ou todas as tabelas do banco de dados na sua fonte. Além disso, ao configurar a transmissão, você pode desativar o preenchimento histórico.
Qual é o tamanho máximo da linha compatível com o Datastream? No momento, o Datastream é limitado a linhas com até 3 MB.
O Datastream garante a ordem? O Datastream não garante a ordenação. Ele fornece metadados adicionais em cada evento, que podem ser usados para garantir consistência posterior no bucket de destino. Dependendo da origem, da taxa e da frequência das mudanças e de outros parâmetros, a consistência eventual pode ser alcançada em uma janela de uma hora, em geral.
O Datastream garante a entrega única? Não. O Datastream é enviado pelo menos uma vez. Os metadados adicionais que o Datastream grava em cada evento podem ser usados para remover dados duplicados.
Como o Datastream lida com alterações de esquema em uma fonte? O Datastream busca o esquema da origem periodicamente. No entanto, entre as buscas de esquema, algumas alterações de esquema podem não ser detectadas e causar discrepâncias de dados. Planejamos capturar os eventos da linguagem de definição de dados em tempo real, o que resolve essa limitação atual.
Você lida com bancos de dados criptografados? Sim.
O Datastream pode fazer streaming de tabelas e colunas específicas de uma fonte? Sim. Com o Datastream, você pode especificar listas de inclusão e exclusão para tabelas e esquemas, para transmitir somente os dados que você quer de uma origem para um destino. É possível excluir colunas específicas das tabelas para ajustar ainda mais os dados que você quer transmitir. No entanto, não é possível replicar as visualizações materializadas.
Como mover um stream para outro projeto ou região?
  1. Crie um stream em uma nova região ou projeto com a mesma configuração do stream existente, mas não marque a caixa de seleção Dados de preenchimento de preenchimento.
  2. Inicie o stream que você criou.
  3. Depois que o stream que você criou tiver o status RUNNING, pause o stream existente.
  4. Como alternativa, modifique o novo stream marcando a caixa de seleção Preencher dados históricos. Os dados existentes nas tabelas adicionadas ao stream no futuro serão transmitidos da origem para o destino.

Captura de dados de alterações (CDC, na sigla em inglês) do MySQL

Pergunta Answer
Como o Datastream retira dados do MySQL? O Datastream usa o registro binário do MySQL para extrair os eventos de alteração do MySQL.

Captura de dados de alterações Oracle (CDC)

Pergunta Answer
Como o Datastream retira dados do Oracle? O Datastream usa o Oracle LogMiner para extrair os dados dos registros de redo Oracle da Oracle.
O Datastream requer uma licença GoldenGate do Oracle? Não. O Datastream usa o Oracle LogMiner para ler os dados dos registros de redo do banco de dados.
O que acontece quando o Oracle LogMiner não é mais compatível? A Oracle será compatível com versões futuras. Por enquanto, o Oracle LogMiner ainda está disponível em todas as versões do Oracle com disponibilidade geral.
O Datastream é compatível com arquitetura multilocatário Oracle, especificamente bancos de dados de contêineres (CDBs, na sigla em inglês) e bancos de dados plugáveis (PDBs, na sigla em inglês)? O Datastream ainda não é compatível com CDBs e PDBs, mas sim no nosso roteiro.

Casos de uso

Pergunta Answer
Quais são alguns dos casos de uso comuns do Datastream?

O Datastream é um serviço de replicação e replicação C, o que significa que ele é flexível em vários casos de uso que podem se beneficiar do acesso ao streaming contínuo de dados de alterações. Os casos de uso mais comuns do Datastream, em ordem de comum, são:

  1. Analytics: ao integrar o Datastream com modelos do Dataflow para carregar dados no BigQuery, você pode ver visualizações materializadas atualizadas dos dados de origem no BigQuery. Use esses dados atualizados continuamente para criar painéis atualizados para os dados. Isso pode ser usado, por exemplo, para monitorar seus sistemas e para gerar insights atualizados sobre o estado da sua empresa.
  2. Cenários de replicação e sincronização de banco de dados: ao integrar o Datastream com modelos do Dataflow para carregar dados no Cloud SQL ou no Cloud Spanner, você pode ter visualizações materializadas atualizadas dos dados de origem nesses bancos de dados. Use esses dados atualizados continuamente nos bancos de dados para uma migração de banco de dados de inatividade lenta da origem para o destino ou para configurações de nuvem híbrida, onde a origem e o destino residir em ambientes de hospedagem diferentes.
  3. Arquiteturas orientadas a eventos: arquiteturas modernas baseadas em microsserviços dependem de hubs de dados que são atualizados com eventos de toda a organização para serem orientados a eventos. Ao gravar dados de eventos continuamente em destinos como o Cloud Storage, é possível criar arquiteturas orientadas a eventos com base no consumo de dados de eventos desses destinos.

Integrações

Pergunta Answer
Como o Datastream se integra aos serviços de dados do Google Cloud?

O Datastream complementa e aprimora o pacote de dados do Google Cloud ao fornecer a replicação de dados de CDC de fontes para vários serviços do Google Cloud. Ao se integrar perfeitamente a esses serviços, o Datastream se encaixa no ecossistema maior do Google Cloud.

O Datastream se integra aos seguintes serviços de dados:

  • Dataflow: o Datastream se integra ao Dataflow por meio de modelos do Dataflow. Esses modelos leem dados do Cloud Storage e carregam esses dados no BigQuery, no Cloud SQL para PostgreSQL ou no Cloud Spanner. O objetivo desses modelos é manter visualizações materializadas atualizadas das tabelas de origem replicadas nos destinos. Os modelos estão disponíveis na IU do Dataflow e são criados para arquivos gerados pelo Datastream para facilitar o processamento pronto para uso.
  • Cloud Data Fusion: o Datastream se integra ao Cloud Data Fusion por meio de um conector Oracle como recurso de replicação do Cloud Data Fusion. É possível criar uma origem Oracle de replicação que o Datastream "capacita" em segundo plano de forma transparente para criar um pipeline de dados com facilidade. Esse pipeline inclui transformações avançadas para os dados do Oracle transmitidos pelo Datastream para o Cloud Data Fusion.
  • Cloud Storage: o Datastream se integra ao Cloud Storage por meio de gravação como um destino de streaming de alterações.
  • Cloud SQL, Cloud Spanner e BigQuery: o Datastream se integra a esses bancos de dados de destino. O uso de modelos do Dataflow permite manter visualizações materializadas atualizadas nos bancos de dados.

Visualização e GA

Pergunta Answer
Quando as versões de visualização e de disponibilidade do Datastream estarão disponíveis? A versão de visualização do Datastream está disponível no momento. A versão do GA estará disponível ainda este ano.
Quais origens e destinos são compatíveis com o Datastream para visualização?
  • Fontes: o Datastream é compatível com dados de streaming de origens Oracle e MySQL, hospedados na nuvem e autogerenciados. Para mais informações sobre a compatibilidade com fontes, consulte Comportamento e limitações.
  • Destinos: o Datastream é compatível com gravações de dados em arquivos transmitidos para o Cloud Storage. Você pode usar modelos do Dataflow para transferir esses dados do Cloud Storage para o BigQuery, o Cloud Spanner e o Cloud SQL para PostgreSQL.
Quais origens e destinos são compatíveis com o Datastream para GA? O Datastream será compatível com as mesmas origens e destinos que o Google Analytics para visualização.
O Datastream consegue gerenciar bancos de dados criptografados? Sim.
O que é a disponibilidade regional do Datastream?

Para ver uma lista das regiões em que o Datastream está disponível, consulte Listas de permissões e regiões de IP.

No GA, o Datastream será disponibilizado em todas as regiões.

Comportamento e limitações

Pergunta Answer
Quais versões de origem são compatíveis com o Datastream?

No MySQL, o Datastream é compatível com as versões 5.6, 5.7 e 8.0. Qualquer banco de dados compatível com MySQL é aceito, incluindo, entre outros:

  • Um banco de dados auto-hospedado, seja no local ou em qualquer provedor de nuvem
  • Cloud SQL para MySQL
  • MySQL RDS AWS e Aurora MySQL
  • MariaDB
  • Cloud StorageDB da Alibaba
  • Servidor Percona para MySQL

Para Oracle, o Datastream é compatível com as versões 11g Release 2, 12c Release 2, 18c e 19c (não RAC na configuração do SCAN, CDB/PDB ou Database autônomo). Qualquer banco de dados compatível com Oracle é aceito, incluindo, entre outros:

  • Um banco de dados auto-hospedado, local ou em qualquer provedor de nuvem
  • RDS da AWS
  • Oracle Cloud
Como o Datastream extrai dados das fontes?

No MySQL, o Datastream processa o registro binário do MySQL para extrair os eventos de alteração.

Para Oracle, o Datastream usa LogMiner e configurações de registro complementares para extrair dados dos registros de redo Oracle.

É possível copiar arquivos de registros diretamente de uma origem para o Google Cloud? O Datastream não copia todos os arquivos de registros, mas consulta os arquivos de registros diretamente do servidor do banco de dados e só replica as alterações das tabelas especificadas para o destino.
Para fontes Oracle, o Datastream requer uma licença GoldenGate? O Datastream não requer uma licença GoldenGate porque usa o Oracle LogMiner para ler os dados dos registros de redo do banco de dados.
O que acontece quando o Oracle LogMiner não será compatível com as versões mais recentes? O suporte do LogMiner foi removido para Oracle Oracle ou versões posteriores. Portanto, as origens Oracle antes dessa versão poderão continuar usando o LogMiner com o Datastream de forma segura.
Quais são as limitações dos dados que o Datastream pode processar?

Há limitações gerais, limitações para origens do MySQL e limitações para origens Oracle.

Veja as limitações gerais:

  • Capacidade: aproximadamente 5 MBPS com um limite máximo de 3 MB para linhas.
  • Algumas operações de linguagem de definição de dados (DDL) não são compatíveis durante a replicação, incluindo:
    • Como descartar uma coluna do meio de uma tabela. Isso pode causar uma discrepância de dados porque os valores estão associados à coluna errada.
    • alterar o tipo de dados de uma coluna; Isso pode causar uma discrepância de dados, porque os dados não são mapeados corretamente para o tipo unificado de Datastream correto e os dados podem ser corrompidos.
    • As exclusões em cascata são ignoradas.
    • O truncamento da tabela é ignorado.

As limitações do MySQL incluem preenchimento não compatível com tabelas que não têm uma chave primária e têm mais de 100 GB.

Limitações da Oracle:

  • Compatibilidade com colunas:
    • Alguns tipos de dados não são compatíveis e são replicados com valores NULL. Esses tipos de dados incluem tipos de dados abstratos (ADT), ANYDATA, coleções (VARRAY), BLOB/CLOB/LOB/NCLOB, LONG, UDT, UROWID e XMLType.
  • Recursos Oracle incompatíveis:
    • Tabelas externas
    • Links do banco de dados (dblinks)
    • Tabelas somente índices (IOTs)
    • A segurança de rótulos Oracle (OLS) não é replicada.
  • O preenchimento não é compatível com tabelas maiores que 100 GB.

Quais dados estão incluídos em todos os eventos gerados pelo Datastream? Cada evento gerado (para inserções, atualizações e exclusões) inclui toda a linha de dados da origem, com o tipo de dados e o valor de cada coluna. Cada evento também inclui metadados de evento que podem ser usados para estabelecer ordens e garantir a entrega única.
O Datastream garante a ordem? O Datastream não garante a ordenação, mas fornece metadados adicionais para cada evento. Esses metadados podem ser usados para garantir a consistência eventual no destino. Dependendo da origem, da taxa e da frequência das mudanças e de outros parâmetros, a consistência eventual geralmente pode ser alcançada em uma janela de uma hora.
O Datastream garante a entrega única? O Datastream é enviado pelo menos uma vez. Você pode eliminar dados duplicados usando metadados adicionais que o Datastream grava em cada evento.
Como o Datastream representa tipos de dados da fonte para uso no processamento downstream?

O Datastream facilita o processamento de dados downstream em fontes de dados, simplificando os tipos de dados em todas as fontes. O Datastream usa o tipo de dados de origem original (por exemplo, um tipo NUMERIC de MySQL ou um tipo Oracle NUMBER) e o normaliza em um tipo unificado do Datastream.

Os tipos unificados representam um superconjunto sem perdas de todos os tipos de fonte. A normalização significa que os dados de diferentes fontes podem ser processados facilmente e consultados de forma independente.

Se um sistema downstream precisar saber o tipo de dados de origem, isso poderá ser feito por meio de uma chamada de API para o registro de esquema do Datastream. Esse registro armazena esquemas atualizados e com controle de versão para cada fonte de dados. A API Log Registry também permite uma resolução rápida de deslocamento de esquema downstream, porque os esquemas do banco de dados de origem são alterados.

Como o Datastream lida com as alterações de estrutura (esquema) na fonte? O Datastream rastreia as mudanças na estrutura de dados de origem continuamente. Os esquemas são armazenados no registro de esquema do Datastream e cada evento faz referência ao esquema no momento em que foi gerado. Isso permite que o Datastream, ou outros processos downstream, acompanhem as alterações de esquema em tempo real e se ajustem com base nessas alterações, garantindo que todos os dados sejam transmitidos e carregados no destino corretamente.

Segurança e conectividade

Pergunta Answer
O Datastream é um serviço seguro para dados confidenciais? O Datastream é compatível com diversas configurações de conectividade privada para proteger os dados em trânsito durante a transmissão a partir de uma origem para um destino. Depois que os dados são replicados, eles são criptografados, por padrão, e aproveitam os controles de segurança do Cloud Storage. Todos os dados armazenados em buffer pelo Datastream são criptografados em repouso.
Quais opções de conectividade estão disponíveis para conectar suas fontes ao Datastream?

Há três tipos de métodos de conectividade que podem ser configurados:

  • Lista de permissões de IPs: esse método oferece conectividade pública com a listagem dos endereços IP regionais do Datastream na origem. Quando você cria seu stream, o Datastream exibe esses endereços IP na IU.
  • Túnel SSH encaminhado: esse método oferece conectividade segura em redes públicas com um Bastion Host configurado pelo cliente, além de permitir a listagem de endereços IP regionais.
  • Conectividade privada por meio de peering de VPC: use este método para se conectar aos bancos de dados hospedados no Google Cloud pela rede interna do Google Cloud ou use uma VPN ou uma interconexão existente e estabelece um peering de VPC entre a rede privada do Datastream e o Google da sua organização. Cloud VPC
Como posso limitar o processamento de dados confidenciais do Datastream?

O Datastream permite especificar quais elementos de dados específicos (esquemas, tabelas e colunas) da sua origem precisam ser transmitidos para um destino e quais elementos você quer excluir.

Os registros do banco de dados podem conter dados de alterações de elementos que foram excluídos na definição do stream. Como não é possível filtrar esses elementos na origem, o Datastream lê, mas ignora os dados associados aos elementos.

Processar arquivos do Datastream

Pergunta Answer
Como os arquivos são criados no Cloud Storage? O Datastream cria uma pasta para cada tabela. Em cada pasta, o Datastream gira o arquivo (ou cria um novo) sempre que atinge o limite de tamanho ou tempo definido pelo usuário. O Datastream também gira o arquivo sempre que uma alteração de esquema é detectada. O nome do arquivo será composto por uma chave de esquema exclusiva (com base em um hash do esquema), seguida pelo carimbo de data/hora do primeiro evento no arquivo. Por motivos de segurança, esses nomes de arquivo não devem ser lidos ou entendidos pelas pessoas.
Se os dados no Cloud Storage não forem ordenados, como os eventos poderão ser reordenados antes do carregamento no destino? Cada evento contém vários campos de metadados que identificam exclusivamente a linha no registro Oracle Redo. Veja algumas condições específicas:
  • rs_id, que é composto por três valores (por exemplo, 0x0073c9.000a4e4c.01d0). O rs_id identifica o registro de maneira exclusiva no registro para refazer.
  • ssn, que é usado quando o registro no registro de reinício é muito longo. Por isso, o Oracle LogMiner divide o registro em várias linhas.
Para classificar os eventos, é preciso classificar por cada parte do rs_id e pelo ssn.
Se vários arquivos forem criados para o mesmo carimbo de data/hora, em que ordem eles serão processados? Como a ordenação dentro e entre os arquivos não é garantida, a melhor maneira de determinar a ordem de processamento dos arquivos é obter todos os eventos de todos os arquivos para o carimbo de data/hora específico e aplicar a ordem usando o método mencionado acima.
Como as principais atualizações de chave são processadas? Há informações antes e depois do evento? O campo de metadados row_id identifica exclusivamente a linha que está sendo alterada. Para garantir a integridade dos dados, consolide os dados com base no valor associado ao campo row_id, em vez de depender da chave primária.

Monitorar o Datastream

Pergunta Answer
Como saber quando todos os meus dados históricos foram copiados para o bucket de destino do Cloud Storage? O Datastream fornece informações sobre o status atual dos arquivos de registros. Uma entrada de registro é criada para indicar quando uma tabela é preenchida.

Preços

Pergunta Answer
Como é o preço do Datastream?

O fluxo de dados é determinado com base no volume (GB) dos dados transmitidos de sua origem para um destino.

Saiba mais sobre os preços de Datastream em Preços.

Como é calculado o tamanho dos dados? O faturamento é calculado com base no tamanho de dados bruto (não compactado) que é transmitido da origem para o destino. O Datastream cobra somente pelos dados que são transmitidos no destino.
Se você usa o Datastream com o Dataflow ou o Cloud Data Fusion, o que você paga? Cada serviço é cobrado e cobrado separadamente.

Mais informações

Pergunta Answer
E se eu tiver mais dúvidas ou problemas com o Datastream? A equipe de suporte do Google pode oferecer suporte se você tiver problemas para usar o Datastream. Além disso, o guia de solução de problemas lida com os problemas comuns que você pode enfrentar ao usar o Datastream.