Data for Breakfast à travers le monde

Propulsez votre impact via l'intelligence agentique et la donnée.

Qu’est-ce que Delta Lake ? Guide sur le format de table ouvert

Explorez son architecture et le format Delta Lake. Découvrez les principales différences entre Delta Lake et un data lake.

  • Présentation
  • Qu’est-ce que Delta Lake ?
  • Fonctionnalités de Delta Lake
  • Avantages de Delta Lake
  • Considérations relatives à Delta Lake
  • Configuration de Delta Lake
  • 5 meilleures pratiques pour Delta Lake
  • Conclusion
  • FAQ sur Delta Lake
  • Clients qui utilisent Snowflake
  • Ressources sur l’analyse de données

Présentation

Quiconque a utilisé un data lake connaît cette situation frustrante : Un jour, votre tableau de bord affiche 200 000 transactions, le lendemain, il en affiche 195 000 et personne ne peut vous expliquer pourquoi. Les data lakes traditionnels sont flexibles, mais ils sont également sujets à des erreurs telles que des enregistrements manquants, des fichiers dupliqués ou des requêtes lentes. 

Delta Lake résout ces problèmes. Il s’agit d’un framework de stockage open source qui vient s’ajouter à votre data lake existant pour en améliorer la fiabilité et les performances. Au lieu de vous demander si vos chiffres sont corrects, vous pouvez compter sur Delta Lake pour garantir l’homogénéité et l’exactitude de vos données, prêtes à être analysées.

Qu’est-ce que Delta Lake ?

Delta Lake est un format de table open source qui apporte structure et gouvernance aux data lakes. Au lieu d’être un simple dépôt de fichiers, Delta Lake organise ces données dans des tables que vous pouvez interroger et mettre à jour de manière fiable. Il ajoute des fonctionnalités qui font défaut aux data lakes bruts, telles que les transactions ACID (atomicité, cohérence, isolation, durabilité) pour des lectures et des écritures homogènes, l’application de schémas pour éviter les types de données non concordants et les requêtes « Time Travel » qui vous permettent de revenir à des versions antérieures de vos données. Comme il s’exécute sur votre data lake existant, il ne nécessite pas de nouveau système. Il offre simplement un moyen plus intelligent de gérer celui que vous avez déjà.

Fonctionnalités de Delta Lake

Delta Lake se distingue des data lakes standard qui reposent sur des fichiers Parquet ou ORC, car il ajoute un ensemble de fonctionnalités au niveau des tables pour rendre les données plus fiables et plus faciles à travailler. Voici quelques-unes des principales fonctionnalités qui le distinguent :

 

Transactions ACID

La plupart des data lakes ne peuvent pas garantir la constance lorsque plusieurs utilisateurs ou tâches lisent et écrivent des données en même temps. Delta Lake prend en charge les transactions ACID, ce qui signifie que chaque modification est suivie et appliquée de manière fiable. Par exemple, si une institution financière met à jour des millions d’enregistrements de paiement dans la nuit, Delta Lake s’assure que toutes les mises à jour sont appliquées ou qu’aucune ne l’est. Il n’y a pas d’état intermédiaire dans lequel certains enregistrements sont mis à jour et d’autres non.

 

Time Travel

Des erreurs peuvent se produire. Avec Delta Lake, vous pouvez revenir à des versions antérieures de vos données. Sa fonctionnalité Time Travel vous permet d’effectuer des requêtes « à partir » d’un moment précis, que ce soit pour auditer des modifications, récupérer des données après une erreur ou reproduire des rapports antérieurs. Un retailer, par exemple, pourrait comparer les chiffres de ce trimestre à un instantané de la période des fêtes précédente, ou un analyste pourrait déboguer un modèle afin de vérifier à quoi ressemblaient les données d’entrée avant leur modification.

 

Gestion évolutive des métadonnées

Dans les data lakes à grande échelle, les métadonnées, c’est-à-dire les informations sur vos fichiers, peuvent devenir un goulot d’étranglement. Delta Lake résout ce problème par le stockage des métadonnées dans un journal des transactions plutôt que dans une collection massive de références de fichiers. Les requêtes peuvent ainsi traiter des tables de l’ordre du pétaoctet constituées de milliards de fichiers ou de partitions sans interruption. Prenons l’exemple d’un opérateur de télécommunications qui analyse les relevés d’appels de centaines de millions de clients. Sans le journal des transactions de Delta Lake, le simple fait de répertorier les fichiers pourrait saturer le système avant même l’exécution d’une seule requête.

 

