Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

📈 Databricks – Lakehouse, Spark, Delta Lake & Unity Catalog

Guide complet IDEO-Lab sur la plateforme "Data + AI" (Spark managé).

1.1

Concept : Data & AI Platform

Plateforme unifiée (par les créateurs de Spark).

Databricks Data AI
1.2

Architecture Cloud (VPC)

Control Plane (SaaS) vs Data Plane (Client VPC).

Architecture Control Plane Data Plane
1.3

vs. Snowflake / EMR

Data Science (Databricks) vs SQL (Snowflake).

Snowflake AWS EMR
2.1

Moteur : Apache Spark

Calcul distribué (RDD, DataFrames, Spark SQL).

Apache Spark DataFrame
2.2

Moteur : Photon

Moteur C++ (Vectorisé). Remplace Spark (Rapide).

Photon C++ Vectorized
2.3

Compute : Clusters

All-Purpose (Interactif) vs Job (Automatisé).

Clusters Jobs
3.1

Le ProblĂšme : Lake vs Warehouse

Data Lake (S3, Staging) vs Data Warehouse (SQL, BI).

Data Lake Data Warehouse
3.2

Concept : Le Lakehouse

Le meilleur des deux (ACID sur le Data Lake).

Lakehouse Delta Lake
3.3

Stockage : Delta Lake

ACID, Time Travel, Z-Ordering (Parquet + Logs JSON).

Delta Lake ACID Time Travel
4.1

Gouvernance : Unity Catalog (UC)

Le metastore centralisé (Data & AI).

Unity Catalog Metastore
4.2

UC : ModĂšle (3 Niveaux)

Catalog.Schema.Table (SQL Standard).

Catalog Schema Table
4.3

UC : Sécurité & Lineage

GRANT (SQL ACL), Data Lineage (Traçabilité).

GRANT Lineage
5.1

Persona : Data Engineering

Pipelines (ETL/ELT), Architecture (Bronze/Silver/Gold).

Data Engineering ETL
5.2

Outil : Notebooks

Interactif (Python, Scala, SQL, R). (%sql, %python).

Notebooks PySpark
5.3

Outil : Jobs (Workflows)

Orchestration (Scheduling) de Notebooks/Tasks (DAGs).

Jobs Workflows
6.1

Persona : Data Analytics (SQL)

Analyse BI (Business Intelligence) sur le Lakehouse.

Data Analytics SQL
6.2

Outil : Databricks SQL

SQL Warehouses (Clusters Photon), SQL Editor, Dashboards.

Databricks SQL SQL Warehouse
6.3

Persona : Data Science (ML)

Machine Learning (Scikit-learn, TensorFlow, PyTorch).

Data Science Machine Learning
7.1

Outil : MLflow

Gestion du cycle de vie ML (Tracking, Models, Registry).

MLflow MLOps
7.2

Outil : DLT (Delta Live Tables)

Pipelines ETL déclaratifs (Streaming, Auto-scaling).

Delta Live Tables ETL
7.3

Compute : Serverless

DBSQL Serverless (Compute instantané, managé).

Serverless DBSQL
1.1 Concept : Data & AI Platform
Qu'est-ce que Databricks ?

Databricks est une plateforme unifiée (SaaS) pour le Data Engineering, le Data Warehousing (SQL), la Data Science et l'IA (Machine Learning).

Elle a été fondée par les créateurs originaux d'Apache Spark (2.1). Databricks est (essentiellement) une plateforme commerciale qui fournit "Apache Spark" en tant que service managé, optimisé, et intégré à un écosystÚme (Delta Lake, MLflow, Unity Catalog).

Le "Lakehouse" (La Vision)

La philosophie de Databricks est le "Lakehouse" (3.2) : une architecture ouverte qui combine la flexibilité et le coût d'un Data Lake (ex: S3, ADLS) avec la performance et la fiabilité (ACID) d'un Data Warehouse (ex: Snowflake, Redshift).

