Metodi di ottimizzazione

Automazione delle pipeline di dati in Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Più compute non è sempre la soluzione

casa più grande

Automazione delle pipeline di dati in Snowflake

Quattro approcci diversi

nanobanana: metà: Quattro icone di strumenti geometriche distinte disposte in una griglia 2x2, design piatto astratto, colori DataCamp blu navy e verde, sfondo bianco, senza testo, minimalista pulito

  • Search Optimization: lookup per uguaglianza su ID ad alta cardinalità
  • Query Acceleration Service: scan pesanti imprevedibili
  • Clustering automatico: filtri di range ripetuti sulle stesse colonne
  • Materialized Views: aggregazioni costose eseguite spesso
Automazione delle pipeline di dati in Snowflake

Search Optimization

  • Aiuta le query che cercano poche righe in una tabella grande
  • Crea un percorso di accesso persistente; alcune micro‑partizioni si possono saltare
  • Costo storage + compute per mantenere il percorso
ALTER TABLE logistics.shipments
  ADD SEARCH OPTIMIZATION;
1 docs.snowflake.com/en/user-guide/search-optimization-service
Automazione delle pipeline di dati in Snowflake

Query Acceleration Service

  • Gestisce scan grandi e imprevedibili
  • Supporta SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTO
  • QUERY_ACCELERATION_MAX_SCALE_FACTOR: default 8; 0 = illimitato, non disattiva
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
Automazione delle pipeline di dati in Snowflake

Clustering automatico

  • Per tabelle con gli stessi filtri in gran parte delle query
  • Snowflake riordina le micro‑partizioni per far saltare più dati coi range filter
  • Manutenzione in background: non serve warehouse
  • Compromesso: costo compute continuo man mano che arrivano dati nuovi
ALTER TABLE logistics.delivery_events
  CLUSTER BY (region, dispatch_date);
1 docs.snowflake.com/en/user-guide/tables-auto-reclustering
Automazione delle pipeline di dati in Snowflake

Materialized Views

  • Utile quando la stessa query costosa gira di continuo
  • Pre‑calcola e salva il risultato; le letture usano il risultato salvato
  • Snowflake la mantiene automaticamente in background
  • Limiti SQL: niente HAVING, join limitati, niente funzioni finestra
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
Automazione delle pipeline di dati in Snowflake

Scegli il metodo giusto

Segnale nel Query Profile Metodo da considerare
TableScan legge quasi tutte le partizioni; lookup per uguaglianza su colonna ad alta cardinalità Search Optimization
Aggregazione pesante, grandi scan, arrivi imprevedibili Query Acceleration Service
Stesse colonne di filtro nella maggior parte delle query; pruning debole Clustering automatico
Stessa aggregazione costosa eseguita spesso su dati che cambiano poco Materialized View
  • I metodi si completano a vicenda
Automazione delle pipeline di dati in Snowflake

Ayo berlatih!

Automazione delle pipeline di dati in Snowflake

Preparing Video For Download...