Snowflake डेटा ऑब्जेक्ट्स

Snowflake में डेटा मॉडलिंग परिचय

Nuno Rocha

Director of Engineering

डेटा वेयरहाउस

डेटा वेयरहाउस का चित्रण

Snowflake में डेटा मॉडलिंग परिचय

परंपरागत बनाम वर्चुअल वेयरहाउस

Snowflake वर्चुअल डेटा वेयरहाउस

Snowflake में डेटा मॉडलिंग परिचय

परंपरागत बनाम वर्चुअल वेयरहाउस (1)

Snowflake वर्चुअल डेटा वेयरहाउस बनाम परंपरागत डेटा वेयरहाउस

Snowflake में डेटा मॉडलिंग परिचय

परंपरागत बनाम वर्चुअल वेयरहाउस (2)

  • CREATE WAREHOUSE: Snowflake क्लॉज़ जो डेटा प्रोसेसिंग के लिए वर्चुअल कंप्यूटिंग रिसोर्स बनाता है.
  • USE WAREHOUSE: Snowflake क्लॉज़ जो मौजूदा सत्र के लिए सक्रिय वेयरहाउस सेट करता है.

Snowflake वर्चुअल डेटा वेयरहाउस बनाम परंपरागत डेटा वेयरहाउस

Snowflake में डेटा मॉडलिंग परिचय

स्कीमा और टेबल

डेटाबेस, स्कीमा, टेबल

Snowflake में डेटा मॉडलिंग परिचय

स्कीमा और टेबल (1)

Snowflake UI

Snowflake में डेटा मॉडलिंग परिचय

स्कीमा और टेबल (2)

  • CREATE DATABASE: नया डेटाबेस बनाने का Snowflake क्लॉज़, जिसमें डेटा ऑब्जेक्ट्स व्यवस्थित होते हैं.
  • CREATE SCHEMA: टेबल और व्यूज़ को समूहित करने के लिए कंटेनर परिभाषित करता है.
  • CREATE TABLE: दिए गए स्कीमा में नई टेबल संरचना और कॉलम बनाता है.

Snowflake UI, तत्व बनाना

Snowflake में डेटा मॉडलिंग परिचय

व्यूज़

व्यू का दृश्यांकन

  • VIEWS:
    • वर्चुअल एंटिटी की तरह काम करते हैं.
    • डेटा डुप्लिकेट से बचाते हैं.
    • स्टोरेज बचता है और डेटा कंसिस्टेंसी बनी रहती है.
    • क्वेरी लॉजिक के आधार पर डेटा को डायनामिक रूप से दिखाते हैं.
Snowflake में डेटा मॉडलिंग परिचय

व्यूज़ (1)

  • उदाहरण VIEW: ग्राहकों के तात्कालिक ऑर्डर का सारांश
CREATE OR REPLACE VIEW customer_urgent_orders AS
SELECT c.c_name AS customer_name, 
    COUNT(DISTINCT o_orderkey) AS order_count,
    SUM(o_totalprice) AS total_price
FROM customer AS c
    JOIN orders AS o 
    ON c.c_custkey = o.o_custkey
WHERE o.o_orderpriority = '1-URGENT'
GROUP BY c.c_name;
ORDER BY total_price DESC;
Snowflake में डेटा मॉडलिंग परिचय

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

प्री-कैल्कुलेटेड व्यू

  • MATERIALIZED VIEWS:
    • पहले से कैलकुलेट किए गए परिणाम स्टोर करते हैं.
    • कम्प्यूटेड ऑपरेशंस स्टोर करके क्वेरी परफॉर्मेंस बेहतर करते हैं.
    • क्वेरी प्रोसेसिंग समय घटता है.
    • हमेशा ताज़ा डेटा स्नैपशॉट बनाए रखते हैं.
    • जटिल ऑपरेशंस को समेटकर मॉडलिंग सरल बनाते हैं.
Snowflake में डेटा मॉडलिंग परिचय

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

CREATE OR REPLACE MATERIALIZED VIEW top_customers AS
SELECT o.o_custkey AS customer_id,
    c.c_name AS customer_name,
    CASE 
        WHEN SUM(o.o_totalprice) > 5000000 THEN 'Over Price'
        WHEN SUM(o.o_totalprice) > 3000000 THEN 'Top Price'
        WHEN SUM(o.o_totalprice) > 2000000 THEN 'Average Price'
        ELSE 'Review Price'
    END AS total_price
FROM customer AS c
    JOIN orders AS o ON c.c_custkey = o.o_custkey
GROUP BY o.o_custkey, c.c_name
HAVING total_price > 2000000;
Snowflake में डेटा मॉडलिंग परिचय

टर्मिनोलॉजी ओवरव्यू

  • डेटा वेयरहाउस (परंपरागत): एक केंद्रीकृत सिस्टम जो एकल सर्वर सेटअप पर बड़े पैमाने का डेटा स्टोर और विश्लेषित करता है.
  • वर्चुअल डेटा वेयरहाउस (Snowflake में): डेटा प्रोसेसिंग और विश्लेषण के लिए लचीले, स्केलेबल क्लाउड-आधारित कंप्यूटिंग रिसोर्सेज का सेट.
  • डेटाबेस: Snowflake में, स्कीमा रखने वाला प्राथमिक कंटेनर.
  • स्कीमा: लॉजिकल स्ट्रक्चर का संग्रह, जिसमें टेबल, व्यूज़ आदि होते हैं.
  • टेबल: डेटाबेस में किसी एंटिटी का प्रतिनिधित्व; मूल स्टोरेज स्ट्रक्चर, जो स्कीमा के भीतर पंक्तियों और कॉलम में व्यवस्थित होता है.
  • व्यू: सेव्ड क्वेरी जो डेटा को वर्चुअल एंटिटी की तरह दिखाती है, अलग से डेटा स्टोर नहीं करती.
  • मटेरियलाइज़्ड व्यू: व्यू का स्टोर किया हुआ संस्करण जो क्वेरी परिणाम को फिजिकली सेव करता है ताकि एक्सेस तेज हो.
Snowflake में डेटा मॉडलिंग परिचय

फंक्शंस ओवरव्यू

CREATE OR REPLACE WAREHOUSE data_warehouse_name;
USE WAREHOUSE data_warehouse_name;
CREATE OR REPLACE DATABASE database_name;
CREATE OR REPLACE SCHEMA schema_name;
CREATE OR REPLACE TABLE table_name(
    column_name datatype,
    other_columns datatype);
Snowflake में डेटा मॉडलिंग परिचय

उदाहरणात्मक (मटेरियलाइज़्ड) व्यू टेम्पलेट

CREATE OR REPLACE VIEW view_name AS
SELECT column_name, 
    SUM(column_name2) AS sum_alias,
    CASE WHEN column_name5   condition   value THEN assigned_value
        ELSE another_assigned_value
    END AS case_alias
FROM table_name AS table_alias
    JOIN other_table AS other_alias ON table_alias.FK = other_alias.PK
    LEFT JOIN another_table AS another_alias ON table_alias.FK = other_alias.PK
GROUP BY column_name;
Snowflake में डेटा मॉडलिंग परिचय

अभ्यास करते हैं!

Snowflake में डेटा मॉडलिंग परिचय

Preparing Video For Download...