Delta Lake Décrypté : tout comprendre sur le format qui révolutionne les Data Lakes
1.Introduction : pourquoi Delta Lake ?
Quand tu crées un Lakehouse dans Microsoft Fabric et que tu charges des données dans une table, il se passe quelque chose dans les coulisses : tes données sont automatiquement stockées au format Delta Lake. Pas besoin de le configurer, pas besoin de le demander : c’est le comportement natif de Fabric. Mais qu’est-ce que ce format exactement ? Pourquoi Microsoft a-t-il fait ce choix ?
Les data lakes traditionnels souffrent de problèmes bien connus : absence de transactions fiables, risques de corruption lors d’écritures concurrentes, pas de versioning, et aucun contrôle du schéma. Delta Lake résout tous ces problèmes. C’est pour cette raison qu’il est devenu la fondation de l’architecture Lakehouse dans Fabric , le format unique autour duquel gravitent le Lakehouse, le Warehouse, le SQL Endpoint, les notebooks Spark et Power BI en mode Direct Lake.
2.Qu’est-ce que Delta Lake ?
Delta Lake est un format de stockage de données open source qui combine des fichiers Apache Parquet avec un journal de transactions (transaction log) robuste basé sur des fichiers JSON. Ce n’est pas un data lake en soi, mais plutôt une couche de stockage (storage layer) qui se superpose à un data lake existant pour le rendre plus fiable et performant.
| Ce n’est pas : | Ce que c’est : |
| Un data lake (c’est un format de stockage, pas un espace de stockage) | Une couche intelligente qui organise et protège les données à l’intérieur d’un data lake |
| Un moteur de calcul (il fonctionne avec Spark, SQL, Flink, etc.) | Le format qui ajoute transactions, versioning et contrôle du schéma par-dessus Parquet |
| Une technologie propriétaire Microsoft (c’est open source, créé par Databricks en 2016) | Le format par défaut et unifié de Microsoft Fabric : toute table créée dans un Lakehouse ou un Warehouse Fabric est automatiquement au format Delta, sans aucune configuration. |
Les deux composants d’une table Delta :
- Fichiers de données Parquet : tes données sont physiquement stockées en fichiers Parquet, un format colonnaire optimisé pour l’analytique (compression, column pruning, lecture rapide).
- Le Transaction Log (_delta_log/) : un répertoire qui contient des fichiers JSON numérotés (000000.json, 000001.json, etc.) enregistrant chaque opération sur la table — ajouts, suppressions, modifications de schéma, métadonnées (min/max, nombre de lignes). C’est ce log qui fait toute la différence avec un simple stockage Parquet.
3.Comment ça fonctionne dans Fabric ?
3.1 Le cycle de vie d’une écriture
Quand tu écris des données dans une table Delta via un notebook Fabric ou un pipeline, voici ce qui se passe :

3.2 Visualiser la structure dans Fabric
Tu peux observer la structure Delta directement dans Fabric. Dans le Lakehouse Explorer, fais un clic droit sur une table puis « View files ». Tu verras :

4. Les fonctionnalités essentielles
4.1 Transactions ACID
Delta Lake garantit les quatre propriétés ACID au niveau de chaque table :

4.2 Time travel (voyage dans le temps)
Chaque écriture dans une table Delta crée une nouvelle version. Le transaction log conserve l’historique complet de ces versions, ce qui permet de :
- Tu charges des données erronées depuis Business Central ? RESTORE ramène ta table à l’état précédent.
- Besoin d’auditer les changements pour un rapport réglementaire ? DESCRIBE HISTORY te donne l’historique complet.

4.3 Schéma enforcement (application du schéma)
Delta Lake valide automatiquement le schéma lors de chaque écriture. Si un DataFrame contient des colonnes avec des types incompatibles ou des colonnes inattendues, l’écriture est rejetée avec une erreur explicite. Cela empêche l’insertion de données corrompues ou mal formatées, un problème fréquent dans les data lakes traditionnels.
4.4 Schéma évolution (évolution du schéma)
Quand le schéma doit évoluer de manière contrôlée (ajout de nouvelles colonnes par exemple), Delta Lake permet l’évolution du schéma via l’option mergeSchema. Il est aussi possible de renommer ou supprimer des colonnes grâce au Column Mapping, sans réécrire les données existantes.
Exemple PySpark (Python) :
df.write.format("delta") \
.mode("append") \
.option("mergeSchema", "true") \
.save("/path/to/delta/table")
4.5 Opérations DML : UPDATE, DELETE, MERGE
Contrairement aux fichiers Parquet classiques qui sont immuables, Delta Lake prend en charge les opérations de modification des données. L’opération MERGE (upsert) est particulièrement puissante pour les cas d’usage comme le Change Data Capture (CDC) et les Slowly Changing Dimensions (SCD).Le MERGE est l’opération clé pour synchroniser des données depuis Business Central vers ton Lakehouse : insertion des nouvelles lignes, mise à jour des existantes, suppression des obsolètes .
5. Delta Lake vs Parquet : pourquoi Delta est supérieur
Delta Lake repose sur Parquet pour le stockage physique des données. La question n’est donc pas « Delta OU Parquet ? » mais plutôt « Parquet seul OU Parquet + Transaction Log (= Delta) ? ».

6. L’écosystème Fabric autour de Delta Lake
Le vrai pouvoir de Delta dans Fabric, c’est que tous les services lisent et/ou écrivent le même format. Une seule copie des données, plusieurs modes d’accès :
- Lakehouse : Toutes les tables du Lakehouse Explorer sont des tables Delta. La fonctionnalité « Load to Table » convertit automatiquement les fichiers (CSV, Parquet, JSON) en tables Delta.

- Warehouse : Le Warehouse Fabric utilise également Delta comme format sous-jacent, mais avec une interface T-SQL.
- SQL Endpoint : Le SQL Endpoint du Lakehouse permet d’interroger les tables Delta via T-SQL en lecture seule, sans dupliquer les données.
- Direct Lake : Le mode Direct Lake dans Power BI lit directement les fichiers Parquet des tables Delta dans OneLake, sans import ni DirectQuery, pour des performances optimales.
- Notebooks Spark : Les notebooks PySpark/SparkSQL dans Fabric interagissent nativement avec les tables Delta.

7. Cas d’usage concrets dans Fabric
Delta Lake est la fondation de l’architecture Medallion dans Fabric :

8. Bonnes pratiques dans Fabric

10. Conclusion
Delta Lake n’est pas juste un format de fichier dans Fabric — c’est le socle architectural qui rend possible le concept de Lakehouse unifié. C’est grâce à Delta que :
- Un seul exemplaire des données suffit dans OneLake, accessible par Spark, SQL et Power BI
- Les pipelines sont fiables grâce aux transactions ACID et au rollback possible
- Les dashboards Power BI sont performants grâce à Direct Lake qui lit directement les fichiers Delta
- Le CDC depuis Business Central fonctionne avec des MERGE incrémentaux
- L’audit et la conformité sont assurés par le time travel et l’historique des versions
Pour résumer en une phrase : Delta Lake, c’est ce qui transforme un simple stockage de fichiers dans OneLake en une plateforme de données fiable, performante et gouvernée.
Laisser un commentaire
Il n'y a pas de commentaires pour le moment. Soyez le premier à participer !