Que sont tous les Delta dans Azure Databricks ?

Cet article constitue une introduction aux technologies regroupées sous la marque Delta sur Azure Databricks. Delta fait référence aux technologies liées au projet open source Delta Lake.

Cet article répond aux questions :

  • Que sont tous les Delta dans Azure Databricks ?
  • Que font-ils ? Ou pour quoi sont-ils utilisés ?
  • Comment sont-ils liés et distincts des uns des autres ?

Quels sont les éléments Delta utilisés ?

Delta est un terme introduit avec Delta Lake, la fondation pour stocker des données et des tables dans le lac de données de Databricks. Delta Lake a été conçu comme un système de gestion de données unifié pour gérer les données transactionnelles en temps réel et en batch, en étendant les fichiers de données Parquet avec un journal des transactions basé sur les fichiers pour des transactions ACID et une gestion évolutive des métadonnées.

Delta Lake : Gestion des données OS pour le lakehouse

Delta Lake est une couche de stockage open source qui apporte une fiabilité aux data lakes en ajoutant une couche de stockage transactionnelle par-dessus les données stockées dans le cloud (sur AWS S3, Azure Storage et GCS). Il permet les transactions ACID, le contrôle de version des données et les fonctionnalités de restauration. Il vous permet de gérer à la fois des données par lots (batch) et des données en streaming de manière unifiée.

Les tables Delta sont construites au-dessus de cette couche de stockage et fournissent une abstraction de table, facilitant ainsi le travail avec des données structurées à grande échelle en utilisant SQL et l'API DataFrame.

Tables Delta : Architecture par défaut des tables de données

La table Delta est le format de table de données par défaut dans Azure Databricks et constitue une fonctionnalité du cadre de données open source Delta Lake. Les tables Delta sont généralement utilisées pour les data lakes, où les données sont ingérées via des flux en continu ou en grandes séries (batches).

Consultez l'article :

Delta Live Tables : Les pipelines de données

Delta Live Tables gèrent le flux de données entre de nombreuses tables Delta, simplifiant ainsi le travail des ingénieurs de données dans le développement et la gestion des processus ETL. Le pipeline est l'unité principale d'exécution pour Delta Live Tables. Delta Live Tables propose un développement de pipeline déclaratif, une amélioration de la fiabilité des données et des opérations de production à l'échelle du cloud. Les utilisateurs peuvent effectuer à la fois des opérations par lots (batch) et en streaming sur la même table, et les données sont immédiatement disponibles pour les requêtes. Vous définissez les transformations à effectuer sur vos données, tandis que Delta Live Tables gère l’orchestration des tâches, la gestion des clusters, la supervision, la qualité des données et la gestion des erreurs. L'Auto-Scaling amélioré de Delta Live Tables peut gérer les charges de travail en streaming qui sont irrégulières et imprévisibles.

Consultez le tutoriel Delta Live Tables.

Tables delta par rapport à Delta Live Tables

La table Delta est une manière de stocker des données dans des tables, tandis que Delta Live Tables vous permet de décrire de manière déclarative comment les données circulent entre ces tables. Delta Live Tables est un cadre déclaratif qui gère de nombreuses tables Delta en les créant et en les maintenant à jour. En résumé, les tables Delta représentent une architecture de table de données, tandis que Delta Live Tables est un cadre de pipeline de données.

Delta : Open source ou propriétaire ?

Une force de la plateforme Azure Databricks est qu'elle ne retient pas les clients dans des outils propriétaires : Une grande partie de la technologie est alimentée par des projets open source auxquels Azure Databricks contribue.

Les projets open source Delta sont des exemples :

Delta Live Tables est un cadre propriétaire dans Azure Databricks.

Quels sont les autres éléments Delta sur Azure Databricks ?

Vous trouverez ci-dessous des descriptions d’autres fonctionnalités qui incluent Delta dans leur nom.

Delta Sharing

Un standard ouvert pour le partage sécurisé de données, Delta Sharing permet le partage de données entre des organisations, indépendamment de leur plateforme informatique.

Delta Engine

Un optimiseur de requêtes pour le big data qui utilise la technologie open source Delta Lake incluse dans Databricks. Delta Engine optimise les performances de Spark SQL, Databricks SQL et des opérations DataFrame en déléguant le calcul aux données.

Le journal des transactions Delta Lake (également appelé DeltaLogs)

Une source unique de vérité qui trace toutes les modifications que les utilisateurs apportent à la table et le mécanisme par lequel Delta Lake garantit l'atomicité. Consultez le protocole de journal des transactions Delta sur GitHub.

Le journal des transactions est essentiel pour comprendre Delta Lake, car c'est le fil conducteur qui traverse bon nombre de ses fonctionnalités les plus importantes :

  • Transactions ACID
  • Gestion des métadonnées évolutive
  • Voyage dans le temps
  • Et plus encore.