Ao configurar o particionamento e o agrupamento para o seu destino no BigQuery, você pode otimizar o desempenho das consultas e controlar os custos. O particionamento e o agrupamento permitem reduzir a quantidade de dados que o BigQuery precisa analisar durante a execução de consultas.
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 que o Datastream leva para processar os dados no BigQuery. Você pode selecionar a granularidade horária, diária, mensal ou anual para o particionamento do tempo de ingestão. A granularidade diária é a padrão.
Particionamento por unidade de tempo: você pode 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,DATETIMEouTIMESTAMP. Para obter informações sobre como o Datastream mapeia tipos de dados de origem para tipos de dados do BigQuery, consulte Mapeamentos de tipo 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 dadosDATE.HOUR,DAY,MONTH,YEAR: para os tipos de dadosDATETIMEeTIMESTAMP.
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
INTEGERdo 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 mais informações sobre o particionamento no BigQuery, consulte Introdução às tabelas particionadas e Gerenciamento de tabelas particionadas.
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:
BIGNUMERICBOOLEANDATEDATETIMEGEOGRAPHYINT64NUMERICRANGESTRINGTIMESTAMP
Para obter informações sobre como o Datastream mapeia tipos de dados de origem para tipos de dados do BigQuery, consulte Mapeamentos de tipo de dados no BigQuery.
Para mais informações sobre o clustering no BigQuery, consulte Introdução às tabelas em cluster e Gerenciar tabelas em cluster.
Limitações
Para limitações de particionamento no BigQuery, consulte Introdução às tabelas particionadas.
Para limitações de agrupamento no BigQuery, consulte Introdução a tabelas agrupadas.
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 do MongoDB.
A seguir
- Para saber mais sobre streams, consulte Ciclo de vida do stream.
- Para aprender como criar um fluxo, consulte Criar um fluxo.
- Para saber mais sobre o BigQuery, consulte Destino do BigQuery.