Metode Optimasi

Otomatisasi Data Pipeline di Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Lebih Banyak Compute Bukan Selalu Solusinya

rumah_lebih_besar

Otomatisasi Data Pipeline di Snowflake

Empat Pendekatan Berbeda

nanobanana: half: Empat ikon alat geometris berbeda tersusun 2x2, desain flat abstrak, warna navy dan hijau DataCamp, latar putih, tanpa teks, minimalis bersih

  • Search Optimization - lookup kesetaraan pada ID berkardinalitas tinggi
  • Query Acceleration Service - pemindaian berat tak terduga
  • Automatic Clustering - filter rentang berulang pada kolom yang sama
  • Materialized Views - agregasi mahal sering dijalankan
Otomatisasi Data Pipeline di Snowflake

Search Optimization

  • Membantu kueri yang mencari sedikit baris dalam tabel besar
  • Membangun jalur akses persisten; beberapa mikro-partisi bisa dilewati
  • Biaya storage + compute untuk memelihara jalur akses
ALTER TABLE logistics.shipments
  ADD SEARCH OPTIMIZATION;
1 docs.snowflake.com/en/user-guide/search-optimization-service
Otomatisasi Data Pipeline di Snowflake

Query Acceleration Service

  • Menangani pemindaian besar yang tidak terduga
  • Mendukung SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTO
  • QUERY_ACCELERATION_MAX_SCALE_FACTOR: default 8; 0 artinya tanpa batas, bukan dinonaktifkan
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
Otomatisasi Data Pipeline di Snowflake

Automatic Clustering

  • Untuk tabel dengan kolom filter yang sama di sebagian besar kueri
  • Snowflake mengurutkan ulang mikro-partisi agar filter rentang bisa melewati lebih banyak data
  • Pemeliharaan latar belakang - tidak perlu warehouse
  • Trade-off: biaya komputasi berkelanjutan saat data baru masuk
ALTER TABLE logistics.delivery_events
  CLUSTER BY (region, dispatch_date);
1 docs.snowflake.com/en/user-guide/tables-auto-reclustering
Otomatisasi Data Pipeline di Snowflake

Materialized Views

  • Dibutuhkan saat kueri mahal dijalankan berulang kali
  • Prahitung dan simpan hasil kueri; pembacaan memakai hasil tersimpan
  • Snowflake memeliharanya otomatis di latar belakang
  • Ada batasan SQL: tanpa HAVING, join terbatas, tanpa window function
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
Otomatisasi Data Pipeline di Snowflake

Memilih Metode yang Tepat

Sinyal di Query Profile Metode yang Dipertimbangkan
TableScan membaca hampir semua partisi; pencarian kesetaraan pada kolom kardinalitas tinggi Search Optimization
Agregasi berat, pemindaian besar, datang tak terduga Query Acceleration Service
Kolom filter yang sama muncul di sebagian besar kueri; pruning lemah Automatic Clustering
Agregasi mahal yang sama sering berjalan pada data yang lambat berubah Materialized View
  • Metode saling melengkapi
Otomatisasi Data Pipeline di Snowflake

Ayo berlatih!

Otomatisasi Data Pipeline di Snowflake

Preparing Video For Download...