Objets de données Snowflake

Introduction à la modélisation des données dans Snowflake

Nuno Rocha

Director of Engineering

Entrepôt de données

Représentation d'un entrepôt de données

Introduction à la modélisation des données dans Snowflake

Entrepôt traditionnel vs virtuel

Entrepôt de données virtuel Snowflake

Introduction à la modélisation des données dans Snowflake

Traditionnel vs virtuel (1)

Entrepôt virtuel Snowflake vs entrepôt traditionnel

Introduction à la modélisation des données dans Snowflake

Traditionnel vs virtuel (2)

  • CREATE WAREHOUSE : clause Snowflake qui crée une ressource de calcul virtuelle pour le traitement des données.
  • USE WAREHOUSE : clause Snowflake qui définit l'entrepôt actif pour la session en cours.

Entrepôt virtuel Snowflake vs entrepôt traditionnel

Introduction à la modélisation des données dans Snowflake

Schémas et tables

Base de données, schémas, tables

Introduction à la modélisation des données dans Snowflake

Schémas et tables (1)

Interface Snowflake

Introduction à la modélisation des données dans Snowflake

Schémas et tables (2)

  • CREATE DATABASE : clause Snowflake pour créer une nouvelle base afin d'organiser les objets de données.
  • CREATE SCHEMA : clause Snowflake pour définir un conteneur qui regroupe tables et vues.
  • CREATE TABLE : commande Snowflake pour créer une table et ses colonnes dans un schéma donné.

Interface Snowflake, création d'éléments

Introduction à la modélisation des données dans Snowflake

Vues

Visualisation d'une vue

  • VUES :
    • Agissent comme des entités virtuelles.
    • Évitent les doublons de données.
    • Économisent l'espace et assurent la cohérence.
    • Présentent les données dynamiquement selon la logique de requête.
Introduction à la modélisation des données dans Snowflake

Vues (1)

  • Exemple de VIEW résumant les commandes urgentes des clients
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;
Introduction à la modélisation des données dans Snowflake

Vues matérialisées

Vue précalculée

  • VUES MATÉRIALISÉES :
    • Stockent des résultats précalculés.
    • Améliorent la performance des requêtes en conservant des calculs.
    • Réduisent le temps de traitement.
    • Maintiennent un instantané rafraîchi, accessible en tout temps.
    • Encapsulent des opérations complexes pour un modèle de données simplifié.
Introduction à la modélisation des données dans Snowflake

Vues matérialisées (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;
Introduction à la modélisation des données dans Snowflake

Aperçu de la terminologie

  • Entrepôt de données (traditionnel) : système centralisé pour stocker et analyser de gros volumes de données sur un seul serveur.
  • Entrepôt de données virtuel (dans Snowflake) : ensemble souple et évolutif de ressources infonuagiques dédié au traitement et à l'analyse des données.
  • Base de données : dans Snowflake, conteneur principal qui héberge des schémas.
  • Schéma : ensemble de structures logiques qui contiennent tables, vues, etc.
  • Table : représentation d'une entité dans la base ; structure de stockage de base, en lignes et colonnes, dans des schémas.
  • Vue : requête enregistrée qui présente les données comme une entité virtuelle sans les stocker séparément.
  • Vue matérialisée : version stockée d'une vue qui enregistre physiquement le résultat pour un accès plus rapide.
Introduction à la modélisation des données dans Snowflake

Aperçu des fonctions

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);
Introduction à la modélisation des données dans Snowflake

Modèle de vue (matérialisée) exemplaire

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;
Introduction à la modélisation des données dans Snowflake

Passons à la pratique !

Introduction à la modélisation des données dans Snowflake

Preparing Video For Download...