Particionar e agrupar tabelas do BigQuery

Ao configurar o particionamento e o clustering para seu destino do BigQuery, é possível otimizar o desempenho da consulta e controlar os custos. Com o particionamento e o clustering, é possível reduzir a quantidade de dados que o BigQuery precisa verificar durante a execução da consulta.

Particionamento de tabelas

O particionamento de tabela divide a tabela em segmentos chamados partições, o que facilita o gerenciamento e a consulta dos dados. Para particionar tabelas, especifique uma coluna de partição usada para segmentar a tabela.

O Datastream é compatível com três tipos de particionamento para tabelas do BigQuery:

  • Particionamento por tempo de processamento: é possível particionar uma tabela com base no tempo em que o Datastream ingere os dados no BigQuery. É possível selecionar granularidade por hora, diária, mensal ou anual para o particionamento por tempo de ingestão. A granularidade diária é a padrão.

  • Particionamento por unidade de tempo: é possível particionar uma tabela com base em uma coluna de origem de um tipo de dados que o Datastream mapeia para um dos seguintes tipos de dados do BigQuery: DATE, DATETIME ou TIMESTAMP. Para informações sobre como o Datastream mapeia tipos de dados de origem para tipos de dados do BigQuery, consulte Mapeamentos de tipos de dados no BigQuery.

    Dependendo do tipo de dados do BigQuery a que a coluna de origem é mapeada, você pode selecionar um dos seguintes tipos de granularidade:

    • DAY, MONTH, YEAR: para o tipo de dados DATE.
    • HOUR, DAY, MONTH, YEAR: para os tipos de dados DATETIME e TIMESTAMP.

  • Particionamento por intervalo de números inteiros: é possível particionar uma tabela por uma coluna de origem de um tipo de dados que o Datastream mapeia para o tipo de dados INTEGER do BigQuery. Você precisa fornecer as seguintes informações:

    • Início: o valor inicial do primeiro intervalo de partição (inclusivo).
    • Fim: o valor final do último intervalo de partição (exclusivo).
    • Intervalo: a extensão de cada intervalo de partição.

    Para mais informações, consulte Particionamento por intervalo de números inteiros.

Para saber como configurar o particionamento do stream, consulte Configurar informações sobre o banco de dados de origem para o stream.

Clustering de tabela

O clustering classifica os dados em uma tabela com base nos valores das colunas de clustering e coloca dados com valores semelhantes no mesmo lugar. As consultas que filtram pelas colunas em cluster verificam apenas os blocos de dados relevantes, e não toda a tabela ou partição. Isso pode melhorar o desempenho e reduzir os custos da consulta.

É possível agrupar as tabelas do BigQuery em até quatro colunas. A ordem em que você especifica as colunas determina a ordem de classificação dos dados.

É possível agrupar uma tabela com base em uma coluna de origem de um tipo de dados que o Datastream mapeia para um dos seguintes tipos de dados do BigQuery:

  • BIGNUMERIC
  • BOOLEAN
  • DATE
  • DATETIME
  • GEOGRAPHY
  • INT64
  • NUMERIC
  • RANGE
  • STRING
  • TIMESTAMP

Para informações sobre como o Datastream mapeia tipos de dados de origem para tipos de dados do BigQuery, consulte Mapeamentos de tipos de dados no BigQuery.

Para saber como configurar o agrupamento por cluster para seu stream, consulte Configurar informações sobre o banco de dados de origem para o stream.

Limitações

  • Para limitações de particionamento no BigQuery, consulte Introdução às tabelas particionadas.

  • Para limitações de clustering no BigQuery, consulte Introdução às tabelas em cluster.

  • Para limites de cota que se aplicam a tabelas particionadas do BigQuery, consulte Cotas e limites.

  • Além disso, as seguintes limitações se aplicam ao usar o Datastream:

    • O particionamento e o clustering só são aplicados quando o Datastream cria uma tabela do BigQuery. Se você quiser configurar ou modificar as configurações de particionamento e clustering de uma tabela que já existe, primeiro exclua-a do BigQuery e depois configure ou modifique as configurações no Datastream.
    • Para fontes do MongoDB, só é possível particionar as tabelas por tempo de ingestão.
    • O clustering não é compatível com bancos de dados MongoDB.

A seguir