1.2 Architecture Cloud (Control Plane / Data Plane)

Databricks est une plateforme SaaS hybride qui fonctionne sur AWS, Azure, ou GCP. Elle utilise une architecture unique qui sépare le "ContrÎle" (managé par Databricks) et les "Données" (managés par vous).

+------------------------------------------+
| [ DATABRICKS SAAS (Control Plane) ]      | (Tourne dans le Cloud de Databricks)
|                                          |
| - Interface Web (UI) / API               |
| - Gestion des Notebooks                  |
| - Orchestrateur (Jobs)                   |
| - Metastore (Unity Catalog)              |
+------------------------------------------+
       │
       │ (Commandes sĂ©curisĂ©es)
       │ (ex: "CrĂ©er un Cluster", "Lancer Job")
       │
       ▌
+------------------------------------------+
| [ VOTRE CLOUD (Data Plane) ]             | (Tourne dans votre VPC AWS/Azure/GCP)
|                                          |
| +------------------+                     |
| | Cluster (Compute)| (VMs EC2/...)       |
| | (Spark / Photon) |                     |
| +------------------+                     |
|     │                                    |
|     │ (Lit/Écrit)                        |
|     ▌                                    |
| +------------------+                     |
| | Stockage (Data)  | (ex: S3 Bucket)     |
| | (Delta Lake)     |                     |
| +------------------+                     |
+------------------------------------------+
  • Control Plane (Plan de ContrĂŽle) : L'interface web, les APIs, l'orchestrateur. ManagĂ© par Databricks.
  • Data Plane (Plan de DonnĂ©es) : C'est lĂ  que les donnĂ©es sont stockĂ©es (votre S3) et traitĂ©es (vos VMs/Clusters). ManagĂ© par Vous (dans votre VPC).

Avantage (Sécurité) : Vos données brutes (Delta Lake sur S3) ne quittent jamais votre compte Cloud (VPC).

1.3 Comparaison : Databricks vs. Snowflake vs. EMR
CritĂšreDatabricks (Lakehouse)Snowflake (Data Warehouse)AWS EMR (Spark)
Usage PrincipalData Science (ML), Ingénierie (PySpark), SQL.SQL Analytique (BI), Data Warehouse pur."DIY" Spark (Spark "brut" managé).
ArchitectureLakehouse (Ouvert). Stockage (S3) séparé.EntrepÎt (Fermé). Stockage (S3) séparé (mais géré).Cluster (Hadoop/Spark) sur EC2.
Format (Stockage)Delta Lake (Open) (Basé sur Parquet).Propriétaire (Données compressées/chiffrées).(Ce que vous voulez : Parquet, CSV...).
LangagesPython, Scala, SQL, R.SQL (Support Python/Java récent).Python, Scala, Java.
Niveau (Managé)TrÚs élevé (SaaS + Data Plane).TrÚs élevé (SaaS).Moyen (IaaS/PaaS). (Gestion des VMs EC2).
2.1 Moteur : Apache Spark
Le Moteur de Calcul Distribué

Apache Spark (le cƓur historique de Databricks) est un moteur de calcul distribuĂ© (distribuĂ©), open-source, conçu pour le Big Data. Il remplace "MapReduce" (Hadoop).

Principe (In-Memory) : Spark est rapide car il essaie de garder les données (DataSets) en mémoire vive (RAM) (In-Memory) sur le cluster, au lieu de lire/écrire sur le disque (HDFS/S3) à chaque étape.

Architecture (Cluster)
  • Driver (Pilote) : Le "cerveau" (le main() de votre app) qui dĂ©compose le travail (le "plan").
  • Executors (ExĂ©cuteurs) : Les "muscles" (workers) qui effectuent les tĂąches (calculs) sur des partitions de donnĂ©es.
