Métodos de Otimização

Automação de Pipelines de Dados no Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Mais compute nem sempre resolve

casa_maior

Automação de Pipelines de Dados no Snowflake

Quatro abordagens

nanobanana: half: Quatro ícones de ferramentas geométricos distintos em grade 2x2, design flat abstrato, cores azul-marinho e verde da DataCamp, fundo branco, sem texto, minimalista e limpo

  • Search Optimization: buscas por igualdade em IDs de alta cardinalidade
  • Query Acceleration Service: varreduras pesadas imprevisíveis
  • Clustering Automático: filtros de faixa repetidos nas mesmas colunas
  • Views Materializadas: agregações caras com alta frequência
Automação de Pipelines de Dados no Snowflake

Search Optimization

  • Ajuda consultas que buscam poucas linhas em uma tabela grande
  • Cria um caminho de acesso persistente; dá para pular micro‑partições
  • Custo de storage + compute para manter o caminho
ALTER TABLE logistics.shipments
  ADD SEARCH OPTIMIZATION;
1 docs.snowflake.com/en/user-guide/search-optimization-service
Automação de Pipelines de Dados no Snowflake

Query Acceleration Service

  • Lida com varreduras grandes e imprevisíveis
  • Suporta SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTO
  • QUERY_ACCELERATION_MAX_SCALE_FACTOR: padrão 8; 0 = ilimitado, não desativa
ALTER WAREHOUSE harbr_wh SET
  ENABLE_QUERY_ACCELERATION = TRUE
  QUERY_ACCELERATION_MAX_SCALE_FACTOR 
  = 8;
1 docs.snowflake.com/en/user-guide/query-acceleration-service
Automação de Pipelines de Dados no Snowflake

Clustering Automático

  • Para tabelas onde os mesmos filtros aparecem na maioria das consultas
  • Snowflake reordena micro‑partições para pular mais dados em filtros de faixa
  • Manutenção em segundo plano — não precisa de warehouse
  • Trade-off: custo contínuo de computação conforme chegam novos dados
ALTER TABLE logistics.delivery_events
  CLUSTER BY (region, dispatch_date);
1 docs.snowflake.com/en/user-guide/tables-auto-reclustering
Automação de Pipelines de Dados no Snowflake

Views Materializadas

  • Útil quando uma consulta cara roda repetidamente
  • Pré-calcula e armazena o resultado; leituras usam o resultado armazenado
  • Snowflake mantém automaticamente em segundo plano
  • Restrições de SQL: sem HAVING, joins limitados, sem janelas
CREATE MATERIALIZED VIEW 
logistics.emea_summary_mv AS
  SELECT region, carrier_id,
         COUNT(*) AS shipments,
         AVG(delivery_days) AS avg_days
  FROM logistics.shipments
  WHERE region = 'EMEA'
  GROUP BY region, carrier_id;
1 docs.snowflake.com/en/user-guide/views-materialized
Automação de Pipelines de Dados no Snowflake

Escolhendo o método certo

Sinal no Query Profile Método a considerar
TableScan lê quase todas as partições; busca por igualdade em coluna de alta cardinalidade Search Optimization
Agregação pesada, varreduras grandes, chega de forma imprevisível Query Acceleration Service
Mesmos filtros em maioria das consultas; pruning fraco Clustering Automático
Mesma agregação cara roda com frequência em dados de mudança lenta View Materializada
  • Métodos se complementam
Automação de Pipelines de Dados no Snowflake

Vamos praticar!

Automação de Pipelines de Dados no Snowflake

Preparing Video For Download...