Phương pháp Tối ưu hóa

Tự động hóa Data Pipeline trong Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Thêm tài nguyên tính toán không phải lúc nào cũng giải quyết được

ngôi nhà to hơn

Tự động hóa Data Pipeline trong Snowflake

Bốn cách tiếp cận

nanobanana: half: Bốn biểu tượng công cụ hình học riêng biệt xếp dạng lưới 2x2, thiết kế phẳng trừu tượng, màu xanh navy và xanh lá DataCamp, nền trắng, không chữ, tối giản

  • Search Optimization – tra cứu bằng bằng trên ID độ phân biệt cao
  • Query Acceleration Service – quét nặng khó dự đoán
  • Automatic Clustering – lọc theo khoảng lặp lại trên cùng cột
  • Materialized Views – tổng hợp tốn kém chạy thường xuyên
Tự động hóa Data Pipeline trong Snowflake

Search Optimization

  • Hữu ích cho truy vấn tìm ít hàng trong bảng rất lớn
  • Xây dựng đường truy cập bền vững; bỏ qua được một số vi-phân vùng
  • Chi phí lưu trữ + tính toán để duy trì đường truy cập
ALTER TABLE logistics.shipments
  ADD SEARCH OPTIMIZATION;
1 docs.snowflake.com/en/user-guide/search-optimization-service
Tự động hóa Data Pipeline trong Snowflake

Dịch vụ Tăng tốc Truy vấn

  • Xử lý các quét lớn, khó dự đoán
  • Hỗ trợ SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTO
  • QUERY_ACCELERATION_MAX_SCALE_FACTOR: mặc định 8; 0 là không giới hạn, không phải tắt
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
Tự động hóa Data Pipeline trong Snowflake

Phân cum Tự động

  • Dành cho bảng có cùng cột lọc xuất hiện trong hầu hết truy vấn
  • Snowflake sắp xếp lại vi-phân vùng để bộ lọc khoảng bỏ qua được nhiều dữ liệu hơn
  • Bảo trì nền – không cần warehouse
  • Đánh đổi: chi phí tính toán duy trì khi dữ liệu mới đến
ALTER TABLE logistics.delivery_events
  CLUSTER BY (region, dispatch_date);
1 docs.snowflake.com/en/user-guide/tables-auto-reclustering
Tự động hóa Data Pipeline trong Snowflake

View Vật hóa

  • Cần khi một truy vấn tốn kém lặp lại nhiều lần
  • Tính trước và lưu kết quả; truy vấn đọc từ kết quả đã lưu
  • Snowflake tự động duy trì ở nền
  • Hạn chế SQL: không HAVING, join hạn chế, không hàm cửa sổ
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
Tự động hóa Data Pipeline trong Snowflake

Chọn phương pháp phù hợp

Tín hiệu trong Query Profile Phương pháp nên cân nhắc
TableScan đọc gần như mọi phân vùng; tra cứu bằng bằng trên cột nhiều giá trị khác nhau Search Optimization
Tổng hợp nặng, quét lớn, đến không đoán trước được Query Acceleration Service
Cùng cột lọc lặp lại trong đa số truy vấn; cắt tỉa yếu Automatic Clustering
Cùng phép tổng hợp tốn kém chạy thường xuyên trên dữ liệu ít thay đổi Materialized View
  • Các phương pháp bổ trợ cho nhau
Tự động hóa Data Pipeline trong Snowflake

Vamos praticar!

Tự động hóa Data Pipeline trong Snowflake

Preparing Video For Download...