RDD vs DataFrame (L'API)

RDD (Resilient Distributed Dataset) : (L'API "bas niveau" - Legacy) Une collection d'objets (non-structurée). (Difficile à optimiser).

DataFrame (DataFrames / Datasets) : (L'API "haut niveau" - Moderne) Une table (structurée) (comme un Pandas DataFrame ou une table SQL) distribuée sur le cluster. C'est le standard aujourd'hui.

Spark SQL

Permet d'exĂ©cuter des requĂȘtes SQL (ex: SELECT * FROM ...) directement sur des DataFrames (ou des fichiers Parquet/Delta).

Catalyst Optimizer : Le "cerveau" de Spark SQL qui traduit le SQL (ou le code DataFrame) en un plan d'exécution (DAG) physique optimisé.

2.2 Moteur : Photon

Photon est le nouveau moteur (engine) de Databricks. C'est le "remplaçant" de Spark.

ProblÚme (Spark) : Spark est écrit en Scala (JVM). Il souffre des limitations de la JVM (ex: Garbage Collection, JIT...).

Photon (Le "Natif")

Photon est une réécriture complÚte du moteur de calcul Spark, en C++ (natif).

Caractéristiques :

  • ExĂ©cution VectorisĂ©e (Vectorized Query Processing) : (Similaire aux BDDs analytiques) Traite les donnĂ©es par "colonnes" (batches) au lieu de "lignes" (rows). (ExtrĂȘmement efficace pour le CPU/SIMD).
  • Compatible API : 100% compatible avec les APIs Spark (DataFrames, SQL). C'est un "swap" transparent.

RĂ©sultat : Beaucoup plus rapide (3x-8x) que Spark (JVM) pour les requĂȘtes SQL et DataFrame (ETL, BI).

Usage : C'est le moteur par défaut des Databricks SQL Warehouses (6.2).

2.3 Compute : Clusters

Dans Databricks, le "Compute" (la puissance de calcul Spark/Photon) est fourni par des Clusters (un groupe de VMs EC2/Azure).

All-Purpose vs Job Clusters
TypeUsageCoût
All-Purpose Cluster(Interactif) Pour le développement (attaché à un Notebook). (Multi-utilisateurs).Plus cher (DBU).
Job Cluster(Automatisé) Un cluster éphémÚre (créé/détruit) pour une seule tùche (Job).Moins cher (DBU). (Bonne pratique de Prod).
Databricks SQL Warehouse

C'est un type de "Compute" spĂ©cifique (optimisĂ© Photon) conçu uniquement pour exĂ©cuter des requĂȘtes SQL (BI) (via l'Éditeur SQL (6.2) ou des outils (Tableau, Power BI)).

Serverless : (Voir 7.3) Le mode "Serverless SQL" permet un démarrage instantané (pas d'attente de cluster).

3.1 Le ProblĂšme : Data Lake vs Data Warehouse

Historiquement, les entreprises avaient deux "silos" de données :

1. Data Lake (Lac de Données)

(ex: AWS S3, Azure ADLS, HDFS)

Stockage : Fichiers ouverts (Parquet, CSV, JSON).

Schéma : "Schema-on-Read" (Schéma à la lecture).

  • Avantage : Pas cher (stockage S3), Flexible (stocke tout : logs, images, vidĂ©o).
  • InconvĂ©nient : Lent (Query), Non fiable (Pas d'ACID), "Data Swamp" (Marais de donnĂ©es).
  • Usage : Data Science, ML (Staging).
2. Data Warehouse (EntrepĂŽt)

(ex: Snowflake, Redshift, BigQuery)

Stockage : Format propriétaire, optimisé (Colonnes).

Schéma : "Schema-on-Write" (Schéma à l'écriture).

  • Avantage : TrĂšs rapide (Query SQL), Fiable (ACID), Gouvernance (SQL GRANT).
  • InconvĂ©nient : Cher, Rigide (n'accepte que les donnĂ©es structurĂ©es), "Vendor Lock-in".
  • Usage : BI (Business Intelligence), Reporting SQL.
3.2 Concept : Le Lakehouse

Le Lakehouse (terme inventé par Databricks) est une architecture qui combine le meilleur des deux mondes (3.1).

Objectif : Avoir la performance et la fiabilité (ACID) d'un Data Warehouse...
...directement sur les fichiers ouverts (Parquet) et le stockage bon marché d'un Data Lake (S3).

La technologie qui permet le "Lakehouse" est Delta Lake (3.3).

3.3 Stockage : Delta Lake

Delta Lake est un format de stockage (storage layer) open-source (base de Databricks) qui apporte les garanties ACID (fiabilité) aux Data Lakes (S3).

Architecture (Parquet + Logs JSON)

Une "Table Delta" (sur S3) n'est pas 1 fichier, c'est un dossier :

/my-delta-table/
  ├─ 0000.parquet
  ├─ 0001.parquet
  └─ _delta_log/
     ├─ 00000.json (Log: "Ajout 0000.parquet")
     └─ 00001.json (Log: "Ajout 0001.parquet")
  • Fichiers .parquet : Les donnĂ©es (Data), format colonne (rapide).
  • Dossier _delta_log/ : Le Transaction Log (Journal). C'est le "cerveau". Il liste (JSON) quelles versions de quels fichiers .parquet constituent la table Ă  un instant T.
Fonctionnalités Clés (grùce au Log)
  • Transactions ACID : (COMMIT/ROLLBACK) (L'Ă©criture est "atomique" : on Ă©crit le Parquet, *puis* on Ă©crit le .json (le "commit") qui l'active).
  • UPDATE / DELETE / MERGE : Permet de faire du SQL DML (UPDATE) sur un Data Lake (impossible sur Parquet pur).
  • Time Travel (Voyage temporel) : Permet de requĂȘter la table "telle qu'elle Ă©tait hier" (SELECT * FROM table TIMESTAMP AS OF '...').
  • Z-Ordering : (Optimisation) Technique de "colocalisation" des donnĂ©es (similaire Ă  un index multi-colonnes).
4.1 Gouvernance : Unity Catalog (UC)

Unity Catalog (UC) est la solution de gouvernance (governance) unifiée de Databricks. C'est le "gardien" de toutes les données et de l'IA.

Le ProblĂšme (Avant UC)

Avant UC, chaque "Workspace" (espace de travail) Databricks avait son propre Metastore (Hive). Si 10 équipes avaient 10 workspaces, il était impossible de partager (ou de sécuriser) les tables entre elles.

Solution (UC)

UC est un Metastore Centralisé (Couche 0) au niveau du Compte (Account) Databricks, qui s'applique à tous les Workspaces.

Fonctionnalités (Centralisées)
  • Central Metastore : 1 seul endroit pour dĂ©finir les Bases/Tables.
  • SĂ©curitĂ© (ACLs) : (Voir 4.3) Gestion fine des permissions (GRANT).
  • Data Lineage (TraçabilitĂ©) : (Automatique) (Voir 4.3) Trace le flux (Table A -> Job -> Table B).
  • Data Discovery : Moteur de recherche pour trouver des assets.
  • Audit : Qui a accĂ©dĂ© Ă  quoi ?
4.2 UC : ModĂšle (3 Niveaux)

Unity Catalog (UC) introduit un espace de noms (namespace) Ă  3 niveaux (standard SQL), qui remplace l'ancien (Hive) Ă  2 niveaux.

-- Syntaxe (SQL) :
SELECT * FROM [CATALOG].[SCHEMA].[TABLE]
NiveauDescriptionExemple (Usage)
CATALOG (Catalogue)Le plus haut niveau. Contient des Schémas.prod, dev, staging (Environnements)
finance_catalog (Business Unit)
SCHEMA (SchĂ©ma)(Équiv. "Base de DonnĂ©es" (Database)) Contient des Tables/Vues.prod.sales, prod.marketing
TABLE / VIEW / FUNCTIONL'objet de données (Delta Lake)prod.sales.invoices (Factures)
4.3 UC : Sécurité (ACLs) & Lineage
Sécurité (ACLs SQL)

UC gĂšre toutes les permissions (ACLs) en utilisant des commandes SQL standard (GRANT / REVOKE).

Cela centralise la sécurité (avant, il fallait gérer les "IAM roles" S3 ET les ACLs du Workspace...).

-- (Exemple : SQL)

-- (Donne le droit de 'lire' (SELECT) la table 'invoices'
--  au groupe 'analystes_finance')
GRANT SELECT ON TABLE prod.sales.invoices TO `analystes_finance`;

-- (Donne le droit d'utiliser le catalogue 'dev')
GRANT USE_CATALOG ON CATALOG dev TO `developpeurs`;

-- (Donne le droit de créer des tables dans le schéma 'sandbox')
GRANT CREATE_TABLE ON SCHEMA dev.sandbox TO `developpeurs`;
Data Lineage (Traçabilité)

Puisque UC (le Metastore) voit toutes les requĂȘtes (SQL, PySpark, DLT) et toutes les tables, il peut automatiquement tracer le lignage (lineage) des donnĂ©es.

Objectif : RĂ©pondre Ă  la question "D'oĂč vient cette donnĂ©e ?".

(Exemple de graphe de lignage)

[Table: "bronze_raw_logs"]
       │
       ▌ (Job: "clean_logs_job")
[Table: "silver_clean_logs"]
       │
       ▌ (Job: "aggregate_sales")
[Table: "gold_sales_report"]
       │
       ▌ (Dashboard: "Rapport Ventes")
[Dashboard]

Usage : Analyse d'impact (Si je change "bronze_raw_logs", qui sera impacté ?).

5.1 Persona : Data Engineering (ETL)

Le Data Engineer (Ingénieur Données) est la persona "historique" de Databricks. Son rÎle est de construire des pipelines (ETL/ELT) fiables et scalables.

Architecture "Medallion" (Bronze/Silver/Gold)

C'est l'architecture de données standard du Lakehouse (Databricks) :

CoucheQualitéFormatUsage
BronzeBrute (Raw)(Delta, JSON, CSV)(Staging) Copie 1:1 de la source. (Historique, "Append-only").
SilverNettoyée (Cleaned)Delta Lake(Données "propres", filtrées, jointes, dédoublonnées). (Source de vérité pour BI/ML).
GoldAgrĂ©gĂ©e (Aggregated)Delta Lake(Tables "Business", agrĂ©gĂ©es, prĂȘtes pour la BI). (ex: "Ventes_par_Mois_Region").

Le Data Engineer utilise les Notebooks (5.2), Jobs (5.3), et DLT (7.2) pour transformer les données de Bronze -> Silver -> Gold.

5.2 Outil : Notebooks

Le Notebook (similaire Ă  Jupyter) est l'IDE interactif principal de Databricks (pour Data Engineering & Data Science).

Multi-Langage

Un mĂȘme Notebook peut mĂ©langer plusieurs langages (grĂące aux "Magic Commands" : %) :

  • %python (DĂ©faut) (PySpark)
  • %sql (Spark SQL)
  • %scala
  • %r
Exemple (PySpark & SQL)
# (Cellule 1 - Python/PySpark)
# (Lit les données brutes (JSON) depuis S3)
df_bronze = spark.read.json("s3://my-bucket/raw/logs.json")
df_bronze.createOrReplaceTempView("logs_bronze")
# (Cellule 2 - SQL)
# (Utilise Spark SQL sur la "Vue" (DataFrame)
#  pour transformer les données)
%sql
CREATE OR REPLACE TEMP VIEW logs_silver AS
SELECT
  user_id,
  action,
  timestamp
FROM logs_bronze
WHERE user_id IS NOT NULL;
# (Cellule 3 - Python/PySpark)
# (Reprend le DataFrame Silver)
df_silver = spark.table("logs_silver")

# (Sauvegarde en format Delta Lake (ACID))
df_silver.write.format("delta").saveAsTable("prod.analytics.logs_silver")
5.3 Outil : Jobs (Workflows)

Un "Notebook" (5.2) est pour le développement interactif. Un Job (Tùche) est pour la production (automatisée).

Les "Jobs" (ou "Workflows") sont l'orchestrateur intégré de Databricks (similaire à Airflow, Prefect).

Fonctionnalités
  • Scheduling : (Planification) Ex: "Lancer ce Notebook tous les jours Ă  2h du matin".
  • Multi-Task (DAGs) : Permet de crĂ©er des DAGs (Directed Acyclic Graphs) (flux de travail) :
    • (TĂąche A -> TĂąche B (si A rĂ©ussit) -> TĂąche C)
  • Types de TĂąches : Notebook, Script Python, DLT Pipeline, RequĂȘte SQL, ...
  • Clusters : (Voir 2.3) Utilise des "Job Clusters" (Ă©phĂ©mĂšres, moins chers) plutĂŽt que des "All-Purpose Clusters".
  • Alerting : Alertes sur Échec/SuccĂšs.
6.1 Persona : Data Analytics (SQL)

Le Data Analyst (Analyste BI) est la persona "SQL". Son objectif est de consommer les données (préparées par les Data Engineers) pour créer des rapports et des dashboards (BI).

ProblÚme (Avant) : Les analystes SQL (ex: Tableau, Power BI) ne pouvaient pas interroger les Data Lakes (S3) (lents, non-ACID). Ils devaient copier (dupliquer) les données (Silver/Gold) du Lake vers un Data Warehouse (Snowflake, Redshift).

Solution (Lakehouse) :

  • Les donnĂ©es restent dans le Lakehouse (Delta Lake).
  • L'analyste utilise Databricks SQL (6.2) (le moteur Photon) pour requĂȘter ces tables Delta directement, avec une performance Ă©gale (ou supĂ©rieure) Ă  un Data Warehouse.
6.2 Outil : Databricks SQL (DBSQL)

Databricks SQL (DBSQL) est l'"espace de travail" (Persona) dédié aux analystes SQL. Il fournit un ensemble d'outils optimisés pour le SQL / BI.

Composants
  • SQL Warehouses (EntrepĂŽts SQL) :
    • (Le "Compute" pour SQL). Ce sont des Clusters Databricks (2.3) optimisĂ©s (moteur Photon) pour les requĂȘtes SQL (BI) Ă  faible latence.
    • (Existent en "Pro" ou "Serverless" (7.3)).
  • SQL Editor :
    • Un Ă©diteur SQL (type "requĂȘteur") dans l'UI web (avec auto-complĂ©tion).
  • Dashboards :
    • Un outil de BI (lĂ©ger) intĂ©grĂ© (similaire Ă  Grafana/Looker Studio) pour crĂ©er des visualisations/dashboards (basĂ©s sur les requĂȘtes SQL).
  • Connecteurs (ODBC/JDBC) :
    • Permet aux outils BI externes (Tableau, Power BI) de se connecter au SQL Warehouse (comme s'il s'agissait d'une base SQL standard).
6.3 Persona : Data Science (Machine Learning)

Le Data Scientist est la persona "ML/AI". Son objectif est de lire les données (Silver) pour entraßner (train) des modÚles de Machine Learning (IA).

Le "Databricks Runtime for ML"

Databricks fournit un "Runtime" (Image de Cluster) spécifique pour le ML. C'est une version de Databricks (Spark) pré-installée avec toutes les librairies (Python) de Data Science :

  • PyTorch
  • TensorFlow / Keras
  • Scikit-learn
  • XGBoost
  • (Et les drivers GPU (CUDA) optimisĂ©s)
Outils (Intégrés)
  • Notebooks (5.2) : Pour l'exploration (EDA) et l'entraĂźnement.
  • MLflow (7.1) : (IntĂ©grĂ©) Pour le suivi (tracking) des expĂ©riences.
7.1 Outil : MLflow (MLOps)

MLflow (open-source, créé par Databricks) est une plateforme de MLOps (DevOps pour le ML) qui gÚre le cycle de vie (lifecycle) complet du Machine Learning.

Il est intégré nativement dans les Notebooks Databricks.

Composants
ComposantDescription
MLflow Tracking(Le cƓur) L'API (mlflow.log_param, mlflow.log_metric) qui enregistre les "expĂ©riences" (ex: les hyperparamĂštres (input) et le score (output) de chaque entraĂźnement).
MLflow ModelsUn format "standard" pour packager (empaqueter) les modÚles (ex: un MLproject file) pour un déploiement reproductible.
MLflow Registry(Le "Git" des modÚles) Un registre de modÚles centralisé (ex: "ModÚle A v1" (Staging), "ModÚle A v2" (Production)).
7.2 Outil : DLT (Delta Live Tables)

DLT (Delta Live Tables) est un framework ETL/ELT déclaratif. C'est l'outil "moderne" pour créer les pipelines Bronze/Silver/Gold (5.1).

Approche "Impérative" (Jobs Notebooks)

L'ingénieur doit tout gérer (le "Comment") :

  • (Job 1) Lire S3, Ă©crire Bronze.
  • (Job 2) Lire Bronze, nettoyer, Ă©crire Silver.
  • (Job 3) Lire Silver, agrĂ©ger, Ă©crire Gold.
  • GĂ©rer l'orchestration (le DAG), le "retry" (nouvelle tentative), le "backfill" (rattrapage)... (Complexe).
Approche "Déclarative" (DLT)

L'ingénieur ne définit que le "Quoi" (les transformations) en SQL ou Python (avec des "décorateurs" @dlt).

-- (Fichier DLT SQL)

-- 1. Table Bronze (Streaming depuis S3)
CREATE STREAMING LIVE TABLE raw_logs
AS SELECT * FROM cloud_files("s3://...", "json");

-- 2. Table Silver (Nettoyage)
CREATE STREAMING LIVE TABLE clean_logs
(CONSTRAINT user_id_ok EXPECT (user_id IS NOT NULL))
AS SELECT ... FROM STREAM(LIVE.raw_logs)

-- 3. Table Gold (Agrégation)
CREATE LIVE TABLE gold_report
AS SELECT ... FROM LIVE.clean_logs GROUP BY ...

Résultat : Databricks analyse ce SQL, construit le DAG (Bronze -> Silver -> Gold), et gÚre automatiquement le scaling, les retries, le checkpointing, et l'assurance qualité (CONSTRAINT).

7.3 Compute : Serverless

"Serverless" (dans Databricks) est une option de "Compute" (Calcul) qui supprime la gestion des clusters du Data Plane (1.2).

Mode "Classic" (Data Plane dans votre VPC)

ProblÚme : Quand vous démarrez un SQL Warehouse (6.2) "Classic", Databricks (Control Plane) doit provisionner (démarrer) des VMs (EC2) dans votre VPC (Data Plane).

Inconvénient : "Cold Start" (Démarrage à froid). Le démarrage du cluster prend 3 à 10 minutes. (Inacceptable pour la BI interactive).

Mode "Serverless" (Data Plane chez Databricks)

Quand vous utilisez "DBSQL Serverless" :

Le "Compute" (le SQL Warehouse) ne tourne plus dans votre VPC. Il tourne sur une flotte "chaude" (Hot) de serveurs managés par Databricks (dans le Control Plane).

  • Avantage : DĂ©marrage InstantanĂ© (1-3 secondes).
  • Avantage : ZĂ©ro gestion (pas de quotas EC2, pas de config VPC).
  • InconvĂ©nient (Perçu) : Le "Compute" (Photon) et le "Stockage" (S3) ne sont plus "colocalisĂ©s" (le trafic passe par un "Secure Gateway").