Destino do BigQuery

Esta página apresenta uma vista geral do destino do BigQuery. Descreve o comportamento de escrita e as limitações conhecidas do Datastream quando replica dados para o BigQuery.

Comportamento de escrita

  • O tamanho máximo do evento quando transmite dados para o BigQuery é de 20 MB.

  • Quando configura a stream, pode selecionar a forma como o Datastream escreve os dados de alterações no BigQuery. Para mais informações, consulte o artigo Configure o modo de escrita.

Metadados da tabela

O Datastream anexa uma coluna STRUCT denominada datastream_metadata a cada tabela escrita no destino do BigQuery.

Modo de gravação de união

Se uma tabela tiver uma chave principal na origem, a coluna contém os seguintes campos:

  • UUID: este campo tem o tipo de dados STRING.
  • SOURCE_TIMESTAMP: este campo tem o tipo de dados INTEGER.

Se uma tabela não tiver uma chave principal, a coluna contém um campo adicional: IS_DELETED. Este 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 principais são apenas de anexação.

Modo de escrita apenas de anexação

A coluna datastream_metadata contém os mesmos campos para tabelas com e sem chaves primárias:

  • UUID: este campo tem o tipo de dados STRING.
  • SOURCE_TIMESTAMP: este campo tem o tipo de dados INTEGER.
  • CHANGE_SEQUENCE_NUMBER: este campo tem o tipo de dados STRING. É um número de sequência interno usado pelo fluxo de dados para cada evento de alteração.
  • CHANGE_TYPE: este campo tem o tipo de dados STRING. Indica o tipo de evento de alteração: INSERT, UPDATE-INSERT, UPDATE-DELETE ou DELETE.
  • SORT_KEYS: este campo contém uma matriz de valores STRING. Pode usar os valores para ordenar os eventos de alteração.

Controle os custos do BigQuery

Os custos do BigQuery são cobrados separadamente do Datastream. Para saber como controlar os custos do BigQuery, consulte os preços da CDC do BigQuery.

Práticas recomendadas de gestão de custos

Quando usar o Datastream com o BigQuery como destino, considere as seguintes práticas recomendadas de gestão de custos:

  • Compreenda os custos da CDC do BigQuery: quando usa o Datastream com o BigQuery como destino, a captura de dados de alteração (CDC) envolve operações de união em segundo plano que são faturadas como utilização do SKU de análise.
  • Use reservas do BigQuery: para gerir e limitar os custos associados a tarefas de união de CDC, recomendamos que compre uma reserva de slots do BigQuery. Isto oferece uma capacidade fixa por um preço fixo, o que torna os seus custos mais previsíveis.
  • Ajuste max_staleness: o parâmetro max_staleness no BigQuery é uma troca direta entre a atualidade dos dados e o custo. Um valor inferior significa operações de união mais frequentes e custos mais elevados, mas dados mais recentes. Ajuste este parâmetro a um nível que cumpra os requisitos da sua empresa para a atualidade dos dados sem exceder o orçamento. Para mais informações, consulte o artigo Faça a gestão da desatualização das tabelas.

Limitações conhecidas

As limitações conhecidas para usar o BigQuery como destino incluem:

  • Por predefinição, o Datastream não suporta a adição de uma chave primária a uma tabela que já tenha sido replicada para o BigQuery sem uma chave primária, nem a remoção de uma chave primária de uma tabela que tenha sido replicada para o BigQuery com uma chave primária. Se precisar de fazer essas alterações, contacte o apoio técnico da Google. Para obter informações sobre como alterar a definição da chave principal de uma tabela de origem que já tem uma chave principal, consulte o artigo Diagnosticar problemas.
  • As chaves primárias no BigQuery têm de ser dos seguintes tipos de dados:

    • DATE
    • BOOL
    • GEOGRAPHY
    • INT64
    • NUMERIC
    • BIGNUMERIC
    • STRING
    • TIMESTAMP
    • DATETIME

    As tabelas que contêm chaves primárias de tipos de dados não suportados não são replicadas pelo Datastream.

  • O BigQuery não suporta nomes de tabelas com os carateres ., $, /, @ ou +. O fluxo de dados substitui esses carateres por carateres de sublinhado quando cria tabelas de destino.

    Por exemplo, table.name na base de dados de origem torna-se table_name no BigQuery.

    Para mais informações sobre os nomes das tabelas no BigQuery, consulte o artigo Nomenclatura das tabelas.

  • O BigQuery não suporta mais de quatro colunas de clustering. Quando replica 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 fluxo de dados mapeia literais de data e hora fora do intervalo, como os tipos de data infinita do PostgreSQL, para os seguintes valores:

    • Positivo DATE para o valor de 9999-12-31
    • DATE negativo para o valor de 0001-01-01
    • Positivo TIMESTAMP para o valor de 9999-12-31 23:59:59.999000 UTC
    • TIMESTAMP negativo para o valor de 0001-01-01 00:00:00 UTC
  • O BigQuery não suporta tabelas de streaming que tenham chaves primárias dos tipos de dados FLOAT ou REAL. Essas tabelas não são replicadas. Para saber mais sobre os tipos e os intervalos de datas do BigQuery, consulte o artigo Tipos de dados.

  • Se a sua origem for o Salesforce, a opção de configuração Conjunto de dados para cada esquema não é suportada.

O que se segue?