Perguntas frequentes

Visão geral

Neste tópico, você encontrará respostas para as perguntas frequentes sobre como usar o Datastream. Estas perguntas frequentes estão associadas a:

  • Perguntas gerais sobre o Datastream e a captura de dados de alterações (CDC)
  • Captura de dados de alteração (CDC, na sigla em inglês) do MySQL
  • Captura de dados de alteração (CDC, na sigla em inglês) da Oracle
  • Casos de uso comuns do Datastream
  • Como o Datastream se integra aos serviços de dados do Google Cloud
  • Origens e destinos compatíveis com o Datastream
  • O comportamento e as limitações do Datastream
  • Segurança e conectividade
  • Como processar arquivos do Datastream
  • Como monitorar o Datastream
  • Preços
  • Informações adicionais sobre o Datastream

Perguntas gerais sobre o Datastream e a captura de dados de alterações (CDC)

Pergunta Resposta
O que é o Datastream?

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

O serviço oferece integração simplificada com modelos do Dataflow para potencializar visualizações materializadas atualizadas no BigQuery para análise, replicar os bancos de dados no Cloud SQL ou Cloud Spanner para sincronização de bancos de dados ou aproveitar os streams diretamente do Cloud Storage para realizar arquiteturas orientadas a eventos de dados. 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 é o CDC?

O CDC é uma abordagem de integração de dados que permite integrar e analisar dados mais rapidamente, usando menos recursos do sistema. É um método para extrair apenas as alterações mais recentes (atualizações, inserções ou exclusões) de uma fonte de dados, geralmente lendo o registro de alterações que a fonte mantém para a própria integridade transacional interna.

O CDC é um mecanismo altamente eficiente para limitar o impacto na fonte ao carregar novos dados em armazenamentos e armazenamentos de dados operacionais. Ele elimina a necessidade de atualização em massa e janelas em lote inconvenientes, permitindo o carregamento incremental ou o streaming em tempo real. mudanças de dados em um destino de dados.

Os CDC podem ser usados em muitos casos de uso que derivam de valor do acesso constante às mudanças de dados conforme elas acontecem, como análises, sincronização de dados em sistemas distribuídos geograficamente e arquiteturas orientadas a eventos.

O que é preenchimento? Além das alterações em andamento, o Datastream também usa o preenchimento para extrair todos os dados existentes de uma origem e, em seguida, enviá-los para um destino. Como resultado, o destino é "preenchimento" com todos os dados históricos da origem.
Quais são os métodos usados pelo Datastream para fazer streaming de dados? O fluxo de dados transmite dados de uma origem para um destino usando um destes dois métodos:
  • CDC: captura de alterações contínuas da origem em tempo real.
  • Preenchimento: fornecimento de um instantâneo histórico dos dados que existe 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 stream de alterações 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 da tabela para a tabela. Os eventos podem ser consumidos e processados posteriormente no 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 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 dessa tabela são replicadas continuamente para uma tabela do BigQuery. Como resultado, a tabela do BigQuery fica atualizada usando as alterações transmitidas da tabela da Oracle.

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

O Datastream requer um agente na origem? Você não precisa instalar um agente na origem. O Datastream usa interfaces existentes (como o Oracle LogMiner) para extrair os dados da origem.
E o impacto do desempenho sobre o uso do Datastream em um banco de dados de produção?

O CDC é um mecanismo altamente eficiente para limitar o impacto na fonte quando novos dados são carregados em armazenamentos e armazenamentos de dados de destino. O CDC também elimina a necessidade de atualização em massa e janelas de lote inconvenientes, permitindo carregamento incremental ou streaming de dados em tempo real para 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 fazer o backfiil.

É 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 apenas as mudanças 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 de banco de dados da fonte que você especificou, em paralelo ao stream do CDC. O Datastream oferece flexibilidade para conseguir dados históricos de algumas ou todas as tabelas de banco de dados na sua origem. Além disso, ao configurar sua transmissão, você pode desativar o preenchimento histórico.
Qual é o tamanho máximo de linha compatível com o Datastream? No momento, o Datastream está limitado a linhas com até 3 MB.
O Datastream garante o pedido? O Datastream não garante a ordenação. Ela fornece metadados adicionais em cada evento, que podem ser usados para garantir a consistência posterior no bucket de destino. Dependendo da origem, taxa e frequência das alterações e de outros parâmetros, geralmente é possível conseguir a consistência eventual em um intervalo de uma hora.
O Datastream garante uma entrega exatamente uma vez? 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, podendo causar discrepâncias de dados. Planejamos capturar eventos de linguagem de definição de dados em tempo real, o que resolverá essa limitação atual.
Você gerencia bancos de dados criptografados? Sim.
O Datastream pode transmitir tabelas e colunas específicas de uma origem? Sim. Com o Datastream, é possível especificar listas de inclusão e exclusão para tabelas e esquemas e fazer streaming apenas dos dados desejados de uma origem para um destino. Você pode excluir colunas específicas das tabelas incluídas para ajustar ainda mais os dados que serão transmitidos para o destino. No entanto, as visualizações materializadas não podem ser replicadas.
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, mas não marque a caixa de seleção Preenchimento de dados históricos.
  2. Inicie o stream que você criou.
  3. Depois que a transmissão que você criou tiver o status RUNNING, pause a transmissão existente.
  4. Como opção, modifique o novo stream marcando a caixa de seleção Dados históricos de preenchimento. Os dados existentes nas tabelas adicionadas ao stream serão transmitidos da origem para o destino no futuro.
