En réponse à Polaris, Databricks libère Unity Catalog
Databricks a rendu disponible une version open source de sa couche de gouvernance et d’interopérabilité entre plusieurs moteurs de traitements auprès de la LF AI&Data. Un pied de nez à Snowflake et à son projet Polaris.
En réponse à Polaris, Databricks libère Unity Catalog
Databricks a rendu disponible une version open source de sa couche de gouvernance et d’interopérabilité entre plusieurs moteurs de traitements auprès de la LF AI&Data. Un pied de nez à Snowflake et à son projet Polaris.
C’est lors du Data+AI Summit 2021 que Databricks avait présenté Unity Catalog, une couche de gouvernance que les clients déploient en production depuis l’année dernière environ.
Cette annonce faisait suite à l’ouverture de Delta Sharing, un protocole de partage de données open source, un dispositif concurrent au système propriétaire de Snowflake.
Unity Catalog l’était, lui aussi, propriétaire. Il est désormais adopté par près de 10 000 clients et en cours d’évaluation par d’autres. General Motors utilise cette couche pour cataloguer l’équivalent de 10 pétaoctets de données, tandis que Pepsico l’utilise pour partager 30 produits de données auprès de 1 500 utilisateurs actifs.
Vu ce succès et à la demande de ses clients, Databricks a décidé, comme il l’a déjà fait par le passé pour d’autres des briques de sa plateforme, de la rendre open source sous licence Apache 2.0.
Unity Catalog doit offrir une couche d’accès, d’audit, de traçabilité et de découverte de données au travers des espaces de données Databricks. Sous sa forme ouverte, il doit être une « interface universelle » permettant de lire des tables Delta Lake, Apache Iceberg, Hudi – à travers le client UniForm et de se connecter à l’API REST du catalogue Iceberg et au métastore Apache Hive.
Cette couche de gouvernance ouverte est interopérable avec les trois grandes plateformes cloud (AWS, GCP, Azure) et Saleforce ainsi qu’avec les moteurs Apache Spark, Presto, Trino DuckDB, Daft, PuppyGraph et StarRocks. Les logiciels de DBT Labs, Fivetran, Granica, Immuta, LangChain, Tecton ou encore de Confluent seraient également compatibles.
Il y a donc, selon Joel Minnick, vice-président marketing chez Databricks, à la fois la volonté d’offrir un outil de gouvernance et la possibilité de lire et d’écrire des données présentes dans le catalogue Unity avec des moteurs de traitement tiers.
Dans le détail, Unity Catalog est une couche d’orchestration de plusieurs métastores. « Chaque métastore expose un namespace à trois niveaux pour organiser vos données », précise la documentation de Databricks.
Il y a d’abord un catalogue, premier objet de cette hiérarchie. Puis, il y a ce que l’éditeur appelle des schémas, c’est-à-dire des bases de données qui contiennent des tables et des vues matérialisées. Il y a ensuite des volumes, des espaces de stockage utilisés pour héberger des données structurées, semi-structurées et non structurées. Cela peut inclure des documents, des éléments de code, des notebooks, etc.
Pour rappel, Snowflake a annoncé Polaris, un futur projet open source, qui vise à apporter une centralisation de l’accès aux tables Apache Iceberg. Ce catalogue dédié à Iceberg, qui devrait être ouvert dans 90 jours, semble toutefois plus adapté à l’interopérabilité de l’exécution de moteurs tiers sur des données issues de mêmes tables Iceberg qu’une couche complète de gouvernance.
Justement, selon Ali Ghodsi, CEO de Databricks, ce serait la grande différence avec son concurrent.
« Les gens apprécient notre catalogue parce qu’il offre aussi une gouvernance pour l’IA, contrairement à d’autres projets open source qui se concentrent uniquement sur les données tabulaires », avance-t-il.
Deux sociétés en quête d’universalité technologique
« Les catalogues contiennent toutes les métadonnées, et c’est stratégique. Certains craignent une guerre pour le contrôle des catalogues, mais il existe déjà la norme de métastore Hive depuis près de vingt ans et l’API REST du catalogue Iceberg », poursuit-il. « Unity Catalog prend en charge les deux options depuis plus d’un an. En fait, seuls Databricks et Tabular supportent l’API Iceberg depuis près d’un an, aucun autre fournisseur ne le fait encore ».
Le CEO de Databricks est fier, mais il ne peut pas s’avancer de trop, sachant que Snowflake s’est laissé 90 jours pour libérer le projet Polaris. Dans ce laps de temps, son concurrent pourra clarifier ses intentions et potentiellement annoncer la prise en charge d’autres formats de table, de charge de travail, de données non structurées. « Pourquoi attendre 90 jours ? », lance Matei Zaharia, cofondateur et CTO de Databricks peu avant de passer la page GitHub du projet Unity Catalog OSS en public.
« Je ne suis pas inquiet. Il pourrait y avoir deux implémentations concurrentes : celle que nous avons et peut-être une autre dans 90 jours. Mais cela n’a pas vraiment d’importance pour les clients », considère le CEO. « Ils utilisent simplement nos services dans le cloud ou ceux de nos concurrents, voire les deux. C’est seulement pour ceux qui téléchargent et exécutent les projets open source qu’il pourrait y avoir deux alternatives ».
Or, ces mêmes clients pourraient décider de déployer eux-mêmes ces projets open source afin d’éviter tout enfermement propriétaire.
Lors du deuxième keynote d’ouverture, Matei Zaharia a présenté une implémentation de référence du catalogue Unity dans sa forme open source, en présentant un serveur, un SDK et un CLI dédiés, eux aussi ouverts. Il a démontré qu’il était possible d’interroger les mêmes données avec deux moteurs différents. Pour l’instant, certains moteurs ne sont accessibles qu’en lecture, alors que d’autres permettent d’écrire et de lire des tables au format Delta, Iceberg, UniForm.
Toutefois, les utilisateurs ne retrouveront pas immédiatement toutes les fonctions de la couche de gouvernance, prévient Joel Minnick. Dans un premier temps, les tables, les volumes et les fonctions « AI/ML » sont pris en charge dans cette couche de gouvernance. Des tutoriels ont déjà été publiés pour les moteurs Delta Lake, Trino, DuckDB et Apache Spark.
« Est-ce que toutes les fonctionnalités du catalogue Unity seront disponibles dans sa version open source dès le premier jour ? Non, mais nous allons travailler avec la communauté et commencer à publier ce à quoi ressemblera la feuille de route, car notre intention est de faire converger les deux éléments », affirme le vice-président du marketing. « Il y a beaucoup de choses dans Unity Catalog qui existent à l’intérieur de la plateforme Databricks et qui n’existent pas dans une implémentation de référence. Nous devons donc concevoir cette architecture ».
Unity Catalog OSS rejoint la LF AI&Data
Unity Catalog OSS sera ainsi rendu compatible avec le projet de partage de données Delta Sharing, des API permettront d’écrire les données, peu importe le format de données, de prendre en charge les fonctions distantes, les modèles et les objets MLFlow, ainsi que les vues matérialisées.
Le projet est confié à la fondation Linux, la terre d’accueil de Delta Lake et MLflow. Plus précisément, le projet vient d’entrer dans la phase « Sandbox » de la LF AI & Data. Joel Minnick indiquait la veille de l’annonce que l’entreprise avait hésité entre la Linux Foundation et la fondation Apache. Snowflake se pose la même question avec Polaris.
Dans un même temps, la version propriétaire d’Unity Catalog accueillera la possibilité de cataloguer les métriques métiers préparées depuis Databricks et des outils de transformation (dbt labs, Cube, Atscale), ainsi que des outils de BI du marché (Power BI, Qlik, Tableau, Looker, etc.). Une vingtaine de fonctionnalités ont été ajoutées cette année dans la couche de gouvernance, dont 12 en disponibilité générale (cf. l’image ci-dessus).
Pour rappel, la semaine dernière, Databricks a annoncé l’acquisition de Tabular, dont les fondateurs sont les créateurs du format de tables Apache Iceberg. Sur LinkedIn, un vice-président produit avait dénoncé la volonté de Databricks de prendre le contrôle du projet open source. LeMagIT vous partagera la réponse d’Ali Ghodsi dans un prochain article..