अनुकूलन विधियाँ

Snowflake में डेटा पाइपलाइन ऑटोमेशन

Emily Melhuish

Technical Curriculum Developer, Snowflake

अधिक कंप्यूट हमेशा समाधान नहीं है

बड़ा_घर

Snowflake में डेटा पाइपलाइन ऑटोमेशन

चार अलग‑अलग तरीके

nanobanana: half: दो गुणा दो ग्रिड में व्यवस्थित चार अलग‑अलग ज्यामितीय टूल आइकन, अमूर्त फ्लैट डिज़ाइन, DataCamp नेवी ब्लू और ग्रीन रंग, सफेद पृष्ठभूमि, कोई पाठ नहीं, न्यूनतम साफ़

  • Search Optimization — उच्च-कार्डिनैलिटी IDs पर equality lookup
  • Query Acceleration Service — अप्रत्याशित भारी स्कैन
  • Automatic Clustering — वही कॉलम पर दोहराए गए रेंज फ़िल्टर
  • Materialized Views — महँगे एग्रीगेशन बार‑बार चलते हैं
Snowflake में डेटा पाइपलाइन ऑटोमेशन

Search Optimization

  • बड़े टेबल में कम पंक्तियाँ ढूँढ़ने वाली क्वेरी के लिए सहायक
  • एक स्थायी एक्सेस पथ बनाता है; कुछ माइक्रो-पार्टिशन स्किप हो सकते हैं
  • एक्सेस पथ को बनाए रखने की स्टोरेज + compute लागत
ALTER TABLE logistics.shipments
  ADD SEARCH OPTIMIZATION;
1 docs.snowflake.com/en/user-guide/search-optimization-service
Snowflake में डेटा पाइपलाइन ऑटोमेशन

Query Acceleration Service

  • बड़े, अप्रत्याशित स्कैन संभालता है
  • SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTO को सपोर्ट करता है
  • QUERY_ACCELERATION_MAX_SCALE_FACTOR: डिफ़ॉल्ट 8; 0 का अर्थ असीमित, निष्क्रिय नहीं
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
Snowflake में डेटा पाइपलाइन ऑटोमेशन

स्वचालित क्लस्टरिंग

  • उन तालिकाओं के लिए जहाँ अधिकांश क्वेरी में वही फ़िल्टर कॉलम आते हैं
  • Snowflake माइक्रो-पार्टिशन को पुन: क्रमित करता है ताकि रेंज फ़िल्टर अधिक डेटा स्किप कर सकें
  • पृष्ठभूमि में रखरखाव — वेयरहाउस आवश्यक नहीं
  • समझौता: नए डेटा पर चलते ही निरंतर compute लागत
ALTER TABLE logistics.delivery_events
  CLUSTER BY (region, dispatch_date);
1 docs.snowflake.com/en/user-guide/tables-auto-reclustering
Snowflake में डेटा पाइपलाइन ऑटोमेशन

मटेरियलाइज़्ड व्यूज़

  • तब उपयोगी जब महँगी क्वेरी बार‑बार चलती है
  • क्वेरी का परिणाम पूर्व-गणना कर संग्रहीत करता है; रीड सीधे उसी को पढ़ती हैं
  • Snowflake इसे बैकग्राउंड में स्वचालित रूप से मेंटेन करता है
  • SQL सीमाएँ: HAVING नहीं, सीमित जोइन्स, विंडो फ़ंक्शन नहीं
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
Snowflake में डेटा पाइपलाइन ऑटोमेशन

सही विधि चुनना

क्वेरी प्रोफ़ाइल में संकेत विचार करने की विधि
TableScan लगभग सभी पार्टिशन पढ़ता है; उच्च-कार्डिनैलिटी कॉलम पर समानता लुकअप Search Optimization
भारी एग्रीगेशन, बड़े स्कैन, अप्रत्याशित आगमन Query Acceleration Service
अधिकांश क्वेरी में वही फ़िल्टर कॉलम; pruning कमजोर Automatic Clustering
वही महँगा एग्रीगेशन धीमे-परिवर्तनशील डेटा पर बार‑बार चलता है Materialized View
  • विधियाँ एक-दूसरे को पूरक हैं
Snowflake में डेटा पाइपलाइन ऑटोमेशन

Ayo berlatih!

Snowflake में डेटा पाइपलाइन ऑटोमेशन

Preparing Video For Download...