Como o Datastream lida com transações não confirmadas nos arquivos de registros do banco de dados? Quando os arquivos de registros do banco de dados contêm transações não confirmadas, se alguma transação for revertida, isso refletirá isso nos arquivos de registros como operações de linguagem de manipulação de dados (DML) "reversa". Por exemplo, uma operação INSERT revertida terá uma operação DELETE correspondente. O Datastream lê essas operações dos arquivos de registros.
Qual é 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.

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

Pergunta Resposta
Como o Datastream extrai dados do MySQL? O Datastream usa o registro binário do MySQL para extrair os eventos de alteração do MySQL
O Datastream é compatível com instâncias de réplica de leitura do Cloud SQL para MySQL?

Sim, o Datastream é compatível com instâncias de réplica de leitura para o Cloud SQL para MySQL versões 5.7 e 8.0.

É possível ativar a geração de registros binários nestas instâncias. Para fazer isso, execute o seguinte comando gcloud:


gcloud sql instances patch INSTANCE_NAME -- enable-bin-log

Para mais informações, consulte Geração de registros binários em réplicas de leitura.

O Datastream bloqueia tabelas de banco de dados MySQL? Por que o Datastream requer permissões LOCK TABLE?

Na maioria dos casos, o Datastream não precisará bloquear as tabelas. No entanto, sob determinadas condições (por exemplo, MySQL 8 com mecanismo de armazenamento InnoDB e o nível de isolamento definido como REPEATABLE READ), o Datastream adquire bloqueios nas tabelas durante o preenchimento.

Captura de dados de alteração (CDC, na sigla em inglês) da Oracle

Pergunta Resposta
Como o Datastream extrai dados da Oracle? O Datastream usa o Oracle LogMiner para extrair os dados dos registros "redo" da Oracle.
O Datastream requer uma licença da GoldenGate pela Oracle? Não. O Datastream usa o Oracle LogMiner para ler os dados dos registros de refazer 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 a criptografia de bancos de dados Oracle em trânsito?

O Datastream permite a criptografia de dados em trânsito com base nos Serviços do Oracle Net. O Datastream é executado no modo REQUESTED.

O Datastream é compatível com arquitetura de vários locatários da Oracle, especificamente Bancos de dados de contêiner (CDBs) e Bancos de dados plugáveis (PDBs)? No momento, o Datastream não é compatível com CDBs e PDBs, mas isso está no nosso roteiro.

Casos de uso

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

O Datastream é um serviço de CDC e replicação, o que significa que ele é flexível em vários casos de uso que podem se beneficiar do acesso a dados de alterações de streaming contínuo. 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 ter acesso a visualizações materializadas atualizadas dos dados de origem no BigQuery. Você pode usar essas informações atualizadas continuamente para criar painéis atualizados. Isso pode ser usado, por exemplo, para monitorar seus sistemas e receber insights atualizados sobre o estado da sua empresa.
  2. Cenários de replicação e sincronização de banco de dados: ao integrar modelos do Datastream com o Dataflow para carregar dados no Cloud SQL ou no Cloud Spanner, você tem acesso a visualizações materializadas atualizadas dos seus dados de origem nesses bancos de dados. Use esses dados atualizados continuamente nos bancos de dados de destino para uma migração de banco de dados de baixa inatividade da origem para o destino, ou para configurações de nuvem híbrida, em que a origem e o destino residir em diferentes ambientes de hospedagem.
  3. Arquiteturas orientadas a eventos: as arquiteturas modernas baseadas em microsserviços dependem de hubs centrais de dados que são atualizados continuamente com eventos de toda a organização para serem orientados por eventos. Ao gravar dados de eventos continuamente em destinos como o Cloud Storage, você pode criar arquiteturas orientadas a eventos com base no consumo de dados de evento desses destinos.

