Particione e agrupe tabelas do BigQuery

Ao configurar a partição e o agrupamento para o destino do BigQuery, pode otimizar o desempenho das consultas e controlar os custos. A partição e o agrupamento permitem reduzir a quantidade de dados que o BigQuery precisa de analisar durante a execução da consulta.

Particionamento de tabelas

A partição de tabelas divide a sua tabela em segmentos denominados partições, o que facilita a gestão e a consulta dos seus dados. Particione as tabelas especificando uma coluna de partição, que é usada para segmentar a tabela.

O Datastream suporta três tipos de particionamento para tabelas do BigQuery:

  • Particionamento por tempo de ingestão: pode particionar uma tabela com base no tempo em que o Datastream ingere os dados no BigQuery. Pode selecionar o nível de detalhe por hora, diário, mensal ou anual para a partição por tempo de carregamento. O nível de detalhe predefinido é Diário.

  • Partição por unidade de tempo: pode particionar uma tabela com base numa 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 ver informações sobre como o Datastream mapeia os tipos de dados de origem para os tipos de dados do BigQuery, consulte o artigo Mapeamentos de tipos de dados no BigQuery.

    Consoante o tipo de dados do BigQuery ao qual a coluna de origem é mapeada, pode selecionar um dos seguintes tipos de detalhe:

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

  • Particionamento por intervalo de números inteiros: pode 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. Tem de fornecer as seguintes informações:

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

    Para mais informações, consulte o artigo Partição de intervalo de números inteiros.

Para obter informações sobre como configurar a partição para a sua stream, consulte o artigo Configure informações sobre a base de dados de origem para a stream.

Agrupamento de tabelas

A clustering ordena os dados numa tabela com base nos valores nas colunas de clustering e coloca dados com valores semelhantes. As consultas que filtram pelas colunas agrupadas apenas analisam os blocos de dados relevantes em vez de toda a tabela ou partição da tabela. Isto pode melhorar o desempenho das consultas e reduzir os custos das consultas.

Pode agrupar as tabelas do BigQuery por até quatro colunas. A ordem em que especifica as colunas determina a ordem de ordenação dos dados.

Pode agrupar uma tabela com base numa 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 ver informações sobre como o Datastream mapeia os tipos de dados de origem para os tipos de dados do BigQuery, consulte o artigo Mapeamentos de tipos de dados no BigQuery.

Para informações sobre como configurar o agrupamento para a sua stream, consulte o artigo Configure informações sobre a base de dados de origem para a stream.

Limitações

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

  • Para ver as limitações de clustering no BigQuery, consulte a Introdução às tabelas agrupadas.

  • Para ver os limites de quota que se aplicam a tabelas particionadas do BigQuery, consulte o artigo Quotas e limites.

  • Além disso, aplicam-se as seguintes limitações quando usa o Datastream:

    • A partição e o agrupamento só são aplicados quando o Datastream cria uma nova tabela do BigQuery. Se quiser configurar ou modificar as definições de particionamento e clustering de uma tabela já existente, elimine-a primeiro do BigQuery e, de seguida, configure ou modifique as respetivas definições no Datastream.
    • Para origens do MongoDB, só pode particionar as tabelas por hora de carregamento.
    • O clustering não é suportado para bases de dados MongoDB.

O que se segue?