Datové objekty Snowflake

Úvod do datového modelování ve Snowflake

Nuno Rocha

Director of Engineering

Datový sklad

Znázornění datového skladu

Úvod do datového modelování ve Snowflake

Tradiční vs. virtuální sklad

Virtuální datový sklad Snowflake

Úvod do datového modelování ve Snowflake

Tradiční vs. virtuální sklad (1)

Virtuální datový sklad Snowflake vs. tradiční datový sklad

Úvod do datového modelování ve Snowflake

Tradiční vs. virtuální sklad (2)

  • CREATE WAREHOUSE: Klauzule Snowflake, která vytváří virtuální výpočetní zdroj pro zpracování dat.
  • USE WAREHOUSE: Klauzule Snowflake, která nastavuje aktivní datový sklad pro aktuální relaci.

Virtuální datový sklad Snowflake vs. tradiční datový sklad

Úvod do datového modelování ve Snowflake

Schémata a tabulky

Databáze, schémata, tabulky

Úvod do datového modelování ve Snowflake

Schémata a tabulky (1)

Snowflake UI

Úvod do datového modelování ve Snowflake

Schémata a tabulky (2)

  • CREATE DATABASE: Klauzule Snowflake pro vytvoření nové databáze pro organizaci datových objektů.
  • CREATE SCHEMA: Klauzule Snowflake pro definování kontejneru seskupujícího tabulky a pohledy.
  • CREATE TABLE: Příkaz Snowflake pro vytvoření nové tabulky a datových sloupců v zadaném schématu.

Snowflake UI, vytváření prvků

Úvod do datového modelování ve Snowflake

Pohledy

Vizualizace pohledu

  • POHLEDY:
    • Fungují jako virtuální entita.
    • Zabraňují duplicitě dat.
    • Šetří úložný prostor a zajišťují konzistenci dat.
    • Dynamicky prezentují data na základě logiky dotazu.
Úvod do datového modelování ve Snowflake

Pohledy (1)

  • Příklad pohledu VIEW shrnujícího urgentní objednávky zákazníků
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;
Úvod do datového modelování ve Snowflake

Materializované pohledy

Předpočítaný pohled

  • MATERIALIZOVANÉ POHLEDY:
    • Ukládají předpočítané výsledky.
    • Zlepšují výkon dotazů uložením vypočítaných operací.
    • Zkracují dobu zpracování dotazů.
    • Udržují aktualizovaný snímek dat dostupný kdykoli.
    • Zapouzdřují složité operace pro zjednodušené datové modelování.
Úvod do datového modelování ve Snowflake

Materializované pohledy (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;
Úvod do datového modelování ve Snowflake

Přehled terminologie

  • Datový sklad (tradiční): Centralizovaný systém pro ukládání a analýzu velkých objemů dat pomocí jednoho serveru.
  • Virtuální datový sklad (ve Snowflake): Flexibilní, škálovatelná sada cloudových výpočetních zdrojů určená pro zpracování a analýzu dat.
  • Databáze: Ve Snowflake je databáze primárním kontejnerem pro data obsahujícím schémata.
  • Schéma: Kolekce logických struktur obsahující tabulky, pohledy apod.
  • Tabulka: Reprezentace entity v databázi; základní struktura pro ukládání dat organizovaná v řádcích a sloupcích v rámci schémat.
  • Pohled: Uložený dotaz prezentující data jako virtuální entitu bez samostatného uložení dat.
  • Materializovaný pohled: Uložená verze pohledu, která fyzicky ukládá výsledek dotazu pro rychlejší přístup.
Úvod do datového modelování ve Snowflake

Přehled funkcí

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);
Úvod do datového modelování ve Snowflake

Vzorová šablona (materializovaného) pohledu

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;
Úvod do datového modelování ve Snowflake

Pojďme procvičovat!

Úvod do datového modelování ve Snowflake

Preparing Video For Download...