Application et évolution des schémas

Les data lakes traditionnels acceptent tous les fichiers, même si le schéma ne correspond pas au reste du jeu de données. Le problème est que cela permet à des données erronées de se glisser dans le système sans avertissement. Si une équipe charge un fichier dans lequel une colonne « date » est remplie de chaînes de texte, ou qu’une autre ajoute une nouvelle colonne qui n’existe pas dans le reste du jeu de données, le tableau entier peut manquer de fiabilité. Les analystes peuvent rencontrer des erreurs lors de l’exécution de requêtes, ou pire, obtenir des résultats qui semblent valides, mais qui sont en réalité erronés.

Delta Lake résout ce problème au moyen de schémas obligatoires, de sorte que les fichiers non concordants sont bloqués avant qu’ils ne contaminent le jeu de données. Parallèlement, il prend en charge l’évolution du schéma, ce qui vous permet d’ajouter de nouvelles colonnes ou d’ajuster les types de données à mesure que les besoins de votre entreprise évoluent sans interrompre les flux de travail existants. Cela signifie que le service marketing peut ajouter une colonne « campaign_id » aux données clients, tandis que le service financier continue d’utiliser l’ancien schéma jusqu’à ce qu’il soit prêt à changer.

Avantages de Delta Lake

L’ajout de Delta Lake à un data stack moderne apporte des avantages tangibles qui vont au-delà des fonctionnalités techniques. Voici quelques-uns des avantages que les entreprises peuvent constater dans la pratique :

 

Fiabilité des données améliorée

Grâce aux transactions ACID et à l’application intégrée des schémas, Delta Lake réduit le risque de fichiers corrompus, de mises à jour incomplètes ou de types de données non concordants. Grâce à cette stabilité, les équipes peuvent se fier aux chiffres qu’elles obtiennent, qu’il s’agisse d’exécuter un rapport financier ou d’entraîner un modèle de machine learning.

 

Architecture de données simplifiée

Sans Delta Lake, de nombreuses entreprises ajoutent des systèmes supplémentaires à leur data lake pour gérer les transactions, les audits ou le contrôle des versions. Delta Lake regroupe ces fonctionnalités en une seule couche. Il en résulte une architecture plus simple, plus facile à gérer et moins coûteuse à entretenir.

 

Amélioration de la qualité des données

Delta Lake validant les données entrantes et appliquant des schémas, il empêche toute infiltration d’enregistrements erronés dans le lac. Associé à sa capacité à revenir à des versions antérieures, il permet de conserver des jeux de données homogènes et propres, ce qui permet aux équipes d’analyse de passer moins de temps à nettoyer les données et plus à les utiliser.

 

Amélioration de la gouvernance et de l’audit

Chaque modification dans Delta Lake est enregistrée dans un journal des transactions. Ce journal devient une piste d’audit intégrée, afin que vous puissiez voir exactement quel utilisateur a effectué telle mise à jour et à quel moment. Pour les secteurs réglementés ou les entreprises soumises à des exigences de conformité strictes, cette transparence intégrée permet de répondre aux exigences de gouvernance sans ajouter de couches supplémentaires d’outils.

 

Performances analytiques plus rapides

La capacité de Delta Lake à optimiser la disposition des données et à gérer les métadonnées à grande échelle permet d’obtenir des résultats de requêtes plus rapides. Les analystes n’ont plus à attendre des heures pour qu’une requête analyse des téraoctets de fichiers bruts. À la place, le système identifie les partitions appropriées et fournit des informations en quelques minutes, voire quelques secondes.

 

Réduction des coûts opérationnels

Comme il réduit le besoin d’outils supplémentaires pour appliquer le schéma, suivre les versions ou réparer les données corrompues, Delta Lake permet de réduire le coût total de possession. Les équipes passent moins de temps à corriger les erreurs et dépensent moins d’argent en systèmes redondants, ce qui libère des ressources pour des projets à plus forte valeur ajoutée.

Considérations relatives à Delta Lake

