Metode de optimizare

Automatizarea pipeline-urilor de date în Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Mai multă putere de calcul nu este întotdeauna soluția

bigger_house

Automatizarea pipeline-urilor de date în Snowflake

Patru abordări diferite

nanobanana: half: Patru pictograme geometrice distincte aranjate într-o grilă doi pe doi, design plat abstract, culori navy și verde DataCamp, fundal alb, fără text, minimalist

  • Search Optimization – căutări exacte pe ID-uri cu cardinalitate ridicată
  • Query Acceleration Service – scanări intense și imprevizibile
  • Automatic Clustering – filtrări repetate pe intervale, aceleași coloane
  • Materialized Views – agregări costisitoare executate frecvent
Automatizarea pipeline-urilor de date în Snowflake

Search Optimization

  • Ajută la găsirea interogărilor care returnează puține rânduri dintr-un tabel mare
  • Construiește o cale de acces persistentă; unele micro-partiții pot fi omise
  • Costuri de stocare și calcul pentru menținerea căii de acces
ALTER TABLE logistics.shipments
  ADD SEARCH OPTIMIZATION;
1 docs.snowflake.com/en/user-guide/search-optimization-service
Automatizarea pipeline-urilor de date în Snowflake

Serviciul de accelerare a interogărilor

  • Gestionează scanări mari și imprevizibile
  • Suportă SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTO
  • QUERY_ACCELERATION_MAX_SCALE_FACTOR: implicit 8; 0 înseamnă nelimitat, nu dezactivat
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
Automatizarea pipeline-urilor de date în Snowflake

Clustering automat

  • Pentru tabele în care aceleași coloane de filtrare apar în majoritatea interogărilor
  • Snowflake reordonează micro-partiții pentru a omite mai multe date la filtrări pe intervale
  • Întreținere în fundal – nu necesită warehouse
  • Compromis: cost de calcul continuu pe măsură ce sosesc date noi
ALTER TABLE logistics.delivery_events
  CLUSTER BY (region, dispatch_date);
1 docs.snowflake.com/en/user-guide/tables-auto-reclustering
Automatizarea pipeline-urilor de date în Snowflake

Vizualizări materializate

  • Utilă când o interogare costisitoare rulează repetat
  • Pre-calculează și stochează rezultatul; citirile accesează rezultatul stocat
  • Snowflake o actualizează automat în fundal
  • Restricții SQL: fără HAVING, join-uri limitate, fără funcții fereastră
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
Automatizarea pipeline-urilor de date în Snowflake

Alegerea metodei potrivite

Semnal în profilul interogării Metodă de luat în considerare
TableScan citește aproape toate partițiile; căutare exactă pe o coloană cu cardinalitate ridicată Search Optimization
Agregări intense, scanări mari, sosire imprevizibilă Query Acceleration Service
Aceleași coloane de filtrare apar în majoritatea interogărilor; pruning slab Automatic Clustering
Aceeași agregare costisitoare rulează frecvent pe date rar modificate Materialized View
  • Metodele se completează reciproc
Automatizarea pipeline-urilor de date în Snowflake

Să exersăm!

Automatizarea pipeline-urilor de date în Snowflake

Preparing Video For Download...