Databricks は、Unity Catalog (UC) マネージド Delta テーブルへの外部アクセスがパブリックプレビューになったことを発表しました。これにより、Apache Spark、Apache Flink、Starburst、DuckDB などの外部エンジンが、UC マネージドテーブルを作成、読み取り、書き込みできるようになり、すべての操作は Unity Catalog によって一元的にガバナンスが実施されます。
UC マネージドテーブルは、Delta Lake と Apache Iceberg の相互運用性を備え、予測最適化(Predictive Optimization)と呼ばれる自動チューニング機能を内蔵しています。この機能はストレージのクリーンアップ、クエリ統計の収集、クエリパターンの変化に応じた Liquid クラスタリングカラムの自動選択を行います。Databricks によれば、これにより最大 50% のストレージコスト削減と 20 倍のクエリ高速化が可能となり、データチームによる手動チューニングの必要性がなくなります。
また、最近一般提供が開始されたカタログコミット(catalog commits)により、Unity Catalog が UC マネージドテーブルのコミットコーディネーターとして機能します。外部クライアントがクラウドストレージに直接コミットするのではなく、カタログを通じて調整されるため、Unity Catalog がテーブル状態の信頼できる情報源となります。これにより、安全な外部書き込み、複数ステートメントトランザクション、外部操作の監査などの重要な利点が得られます。
外部アクセスは、オープンなメタデータ、クレデンシャルベンディング、コミット調整の API に基づいています。クレデンシャルベンディングは UC 権限に基づいて短期間でスコープが制限されたクレデンシャルを発行し、Unity Catalog Delta API は Delta エンジンに対して作成、読み取り、書き込み操作のバージョン管理されたコントラクトを提供します。これらの API はオープンであり、Unity Catalog OSS プロジェクトで実装されているため、任意のエンジンが統合できます。その結果、Databricks UC と UC OSS の両方で同じガバナンスされたデータコピー上で動作するエンジンのエコシステムが拡大しています。
パートナー企業もこれらの API を活用しています。例えば、Starburst は Unity Catalog と Delta Lake を統合し、UC マネージド Delta テーブルの作成、読み取り、書き込みをサポートしています。Starburst の CEO Justin Borgman 氏は、「Starburst はデータエコシステムのオープン性と相互運用性に関する Databricks のビジョンを共有しています。Unity Catalog マネージドテーブルとの統合により、顧客はすべてのデータの単一の信頼できる情報源を、一元化されたガバナンスと自由なツール選択の柔軟性とともに実現できます」と述べています。
Databricks は Delta Kernel を通じてエコシステムをさらに拡大しています。Delta Kernel は、Delta テーブルの読み取り、書き込み、コミットを行うライブラリを提供し、プロトコルをゼロから再実装する必要をなくします。UC OSS の UC Delta API と組み合わせることで、Delta Kernel は Databricks 管理のカタログまたはセルフホストの UC OSS デプロイメントとシームレスに統合できます。例えば、DuckDB は Delta Kernel 上に Delta および Unity Catalog OSS 拡張機能を構築しています。DuckDB v1.5.1 以降、UC マネージド Delta テーブルを直接読み書きできます。DuckDB Labs の CEO Hannes Mühleisen 氏は、「DuckDB ユーザーは、軽量な分析エンジンからオープンなレイクハウスデータを直接操作できることを重視しています。Delta Lake と Unity Catalog の統合は、ガバナンスされたエンタープライズテーブルにそのエクスペリエンスをもたらし、あるエンジンで書き込まれたデータを別のエンジンで一貫して読み取るワークフローを可能にします」とコメントしています。
一元化されたガバナンスはマルチエンジンパイプラインにとって重要です。ストリーミングアプリケーションがマネージドテーブルにデータを書き込み、Spark が変換し、Starburst や DuckDB がクエリする場合でも、エンジンやアイデンティティに関係なくアクセス制御が尊重されなければなりません。Unity Catalog はすべてのエンジンにわたる単一のガバナンスレイヤーです。プラットフォームチームは UC 権限を通じて、どのプリンシパルがテーブルに外部アクセスできるか、また何ができるかを制御します。クロスエンジン ABAC はこれをさらに拡張し、外部エンジンからの読み取り時に Unity Catalog が行をフィルタリングしたり列をマスクしたりすることを可能にします。
利用を開始するには、Unity Catalog メタストアで外部データアクセスを有効にし、UC マネージド Delta テーブルを含むスキーマに EXTERNAL USE SCHEMA 権限を付与し、Delta 4.3 と Unity Catalog 0.5.1 クライアントを使用してエンジンを接続します。既存の外部テーブルは ALTER TABLE SET MANAGED でインプレースアップグレードでき、データの書き換えは不要です。
Databricks のビジョンは明確です。顧客は各ワークロードに最適なエンジンを使用しながら、Unity Catalog にデータの単一コピーを保持し、最高の価格性能比と統一ガバナンスを享受できるべきです。