Integrações

Pergunta Resposta
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 fornecendo replicação de dados do CDC de origens para vários serviços do Google Cloud. Ao se integrar perfeitamente a esses serviços, o Datastream se encaixa no ecossistema 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 os carregam 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 foram criados para arquivos gerados pelo Datastream, garantindo um processamento fácil e pronto.
  • Cloud Data Fusion: o Datastream é integrado ao Cloud Data Fusion com um conector da Oracle por meio do recurso de replicação do Cloud Data Fusion. Você pode criar uma fonte de replicação da Oracle que o Datastream "impulsiona" internamente de maneira transparente para criar um pipeline de dados com facilidade. Esse pipeline inclui transformações avançadas para os dados da Oracle que o Datastream transmite para o Cloud Data Fusion.
  • Cloud Storage: o Datastream se integra ao Cloud Storage, gravando-o como um destino de streaming de alteração.
  • Cloud SQL, Cloud Spanner e BigQuery: o Datastream se integra a esses bancos de dados de destino. Ao usar modelos do Dataflow, é possível manter visualizações materializadas atualizadas nos bancos de dados.

Origens e destinos

Pergunta Resposta
Quais origens e destinos são compatíveis com o Datastream?
  • Fontes: o Datastream é compatível com streaming de dados das origens Oracle e MySQL, hospedados na nuvem e autogerenciados. Para mais informações sobre o suporte de origem, consulte Comportamento e limitações.
  • Destinos: é possível gravar alterações nos dados de arquivos transmitidos para o Cloud Storage. Você pode usar modelos do Dataflow para transferir esses dados do Cloud Storage para BigQuery, Cloud Spanner e Cloud SQL para PostgreSQL.
O Datastream pode lidar com bancos de dados criptografados? Sim.

Comportamento e limitações

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

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

  • Um banco de dados auto-hospedado no local ou em qualquer provedor de nuvem
  • Cloud SQL para MySQL
  • MySQL RUS da AWS e Aurora MySQL
  • MariaDB
  • Alibaba Cloud PolarDB
  • Percona Server para MySQL

Para a Oracle, o Datastream é compatível com a versão 2 de 11g ou mais recente, e não com RAC na configuração de SCAN, CDB/PDB ou de banco de dados autônomo. Qualquer banco de dados compatível com Oracle é compatível, incluindo, entre outros:

  • Um banco de dados auto-hospedado no 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 eventos de alteração.

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

É possível copiar arquivos de registros diretamente de uma origem para o Google Cloud? O Datastream não copia a totalidade dos arquivos de registros, mas consulta os arquivos diretamente no servidor de banco de dados e só replica alterações nas tabelas especificadas para o destino.
Para origens 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 do refazer do banco de dados.
O que acontece quando o Oracle LogMiner não é compatível com versões mais recentes? A Oracle suspendeu o suporte para a opção CONTINUOUS_MINE do LogMiner. No entanto, essa opção não é usada pelo Datastream. Portanto, essa suspensão de uso não afeta o Datastream.
Quais são as limitações dos dados que o Datastream pode processar?

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

Limitações gerais incluem:

  • Capacidade: aproximadamente 5 MBPS com limite máximo de 3 MB.
  • Algumas operações de linguagem de definição de dados (DDL) não são compatíveis durante a replicação, incluindo as seguintes:
    • Remoção de 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 eles 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 o preenchimento incompatível com tabelas que não têm uma chave primária e são maiores que 100 milhões de linhas.

As limitações da Oracle incluem:

  • Compatibilidade de colunas:
    • Alguns tipos de dados não são compatíveis e são replicados com valores NULL. Esses tipos de dados incluem os tipos abstratos (ADT), ANYDATA, coleções (VARRAY), BLOB/CLOB/LOB/NCLOB, LONG, UDT, UROWID e XMLType (em inglês)
  • Recursos incompatíveis da Oracle:
    • Tabelas externas
    • Links do banco de dados (dblinks)
    • Tabelas somente de índice (IOTs)
    • O Oracle Label Security (OLS) não é replicado.
  • O preenchimento não é compatível com tabelas com mais de 100 milhões de linhas.

Quais dados sã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 e o valor dos dados de cada coluna. Eles também incluem metadados de eventos que podem ser usados para estabelecer a ordem e garantir a exibição única.
O Datastream garante o pedido? Embora o Datastream não garanta a ordenação, ele fornece metadados adicionais para cada evento. Esses metadados podem ser usados para garantir a consistência posterior no destino. Dependendo da origem, da taxa e da frequência das alterações e de outros parâmetros, geralmente é possível conseguir a consistência eventual em um período de uma hora.
O Datastream garante uma entrega exatamente uma vez? O Datastream é exibido 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 origem para uso no processamento downstream?

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

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

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

