Revenir au contenu principal
Plateforme

Comment les tables gérées Unity Catalog apportent interopérabilité, performances et gouvernance unifiée au Lakehouse

Les moteurs externes peuvent créer, lire et écrire dans des tables Delta gérées par Unity Catalog avec une gouvernance centralisée et des optimisations automatiques.

par Alex Jiang et Tathagata “TD” Das

  • Les moteurs externes, notamment Apache Spark, Apache Flink et DuckDB, peuvent désormais créer et écrire dans des tables Delta gérées par UC, avec une gouvernance centralisée dans Unity Catalog
  • Les tables gérées par UC utilisent l'optimisation prédictive pour améliorer les performances des requêtes et réduire les coûts de stockage, tout en restant pleinement interopérables avec les moteurs externes. Les tables externes existantes peuvent être mises à niveau sur place avec ALTER TABLE SET MANAGED, sans réécriture des données et tout en préservant l'interopérabilité
  • L'accès externe repose sur les API UC Delta ouvertes du projet open source Unity Catalog (UC OSS), de sorte que les moteurs pris en charge fonctionnent à la fois avec Databricks UC et UC OSS.

Unity Catalog a été conçu pour l'interopérabilité à grande échelle. Les entreprises ont la flexibilité d'exécuter n'importe quel moteur sur une copie unique de données avec une gouvernance appliquée de manière centralisée.

Aujourd'hui, nous allons encore plus loin dans l'interopérabilité. Nous sommes ravis d'annoncer que l'accès externe aux tables Delta gérées par Unity Catalog (UC) est désormais disponible en aperçu public.

Au cours de l'année écoulée, un nombre croissant de moteurs, d'Apache Spark et Flink à désormais Starburst et DuckDB, se sont intégrés aux tables Delta gérées par UC, et l'écosystème continue de se développer. Les entreprises peuvent ainsi bénéficier du meilleur des deux mondes : le rapport prix-performance des tables gérées par UC et la flexibilité d'utiliser les moteurs adaptés à chaque charge de travail. Unity Catalog reste la couche de gouvernance centrale, garantissant que les politiques d'accès sont appliquées de manière cohérente sur tous les moteurs.

Jusqu'à présent, les équipes qui avaient besoin d'un accès multi-moteur utilisaient des tables externes, qui manquent d'optimisations de performance et de garanties de gouvernance. Avec l'accès externe désormais en aperçu public, ce compromis n'a plus lieu d'être. Les tables gérées par UC s'imposent comme le choix évident pour le lakehouse en termes de prix, de performance et d'interopérabilité.

Pourquoi les équipes choisissent les tables gérées par Unity Catalog

Les tables gérées par UC combinent l'interopérabilité de Delta Lake et d'Apache Iceberg avec des fonctionnalités automatiques et intégrées qui améliorent les performances des requêtes, réduisent les coûts de stockage et maintiennent la santé des tables au fil du temps. Elles constituent également le fondement des fonctionnalités de la plateforme, telles que la reprise après sinistre et l'ingestion Zerobus.

Databricks ajuste automatiquement les tables gérées grâce à l'optimisation prédictive. L'optimisation prédictive nettoie le stockage, collecte les statistiques de requêtes et sélectionne automatiquement les colonnes de clustering Liquid pour faire évoluer la disposition des tables à mesure que les modèles de requêtes changent. Ensemble, ces avantages peuvent générer jusqu'à 50 % d'économies sur les coûts de stockage et des requêtes jusqu'à 20 fois plus rapides, tout en évitant aux équipes de données d'avoir à ajuster les tables manuellement.

optimisation prédictive

Nous avons récemment annoncé la disponibilité générale (GA) des commits de catalogue, qui font d'Unity Catalog le coordinateur de commits pour les tables gérées par UC. Plutôt que de laisser des clients externes effectuer des commits directement sur le stockage cloud, les écritures dans les tables Delta gérées par UC sont coordonnées via le catalogue. Cela fait d'Unity Catalog la source unique de vérité pour l'état des tables, ce qui débloque des avantages clés tels que des écritures externes sécurisées, des transactions multi-instructions et l'audit des opérations externes.

Créer, lire et écrire depuis des moteurs externes

Désormais en aperçu public, les moteurs externes peuvent :

  • Créer, lire et écrire dans des tables Delta gérées par UC avec des commits de catalogue depuis Apache Spark (batch et streaming), Apache Flink, Starburst, DuckDB et Streamnative.
  • Maintenir une gouvernance centralisée dans Unity Catalog sur tous les moteurs.
  • Bénéficier de l'optimisation prédictive, qui réduit les coûts et améliore les performances sur tous les moteurs.

L'accès externe repose sur des API ouvertes pour les métadonnées, la distribution d'identifiants (credential vending) et la coordination des commits. La distribution d'identifiants fournit des identifiants temporaires et restreints basés sur les privilèges UC, tandis que l'API Delta d'Unity Catalog offre aux moteurs Delta un contrat versionné pour les opérations de création, de lecture et d'écriture. Puisque ces API sont ouvertes et implémentées dans le projet Unity Catalog OSS, n'importe quel moteur peut s'intégrer avec un support pour la création, la lecture et l'écriture. Le résultat est un écosystème croissant de moteurs qui opèrent sur la même copie gouvernée de données dans Databricks UC et dans UC OSS

Les partenaires conçoivent déjà des solutions autour de ces API de différentes manières. Starburst, par exemple, s'intègre à Unity Catalog et Delta Lake pour prendre en charge la création, la lecture et l'écriture dans les tables Delta gérées par UC.

