Delta Lake ou comment Databricks veut garantir la qualité des données des data lakes
L’outil prend le nom de Delta Lake sous une licence Apache et entend apporter un niveau standard de qualité aux données des data lakes.
Parce qu’un écosystème vaut mieux qu’un environnement fermé, Databricks a récemment ouvert à l’open source Delta, une technologie maison dont l’ambition est de redonner une structure et garantir des données de qualité à des data lakes qui, visiblement, en sont dépourvus. La société, à l’origine du framework Spark, a profité de l’événement Spark + AI Summit 2019 qui se déroulait fin avril pour livrer son outil à la communauté, sous une licence Apache 2.0. Il prend le nom de Delta Lake.
Présenté en 2017, Delta est à l’origine un composant de la suite Unified Analytics Platform de Databricks. Cette plateforme vise à unifier et digérer différents formats et bibliothèques d’analyse et de Machine Learning dans un runtime Databricks, qui puisse ensuite être utilisé par les data scientists, plus facilement, via Databricks Workspace.
Celui rassemble des capacités de création de modèles via des notebooks ainsi qu’un outillage pour les déployer et les entretenir en production.
Delta Lake s’insère justement dans cette couche runtime, au côté de Spark, MLFlox, PyTorch ou encore Tensorflow. Concrètement, cet outil se présente comme une couche de stockage au-dessus d’un data lake, qu’il soit dans le cloud (S3 par exemple) ou sur site, dans un cluster HDFS par exemple .Il est également entièrement compatible avec les API de Spark. Son intérêt réside dans le fait qu’il est capable de garantir un respect de la qualité des données à ces lacs de données en les structurant davantage, fournissant ainsi un environnement plus sain pour former des data pipelines.
Des data lakes plus ACID
Pour cela, il apporte notamment une couche de stockage transactionnel aux data lakes, garantis ACID. Un log est stocké afin de conserver une trace des commits effectués par exemple sur une table. L’autre gain de Delta Lake est qu’il s’appuie sur le format Parquet, auquel il ajoute des métadonnées, ainsi que des capacités de versioning (une fonction baptisée Time Travel par Databricks).
Le contrôle de la qualité est effectué par exemple sur la conformité des schémas, qui peuvent être pré-définis par l’utilisateur, le tout rappelons le, dans un environnement streaming ou batch.
Databricks n’est pas le seul éditeur à avoir créé une option de stockage pour répondre aux lacunes d’un format comme Parquet. Considérant ce dernier (ainsi qu’OCR), comme peu indexable et peu adapté au service de stockage en mode bloc, la société avait développé K-Store pour optimiser ses hyper-indexes, à la base du moteur d’Indexima. Mais afin de gagner un écosystème, ce format avait ensuite été versé dans l’open source.
Enfin, pour Databricks, cette mise à l’open source de Delta est surtout motivée par la création d’un écosystème et d’une communauté d’utilisateurs, à l’heure où justement la mauvaise qualité des données des data lakes constitue un frein pour les data scientists. De quoi les aider à faire parler des jeux de données dans les très tendance modèles de ML, rapporte Ali Ghodsi, le CEO et fondateur de Databricks chez nos confrères de SearchEntrepriseAI (groupe TechTarget, propriétaire du MagIT).