近年、データは「資産」として扱われるようになり、セキュリティ・権限管理・データの利用統制が企業にとって極めて重要になっています。Databricksが提供する Unity Catalog は、この課題に対応するための 「統合データガバナンスソリューション」 です。
この記事では、Unity Catalogのアーキテクチャやセキュリティモデル、従来のHive Metastoreとの違い、さらに実務におけるメリットまでをわかりやすく解説します。
Table of Contents
Unity Catalogとは?
Unity Catalogは、クラウド全体のデータ資産を一元的に管理できるガバナンス機能 です。
Databricksの各ワークスペースを横断し、次のようなデータやAI資産を対象に統制を可能にします。
- ファイル
- テーブル
- 機械学習モデル
- ダッシュボード
これまでワークスペースごとに個別に管理されていた権限やユーザー情報を、アカウントレベルで一元管理できる のが大きな特徴です。
従来のHive Metastoreとの違い
従来のHive Metastoreは、各ワークスペースに紐づくローカルな仕組み でした。
- ユーザーやグループはワークスペースごとに定義
- アクセス制御もその範囲に限定
これに対して、Unity Catalogは ワークスペース外部に存在 し、
「Account Console」という管理画面から操作します。
- ユーザー/グループの定義はアカウント単位
- メタストアもアカウント単位で定義し、複数ワークスペースに割り当て可能
- 一度ルールを設定すれば、複数のワークスペースに適用できる
つまり、組織全体での一元的なガバナンス を実現できるのです。
3階層の名前空間モデル
Hive Metastoreでは「スキーマ.テーブル」の 2階層モデル でしたが、Unity Catalogでは以下のような 3階層モデル が導入されています。
カタログ(Catalog). スキーマ(Schema/Database). テーブル/ビュー/関数
- カタログ (Catalog)
最上位の論理コンテナ。メタストアに属する。 - スキーマ (Schema / Database)
テーブルやビューをまとめる中間層。 - テーブル/ビュー/関数
実際のデータオブジェクト。
これにより、より柔軟で整理されたデータ管理が可能になります。
セキュリティモデルと権限管理
Unity Catalogは、以下のような権限をサポートしています。
- CREATE:オブジェクトの作成
- SELECT:データの読み取り
- MODIFY:更新や削除
- READ FILES / WRITE FILES:基盤ストレージへの読み書き(ANY FILEに代わる概念)
- EXECUTE:ユーザー定義関数の実行
- USE CATALOG / USE SCHEMA:カタログやスキーマを利用するための前提権限
重要なのは、スキーマ内で操作する場合、
- USE CATALOG(親カタログ)
- USE SCHEMA(対象スキーマ)
両方の権限が必要になることです。
アイデンティティ管理
Unity Catalogは Identity Federation をサポートしており、ユーザーやグループはアカウントコンソールで一度作成すれば、必要なワークスペースに割り当て可能です。
プリンシパルの種類
- ユーザー:メールアドレスで識別される個人
- サービスプリンシパル:アプリや自動化ツール用のID
- グループ:ユーザーやサービスプリンシパルをまとめた単位(入れ子構造も可能)
従来のようにワークスペースごとにユーザーを複製する必要がなくなり、管理コストが大幅に削減されます。
データ共有とリネージ機能
Unity Catalogは、Delta Sharing をサポートしています。
- シェア (Share):共有するテーブルのコレクション
- 受信者 (Recipient):シェアを受け取る相手
さらに、自動化されたリネージ機能により、
- データの出所
- どのノートブック/ワークフローで使われているか
- ダッシュボードでの利用状況
といったデータの流れを可視化できます。
リネージ(Data Lineage)とは?
Unity Catalogの大きな特徴のひとつに リネージ(lineage)機能 があります。
リネージとは、データがどこから来て、どのように加工され、最終的にどこで利用されているかを追跡する仕組み のことです。
もっとシンプルに言うと、
- 「このレポートの数値は、どのテーブルから作られたの?」
- 「この分析で使っているデータは、元はどのシステムから来ているの?」
- 「もしこのカラムを変更したら、どのダッシュボードやモデルに影響するの?」
といった疑問に答えてくれるのがリネージです。
Unity Catalogにおけるリネージの役割
- データの透明性を高める
データの出所が明確になることで、安心して活用できる。 - 影響範囲の可視化
カラム変更やテーブル削除時に、どのノートブック/ダッシュボードに影響が及ぶか事前に把握可能。 - ガバナンス強化
データが正しく、適切に使われているかを監査できる。
Hive Metastoreとの共存
Unity Catalogを有効化しても、従来のHive Metastoreは残ります。
- ワークスペースには常に
hive_metastore
というカタログが存在 - 既存の仕組みを利用しつつ、段階的にUnity Catalogへ移行可能
これにより「移行が難しいのでは?」という懸念を最小化し、スムーズな導入 を実現できます。
まとめ
Unity Catalogは、Databricksにおける 次世代のデータガバナンス基盤 です。
- 組織全体のデータ資産を一元管理
- 3階層モデルで柔軟なデータ整理
- 強固でわかりやすい権限管理
- ID管理の効率化(Identity Federation)
- データ共有とリネージの可視化
従来のHive Metastoreの限界を補い、クラウド横断での統合ガバナンス を可能にします。
今後Databricksを活用する企業にとって、Unity Catalogはデータ戦略の中核になるでしょう。