Como o Datastream lida com alterações de estrutura (esquema) na origem? O Datastream rastreia continuamente as alterações na estrutura de dados de origem. Os esquemas são armazenados no registro de esquema do Datastream, e cada evento referencia o esquema no momento em que ele foi gerado. Isso permite que o Datastream ou outros processos downstream acompanhem 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 Resposta
O Datastream é um serviço seguro para dados confidenciais? O Datastream oferece suporte a várias configurações de conectividade privada e segura para proteger os dados em trânsito enquanto eles são transmitidos 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?

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

  • Lista de permissões de IP: este método fornece conectividade pública listando os endereços IP regionais do Datastream na origem. Quando você cria seu stream, o Datastream exibe esses endereços IP na IU.
  • Encaminhar túnel SSH: este método fornece conectividade segura em redes públicas, aproveitando um bastion SSH configurado pelo cliente, além de permitir endereços IP regionais.
  • Conectividade particular por peering de VPC: use esse método para se conectar a bancos de dados hospedados no Google Cloud pela rede interna do Google Cloud. Você também pode usar uma VPN ou interconexão atual estabelecendo o peering de VPC entre a rede privada do Datastream e a VPC do Google Cloud da sua organização.
Como posso limitar o processamento de dados confidenciais pelo Datastream?

O Datastream permite especificar quais elementos de dados específicos (esquemas, tabelas e colunas) da sua fonte você quer transmitir para um destino e quais elementos você quer excluir do fluxo.

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 todos os dados associados a eles.

Como o Datastream mantém as credenciais de banco de dados seguras? Todos os metadados dos usuários (incluindo o nome de usuário e a senha usados para acessar as fontes de dados) são criptografados em trânsito e em repouso. O acesso a esses metadados é rastreado e auditado.

Processar arquivos do Datastream

Pergunta Resposta
Como são criados arquivos no Cloud Storage? O Datastream cria uma pasta para cada tabela. Em cada pasta, o Datastream alterna o arquivo (ou cria um novo) sempre que atinge o limite de tamanho ou tempo definido pelo usuário. O Datastream também alterna o arquivo sempre que uma alteração de esquema é detectada. O nome do arquivo será composto por uma chave de esquema única (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 compreendidos pelas pessoas.
Se os dados no Cloud Storage não forem ordenados, então como os eventos podem ser reordenados antes de carregá-los no destino? Cada evento contém vários campos de metadados que identificam exclusivamente a linha no registro de refazer do Oracle. Especificamente:
  • rs_id, que é composto por três valores (por exemplo, 0x0073c9.000a4e4c.01d0). O rs_id identifica exclusivamente o registro no registro redo.
  • ssn, que é usado quando o registro no registro redo é muito longo. Por isso, o Oracle LogMiner divide o registro em várias linhas.
Para classificar os eventos, é necessário classificar por cada parte do rs_id e depois 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 arquivos não é garantida, a melhor maneira de determinar a ordem de processamento dos arquivos é conseguir todos os eventos de todos os arquivos no carimbo de data/hora específico e aplicar a ordenação usando o método mencionado acima.
Como as atualizações de chave primária são processadas? Há alguma informação antes e depois do evento? O campo de metadados row_id identifica exclusivamente a linha que está mudando. Para garantir a integridade dos dados, consolide os dados com base no valor associado ao campo row_id, em vez de confiar na chave primária.

Monitorar o Datastream

Pergunta Resposta
Como saber se 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 nos arquivos de registros. Uma entrada de registro é criada para indicar o preenchimento de uma tabela.

Preços

Pergunta Resposta
Como o Datastream é cobrado?

O preço do Datastream é baseado no volume (GB) dos dados que são transmitidos da sua origem para um destino.

Para saber mais sobre informações de preços do Datastream, consulte Preços.

Como você calcula o tamanho dos dados? O faturamento é calculado com base no tamanho bruto dos dados (não compactados) que é transmitido da origem para o destino. O Datastream cobra apenas pelos dados transmitidos para o destino.
Quanto você paga pelo Datastream com o Dataflow ou o Cloud Data Fusion? Cada serviço é cobrado e cobrado separadamente.

Mais informações

Pergunta Resposta
E se eu tiver outras dúvidas ou problemas com o uso do Datastream? A equipe de suporte do Google pode ajudar você se tiver problemas ao usar o Datastream. Além disso, o guia de solução de problemas aborda problemas comuns que você pode encontrar ao usar o Datastream.