Bien que Delta Lake offre divers avantages, il présente également des inconvénients, en particulier par rapport à d’autres formats de table ouverts comme Apache Iceberg. Comme Delta Lake, Apache Iceberg apporte structure et fiabilité aux data lakes. Tous deux visent à combler les lacunes du stockage de fichiers bruts, mais adoptent des approches différentes. Pour choisir celui qui vous convient le mieux, tenez compte de quelques-uns des domaines clés où deux formats de table diffèrent :

 

Métadonnées et gouvernance

Delta Lake assure l’homogénéité par la consignation de chaque modification dans un journal des transactions, ce qui permet de suivre les mises à jour et d’en garantir la fiabilité. Iceberg utilise des instantanés et des fichiers manifestes pour capturer l’état d’une table, ce qui facilite la restauration ou même la dérivation des données. La véritable question pour les équipes est de savoir quelle approche correspond le mieux à leur façon de gérer la gouvernance et les audits.

 

Adéquation avec l’écosystème

Delta Lake est largement utilisé avec Apache Spark et prend désormais en charge l’interopérabilité multi-moteurs via Delta UniForm. En revanche, Iceberg est conçu pour être indépendant du moteur et est pris en charge par un large éventail de moteurs de requête et de plateformes cloud. Votre choix dépendra de votre volonté d’opter pour une intégration profonde dans un seul environnement ou pour la flexibilité nécessaire pour fonctionner dans plusieurs environnements.

 

Optimisation des performances

Delta Lake utilise des techniques telles que le classement Z et le clustering liquide pour regrouper les données connexes, ce qui accélère les requêtes pour les filtres complexes. Iceberg optimise les performances grâce au partitionnement caché et au nettoyage des métadonnées pour réduire le nombre de fichiers qu’une requête doit traiter. Le défi pour les équipes consiste à déterminer quelle approche correspond le mieux à leurs charges de travail et à leurs volumes de données.

 

Évolution des schémas

Delta Lake et Iceberg vous permettent tous deux de modifier vos schémas au fil du temps. Delta Lake est plus strict au départ, car il n’autorise que des modifications contrôlées à mesure que vos besoins évoluent. Iceberg est plus flexible en raison de sa conception, car il est conçu pour gérer les partitions et les schémas variables dès le départ, ce qui peut vous faciliter la vie si vos données changent souvent et rapidement.

 

Communauté et maturité

Delta Lake existe depuis plus longtemps et compte une grande base d’utilisateurs dans les environnements basés sur Spark. Iceberg est plus récent, mais a rapidement gagné en popularité, grâce au soutien de Netflix, Snowflake et d’autres contributeurs majeurs. Le choix entre les deux se résume souvent à une préférence pour un projet plus établi ou un projet plus récent et plus dynamique.

Configuration de Delta Lake

Si vous décidez que Delta Lake est le choix qui convient à votre entreprise, vous n’avez pas besoin de remplacer toute votre infrastructure pour vous lancer. Il suffit généralement de superposer Delta Lake à un data lake existant à l’aide d’un moteur de traitement compatible. Voici les trois étapes principales :

 

1. Choisissez un moteur de calcul

Delta Lake est le plus souvent associé à Apache Spark, bien qu’il fonctionne également avec des moteurs tels que Snowflake, Presto, Trino, Hive et bien d’autres. Le choix dépend de votre environnement de données actuel et de la façon dont vous prévoyez d’interroger et de traiter les données.

 

2. Configurez les bibliothèques

Ensuite, installez et configurez les bibliothèques Delta Lake dans le moteur de calcul de votre choix. Cette étape permet au moteur de lire et d’écrire des tables Delta, d’appliquer des schémas et de suivre les modifications via le journal des transactions.

 

3. Lisez et écrivez des données

Une fois la configuration terminée, vous pouvez commencer à créer des tables Delta directement dans votre système de stockage de data lake existant. Les données sont écrites au format Parquet, mais gérées via le journal des transactions de Delta, qui permet les mises à jour, les suppressions et les requêtes Time Travel. À partir de là, vous pouvez exécuter des commandes SQL familières pour interroger, modifier ou fusionner des jeux de données.

5 meilleures pratiques pour Delta Lake

Pour tirer le meilleur parti d’un déploiement Delta Lake, les équipes doivent garder à l’esprit quelques pratiques éprouvées :

 

Partitionnez efficacement vos données