"Starburst partage la vision de Databricks en matière d'ouverture et d'interopérabilité au sein de l'écosystème des données. En nous intégrant aux tables gérées par Unity Catalog, nous permettons à nos clients de créer une source unique de vérité pour toutes leurs données, avec une gouvernance centralisée et la flexibilité d'exploiter les outils de leur choix." —Justin Borgman, CEO, Starburst Data

Développer l'écosystème grâce à Delta Kernel

L'accès externe aux tables gérées par UC fait partie d'un investissement plus large dans l'écosystème Delta Lake et Unity Catalog OSS. L'objectif est d'aligner Delta sur le modèle géré par catalogue initié par Iceberg, afin que les entreprises puissent bénéficier des garanties de performance et de cohérence d'un catalogue tout en maintenant l'interopérabilité avec n'importe quel moteur.

Nous développons l'écosystème Delta avec Delta Kernel, qui fournit des bibliothèques pour lire, écrire et effectuer des commits sur les tables Delta sans avoir à réimplémenter le protocole à partir de zéro. Associé aux API UC Delta dans UC OSS, Delta Kernel permet à un moteur de s'intégrer de manière transparente à un catalogue géré par Databricks ou à un déploiement UC OSS auto-hébergé.

Par exemple, DuckDB a construit ses extensions Delta et Unity Catalog OSS sur Delta Kernel. Depuis DuckDB v1.5.1, il peut lire et écrire directement dans les tables Delta gérées par UC. Cela reflète notre engagement en faveur d'un écosystème ouvert et interopérable : à mesure que le protocole Delta évolue, les moteurs basés sur le Kernel héritent automatiquement des dernières fonctionnalités, garantissant ainsi aux clients un accès permanent aux meilleures capacités, quel que soit le moteur choisi.

"Les utilisateurs de DuckDB apprécient de pouvoir travailler directement avec des données de lakehouse ouvertes à partir d'un moteur analytique léger. L'intégration de Delta Lake et d'Unity Catalog permet d'apporter cette expérience aux tables d'entreprise gouvernées, y compris pour des workflows où les données écrites par un moteur peuvent être lues de manière cohérente par un autre." —Hannes Mühleisen, CEO, DuckDB Labs

Nous continuons à travailler avec la communauté pour développer davantage d'intégrations basées sur le Kernel avec les tables Delta gérées par UC. Par exemple, nous faisons de grands progrès pour intégrer les charges de travail de streaming Flink dans les tables gérées par UC grâce à un nouveau connecteur Flink basé sur le Kernel.

Gouvernance centralisée

Une gouvernance centralisée est essentielle pour les pipelines multi-moteurs. Une application de streaming peut écrire des données dans une table gérée, Spark peut les transformer, et Starburst ou DuckDB peuvent les interroger — quel que soit le moteur ou l'identité derrière la requête, les contrôles d'accès doivent être respectés.

Unity Catalog est la couche de gouvernance unique pour tous les moteurs. Les équipes de plateforme contrôlent quels principaux peuvent accéder aux tables en externe et ce qu'ils peuvent faire grâce aux privilèges UC. L'ABAC multi-moteur va encore plus loin, permettant à Unity Catalog de filtrer les lignes ou de masquer les colonnes lors des lectures à partir de moteurs externes. Les contrôles d'accès fins sont appliqués de manière centralisée pour les tables gérées par UC, sans qu'aucune solution de contournement personnalisée ne soit nécessaire.

Commencez à utiliser les tables gérées par UC dès aujourd'hui

Pour les équipes qui s'appuient sur le lakehouse ouvert, les tables gérées par UC constituent la base la plus solide disponible. L'optimisation prédictive ajuste automatiquement la disposition des données et effectue la maintenance des tables, offrant ainsi le meilleur rapport prix-performance sans aucun effort manuel. L'interopérabilité est également intégrée : les tables gérées sont stockées au format Delta ou Iceberg et sont accessibles depuis n'importe quel moteur, de sorte que les équipes n'ont jamais à choisir entre performance et flexibilité.

Les équipes utilisant des tables externes peuvent mettre à niveau leurs tables existantes sur place avec ALTER TABLE SET MANAGED, bénéficiant ainsi de l'optimisation prédictive et des commits de catalogue tout en conservant l'accès ouvert et multi-moteur sur lequel elles s'appuient déjà.

Notre vision est claire : les clients doivent pouvoir utiliser le meilleur moteur pour chaque charge de travail tout en conservant une copie unique des données dans Unity Catalog avec le meilleur rapport prix-performance et une gouvernance unifiée.

Comment démarrer

L'accès externe aux tables Delta gérées par UC est en aperçu public, y compris la prise en charge des opérations de création, de lecture et d'écriture à partir de clients externes.

Pour démarrer :

  1. Activez l'accès aux données externes sur votre métastore Unity Catalog.
  2. Accordez EXTERNAL USE SCHEMA sur le schéma contenant les tables Delta gérées par UC auxquelles vous souhaitez que les moteurs externes accèdent.
  3. Connectez votre moteur à l'aide de Delta 4.3 avec le client Unity Catalog 0.5.1. Consultez la documentation sur l'accès externe.
  4. Testez les créations, lectures et écritures sur la table Delta gérée par UC avec les commits de catalogue activés depuis des moteurs externes (ou convertissez une table externe existante en table gérée)

Vous trouverez ci-dessous les informations spécifiques aux connecteurs Delta :

(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original

Recevez les derniers articles dans votre boîte mail

Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.