Micro-partições e clusterização de dados

Arquitetura do Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Consultando uma tabela grande

Exemplo: Assinatura

USER_ID REGISTRATION_DATE USER_NAME
912930 2026-04-01 JANEDOE
912931 2026-04-06 JOHNDOE
912932 2026-04-12 JIMMYDOE
... ... ...

Quanto dado a consulta precisa ler desta tabela?

Arquitetura do Snowflake

Micro-partições

Exemplo mostrando micro-partições e como os dados são armazenados com colunas juntas

  • Em micro-partições, as colunas são armazenadas e comprimidas separadamente
  • O Snowflake lê só as colunas que a consulta precisa
Arquitetura do Snowflake

Metadados

Exemplo de micro-partições com metadados

  • O Snowflake armazena metadados para cada micro-partição
  • Armazenados na camada de serviços em nuvem
Arquitetura do Snowflake

Poda de partições

Exemplo de poda

Arquitetura do Snowflake

Poda de partições

Exemplo de poda com opção selecionada

  • O Snowflake pula micro-partições que não podem conter os dados que tua consulta precisa.
  • Lê só os trechos relevantes = poda de partições
Arquitetura do Snowflake

Clusterização

Exemplo mostrando micro-partições e como os dados são armazenados com colunas juntas

  • Consultas por data costumam podar bem (ex.: séries temporais)

  • Poda não ajuda quando valores estão espalhados pelas partições (ex.: região)

  • Clustering key: o Snowflake organiza micro-partições em torno dessa coluna

Arquitetura do Snowflake

Clustering key: quando usar

clustering_key_v5.png

Arquitetura do Snowflake

Clustering key: cardinalidade e custo

clustering_key_v5.png

Arquitetura do Snowflake

Vamos praticar!

Arquitetura do Snowflake

Preparing Video For Download...