Divisez les grands jeux de données en partitions logiques (par exemple par date ou par région) afin que les requêtes puissent se concentrer sur le bon sous-jeu de fichiers au lieu d’analyser l’ensemble du lac. Par exemple, un site d’actualités peut partitionner les données de parcours de navigation par jour, ce qui facilite l’exécution de rapports quotidiens sans avoir à parcourir des mois d’enregistrements non pertinents.

 

Gérez les métadonnées à grande échelle

Surveillez le journal des transactions et les métadonnées des tables à mesure que les données augmentent. Veillez à compacter régulièrement les petits fichiers pour éviter le ralentissement des requêtes et l’engorgement du stockage. Cette étape simple peut empêcher des milliers de petits fichiers de ralentir considérablement les requêtes.

 

Utilisez le classement Z pour accélérer les requêtes

Appliquez le classement Z pour regrouper en cluster les données connexes. Les performances des requêtes qui filtrent plusieurs colonnes s’en trouvent améliorées, ce qui réduit le nombre de fichiers à lire. Par exemple, une entreprise d’e-commerce peut classer les données clients par ordre Z en fonction de l’emplacement et de l’historique des achats afin d’accélérer les requêtes de recommandation.

 

Automatisez les contrôles qualité des données

Appliquez des règles pour les plages, types ou formats valides lorsque de nouvelles données sont ingérées. La détection précoce des erreurs empêche la propagation des enregistrements erronés en aval. Si un capteur renvoie une lecture de température négative alors qu’il ne devrait pas, le système peut le signaler ou le bloquer avant qu’il ne corrompe le jeu de données.

 

Exploitez Time Travel de manière stratégique

N’utilisez pas seulement Time Travel pour récupérer des erreurs. Cette fonctionnalité est également utile pour les audits, la reproduction d’analyses passées et le test des performances d’une nouvelle logique sur des données plus anciennes. Les équipes peuvent ainsi valider un nouveau modèle de prévision par rapport aux données de l’année dernière sans écraser les chiffres de production actuels.

Conclusion

Delta Lake comble le fossé entre la flexibilité d’un data lake et la fiabilité d’un data warehouse. La superposition de fonctionnalités telles que les transactions ACID, l’application de schémas, la gestion des métadonnées et le Time Travel sur le stockage existant permet de créer une source de données unique et fiable qui peut prendre en charge à la fois les tableaux de bord de BI et les modèles de machine learning.

Delta Lake est devenu une technologie fondamentale pour les entreprises qui créent des plateformes data modernes : il simplifie l’architecture, améliore la qualité des données et renforce la gouvernance. À l’avenir, la tendance sera aux formats ouverts, intelligents et intégrés qui rendent les données plus faciles à utiliser dans tous les secteurs de l’entreprise. Delta Lake est à la pointe de cette évolution et préfigure ce à quoi ressemblera l’architecture de données de demain.

FAQ sur Delta Lake

Les tables Delta sont des jeux de données stockés dans un data lake mais gérés avec le journal des transactions de Delta Lake. Elles ressemblent à des tables ordinaires, ce qui signifie que vous pouvez y exécuter des requêtes SQL, des mises à jour et des suppressions. Le journal des transactions suit chaque modification, ce qui renforce leur homogénéité et permet d’utiliser des fonctionnalités telles que Time Travel.

Un data lake traditionnel est un référentiel flexible pour les fichiers bruts, mais il ne dispose pas de fonctionnalités au niveau des tables telles que les transactions, l’application de schéma et le contrôle des versions. Delta Lake ajoute ces fonctionnalités au-dessus du lac. Cela revient à transformer une pile de fichiers en tables fiables et interrogeables que plusieurs équipes peuvent utiliser en toute confiance.

Un data lakehouse est une architecture qui combine les atouts des data lakes et des data warehouses. Il utilise des formats de table ouverts tels que Delta Lake pour stocker ensemble des données brutes et structurées, mais aussi pour prendre en charge des requêtes, une gouvernance et des performances fiables. Il en résulte une plateforme unique qui permet aux entreprises d’exécuter à la fois des charges de travail de BI et d’IA sans avoir à transférer les données d’un système à l’autre.

Oui. Delta Lake est un projet open source sous l’égide de la Linux Foundation. Son modèle communautaire lui permet d’évoluer rapidement, avec de nouvelles fonctionnalités et intégrations fournies à la fois par des particuliers et des entreprises partenaires.

Where Data Does More

  • Essai gratuit de 30 jours
  • Aucune carte bancaire requise
  • Annulation à tout moment