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,DATETIMEouTIMESTAMP. 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 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 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:
BIGNUMERICBOOLEANDATEDATETIMEGEOGRAPHYINT64NUMERICRANGESTRINGTIMESTAMP
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
- Para saber mais sobre o particionamento no BigQuery, consulte Introdução às tabelas particionadas e Gerenciamento de tabelas particionadas.
- Para mais informações sobre o clustering no BigQuery, consulte Introdução às tabelas em cluster e Gerenciar tabelas em cluster.
- Para saber mais sobre streams, consulte Ciclo de vida do stream.
- Para saber como criar um fluxo, consulte Criar um fluxo.
- Para saber mais sobre o BigQuery, consulte Destino do BigQuery.