Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Nesta página, você encontra uma visão geral do destino do BigQuery. Ele descreve o comportamento de gravação e as limitações conhecidas do Datastream ao replicar dados no BigQuery.
Comportamento de gravação
O tamanho máximo do evento ao transmitir dados para o BigQuery é de 20 MB.
Ao configurar seu stream, você pode selecionar a maneira como o Datastream
grava os dados de mudança 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 dados STRING.
SOURCE_TIMESTAMP: esse campo tem o tipo de dados INTEGER.
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 transmitidos pelo Datastream para o destino estão associados a uma operação DELETE na origem. Tabelas sem chaves primárias são somente de anexação.
Modo de gravação somente anexar
A coluna datastream_metadata contém os mesmos campos para tabelas com e sem chaves primárias:
UUID: esse campo tem o tipo de dados STRING.
SOURCE_TIMESTAMP: esse campo tem o tipo de dados INTEGER.
CHANGE_SEQUENCE_NUMBER: esse campo tem o tipo de dados STRING. É um número de sequência interno usado pelo Datastream para cada evento de mudança.
CHANGE_TYPE: esse campo tem o tipo de dados STRING. Indica o tipo de evento de mudança: INSERT, UPDATE-INSERT, UPDATE-DELETE ou DELETE.
SORT_KEYS: esse campo contém uma matriz de valores STRING. Você pode usar os valores para classificar os eventos de mudança.
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.
Limitações conhecidas
Limitações conhecidas para o uso do BigQuery como destino:
Só é possível replicar dados em um conjunto de dados do BigQuery que esteja no
mesmo projeto Google Cloud que o fluxo do Datastream.
Por padrão, o Datastream não oferece suporte à adição de uma chave primária a uma tabela já replicada no BigQuery sem uma chave primária ou à remoção de uma chave primária de uma tabela replicada no BigQuery com uma chave primária. Se você precisar fazer essas mudanças, entre em contato com o suporte do Google. Para informações sobre como mudar a definição de 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:
DATE
BOOL
GEOGRAPHY
INT64
NUMERIC
BIGNUMERIC
STRING
TIMESTAMP
DATETIME
As tabelas que contêm chaves primárias de tipos de dados sem suporte não são replicadas
pelo Datastream.
O BigQuery não aceita nomes de tabelas com caracteres ., $, /, @ ou +. O Datastream substitui esses caracteres por
sublinhados ao criar tabelas de destino.
Por exemplo, table.name no banco de dados de origem se torna table_name no BigQuery.
O BigQuery não aceita mais de quatro colunas de clusterização. Ao
replicar uma tabela com mais de quatro colunas de chave primária,
o Datastream usa quatro colunas de chave primária como colunas de clusterização.
O Datastream mapeia literais de data e hora fora do intervalo, como
tipos de data infinita do PostgreSQL, para os seguintes valores:
Positivo DATE para o valor de 9999-12-31
Negativo DATE para o valor de 0001-01-01
Positivo TIMESTAMP para o valor de 9999-12-31 23:59:59.999000 UTC
Negativo TIMESTAMP para o valor de 0001-01-01 00:00:00 UTC
O BigQuery não oferece suporte a tabelas de streaming com chaves primárias dos tipos de dados FLOAT ou REAL. 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, a opção de configuração Conjunto de dados para cada esquema não será compatível.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[[["\u003cp\u003eThis guide outlines the process of setting up a BigQuery destination to receive streamed data from a source database via Datastream.\u003c/p\u003e\n"],["\u003cp\u003eYou can choose to have Datastream create a separate dataset in BigQuery for each schema from the source database, or use a single designated dataset for all schemas.\u003c/p\u003e\n"],["\u003cp\u003eDatastream supports two write modes: "Merge," which keeps BigQuery in sync with the source without historical records, and "Append-only," which maintains a history of all data changes.\u003c/p\u003e\n"],["\u003cp\u003eEach table in the BigQuery destination will contain a \u003ccode\u003edatastream_metadata\u003c/code\u003e column, the fields of which will vary based on the table's primary key and write mode.\u003c/p\u003e\n"],["\u003cp\u003eDatastream includes mapping data types from various source databases (MySQL, Oracle, PostgreSQL, SQL Server, and Salesforce) to their corresponding BigQuery data types.\u003c/p\u003e\n"]]],[],null,["# BigQuery destination\n\nThis page gives you an overview of the BigQuery destination. It\ndescribes write behavior and known limitations of Datastream when you\nreplicate data to BigQuery.\n\nWrite behavior\n--------------\n\n- The maximum event size when you stream data into BigQuery is 20 MB.\n\n- When you configure your stream, you can select the way that Datastream\n writes your change data to BigQuery. For more information, see\n [Configure write mode](/datastream/docs/configure-bigquery-destination#configure-write-mode).\n\n### Table metadata\n\nDatastream appends a `STRUCT` column named `datastream_metadata` to each\ntable that's written to the BigQuery destination.\n\n#### Merge write mode\n\nIf a table has a primary key at the source, then the column contains the following fields:\n\n- `UUID`: This field has the `STRING` data type.\n- `SOURCE_TIMESTAMP`: This field has the `INTEGER` data type.\n\nIf a table doesn't have a primary key, then the column contains an additional field: `IS_DELETED`. This field has the `BOOLEAN` data type, and it indicates whether the data that Datastream streams to the destination is associated with a `DELETE` operation at the source. Tables without primary keys are append-only.\n\n#### Append-only write mode\n\nThe `datastream_metadata` column contains the same fields for tables with and\nwithout primary keys:\n\n- `UUID`: This field has the `STRING` data type.\n- `SOURCE_TIMESTAMP`: This field has the `INTEGER` data type.\n- `CHANGE_SEQUENCE_NUMBER`: This field has the `STRING` data type. It's an internal sequence number used by Datastream for each change event.\n- `CHANGE_TYPE`: This field has the `STRING` data type. It indicates the type of the change event: `INSERT`, `UPDATE-INSERT`, `UPDATE-DELETE`or `DELETE`.\n- `SORT_KEYS`: This field contains an array of `STRING` values. You can use the values to sort the change events.\n\n### Control BigQuery costs\n\nBigQuery costs are charged separately from Datastream. To learn\nhow to control your BigQuery costs, see\n[BigQuery CDC pricing](/bigquery/docs/change-data-capture#CDC_pricing).\n\nKnown limitations\n-----------------\n\n| **Note:** This section describes limitations for using Datastream with BigQuery as a destination. In addition to these limitations, you need to familiarize yourself with BigQuery change data capture limitations. For more information, see [Stream table updates with change data capture](/bigquery/docs/change-data-capture#limitations).\n\nKnown limitations for using BigQuery as a destination include:\n\n- You can only replicate data into a BigQuery dataset that resides in the same Google Cloud project as the Datastream stream.\n- By default, Datastream doesn't support adding a primary key to a table that's already replicated to BigQuery without a primary key, or removing a primary key from a table that's replicated to BigQuery with a primary key. If you need to perform such changes, contact Google Support. For information about *changing* the primary key definition for a source table that already has a primary key, see [Diagnose\n issues](/datastream/docs/diagnose-issues#bq-errors).\n- Primary keys in BigQuery must be of the following data types:\n\n - `DATE`\n - `BOOL`\n - `GEOGRAPHY`\n - `INT64`\n - `NUMERIC`\n - `BIGNUMERIC`\n - `STRING`\n - `TIMESTAMP`\n - `DATETIME`\n\n Tables that contain primary keys of unsupported data types aren't replicated\n by Datastream.\n- BigQuery doesn't support table names with `.`, `$`, `/`, `@` ,\n or `+` characters. Datastream replaces such characters with\n underscores when creating destination tables.\n\n For example, `table.name` in the source database becomes `table_name` in\n BigQuery.\n\n For more information on table names in BigQuery, see [Table\n naming](/bigquery/docs/tables#table_naming).\n- BigQuery doesn't support more than four clustering columns. When\n replicating a table with more than four primary key columns,\n Datastream uses four primary key columns as the clustering columns.\n\n- Datastream maps out-of-range date and time literals such as\n PostgreSQL infinity date types to the following values:\n\n - Positive `DATE` to the value of `9999-12-31`\n - Negative `DATE` to the value of `0001-01-01`\n - Positive `TIMESTAMP` to the value of `9999-12-31 23:59:59.999000 UTC`\n - Negative `TIMESTAMP` to the value of `0001-01-01 00:00:00 UTC`\n- BigQuery doesn't support streaming tables which have primary keys\n of `FLOAT` or `REAL` data types. Such tables aren't replicated.\n To learn more about BigQuery date types and ranges, see [Data\n types](/bigquery/docs/reference/standard-sql/data-types).\n\n- If your source is Salesforce, the **Dataset for each schema** configuration\n option isn't supported.\n\nWhat's next\n-----------\n\n- Learn how to [replicate data from a source database to BigQuery datasets\n using Datastream](/datastream/docs/quickstart-replication-to-bigquery)."]]