O Datastream permite replicar dados de alteração das suas fontes diretamente
em tabelas do BigQuery para análises quase em tempo real. Ao transmitir dados
para o BigQuery, é possível selecionar o modo de gravação de mesclagem ou somente anexação
e usar a coluna datastream_metadata para acompanhar eventos de alteração. Também é possível
aplicar as práticas recomendadas de gerenciamento de custos, como reservas de slots e ajuste de desatualização
de tabelas, e analisar as limitações conhecidas.
Comportamento de gravação
O tamanho máximo do evento ao fazer streaming de dados para o BigQuery é de 20 MB.
Ao configurar o stream, é possível selecionar como o Datastream grava os dados de alteração no BigQuery. Para mais informações, consulte Configurar o modo de gravação.
Metadados da tabela
O Datastream anexa uma coluna STRUCT chamada datastream_metadata
a cada tabela gravada no destino do BigQuery.
Modo de gravação de mesclagem
Se uma tabela tiver uma chave primária na origem, a coluna vai conter os seguintes campos:
UUID: esse campo tem o tipo de dadosSTRING.SOURCE_TIMESTAMP: esse campo tem o tipo de dadosINTEGER.
Se uma tabela não tiver uma chave primária, a coluna vai conter um campo adicional: IS_DELETED. Esse campo tem o tipo de dados BOOLEAN e indica se os dados que o Datastream transmite para o destino estão associados a uma operação DELETE na origem. As tabelas sem chaves primárias são somente para anexação.
Modo de gravação somente anexação
A coluna datastream_metadata contém os mesmos campos para tabelas com e
sem chaves primárias:
UUID: esse campo tem o tipo de dadosSTRING.SOURCE_TIMESTAMP: esse campo tem o tipo de dadosINTEGER.CHANGE_SEQUENCE_NUMBER: esse campo tem o tipo de dadosSTRING. É um número de sequência interno usado pelo Datastream para cada evento de alteração.CHANGE_TYPE: esse campo tem o tipo de dadosSTRING. Ele indica o tipo do evento de mudança:INSERT,UPDATE-INSERT,UPDATE-DELETEouDELETE.SORT_KEYS: esse campo contém uma matriz de valoresSTRING. É possível usar os valores para classificar os eventos de alteração.
Controlar custos do BigQuery
Os custos do BigQuery são cobrados separadamente do Datastream. Para saber como controlar os custos do BigQuery, consulte Preços do CDC do BigQuery.
Práticas recomendadas de gerenciamento de custos
Ao usar o Datastream com o BigQuery como destino, considere as seguintes práticas recomendadas de gerenciamento de custos:
- Entenda os custos do CDC do BigQuery: ao usar o Datastream com o BigQuery como destino, a captura de dados alterados (CDC) envolve operações de mesclagem em segundo plano. Por padrão,
os jobs em segundo plano de ingestão de CDC do BigQuery realizados sem uma
atribuição de reserva do BigQuery
BACKGROUNDouBACKGROUND_CHANGE_DATA_CAPTUREusam preços sob demanda. - Use as reservas do BigQuery: para gerenciar e limitar os custos associados aos jobs de mesclagem do CDC, recomendamos que você compre uma reserva de slot do BigQuery. Isso oferece uma capacidade fixa por um preço fixo, tornando seus custos mais previsíveis. Para mais informações, consulte Configurar uma reserva do BigQuery para uso com a ingestão de CDC.
- Ajustar
max_staleness: o parâmetromax_stalenessno BigQuery é uma compensação direta entre a atualização de dados e o custo. Um valor menor significa operações de mesclagem mais frequentes e custos mais altos, mas dados mais recentes. Ajuste esse parâmetro para um nível que atenda aos requisitos da sua empresa para atualização de dados sem exceder seu orçamento. Para mais informações, consulte Gerenciar a desatualização de tabelas.
Limitações conhecidas
As limitações conhecidas para usar o BigQuery como destino incluem:
- Por padrão, o Datastream não permite adicionar uma chave primária a uma tabela que já foi replicada para o BigQuery sem uma chave primária nem remover uma chave primária de uma tabela que foi replicada para o BigQuery com uma chave primária. Se você precisar fazer essas mudanças, entre em contato com o Suporte do Google. Para saber como mudar a definição da chave primária de uma tabela de origem que já tem uma chave primária, consulte Diagnosticar problemas.
As chaves primárias no BigQuery precisam ser dos seguintes tipos de dados:
DATEBOOLGEOGRAPHYINT64NUMERICBIGNUMERICSTRINGTIMESTAMPDATETIME
As tabelas que contêm chaves primárias de tipos de dados não compatíveis não são replicadas pelo Datastream.
O BigQuery não é compatível com nomes de tabela com os caracteres
.,$,/,@ou+. O Datastream substitui esses caracteres por sublinhados ao criar tabelas de destino.Por exemplo,
table.nameno banco de dados de origem se tornatable_nameno BigQuery.Para mais informações sobre nomes de tabelas no BigQuery, consulte Nomenclatura de tabelas.
O BigQuery não aceita mais de quatro colunas de clustering. Ao replicar uma tabela com mais de quatro colunas de chave primária, o Datastream usa quatro colunas de chave primária como as colunas de clustering.
O Datastream mapeia literais de data e hora fora do intervalo, como tipos de data infinita do PostgreSQL, para os seguintes valores:
DATEpositivo para o valor de9999-12-31DATEnegativo para o valor de0001-01-01TIMESTAMPpositivo para o valor de9999-12-31 23:59:59.999000 UTCTIMESTAMPnegativo para o valor de0001-01-01 00:00:00 UTC
O BigQuery não oferece suporte a tabelas de streaming que tenham chaves primárias dos tipos de dados
FLOATouREAL. Essas tabelas não são replicadas. Para saber mais sobre os tipos e intervalos de datas do BigQuery, consulte Tipos de dados.Se a origem for o Salesforce ou o Salesforce Marketing Cloud (pré-lançamento), a opção de configuração Conjunto de dados para cada esquema não será compatível.