DatabricksのUnity Catalogで実現するデータガバナンス

記事タイトルとURLをコピーする

アプリケーションサービス本部の鎌田(義)です。
本稿では、Databricks が提唱するデータインテリジェンスプラットフォームを支える要素技術の一つである Unity Catalog の主な機能について紹介します。

Databricks とは

Databricks は、 エンタープライズレベルの大規模なデータ分析や AI ソリューションを構築、デプロイ、共有、保守するための統合されたオープンな分析プラットフォームであり、 Amazon Web Services (AWS)、Microsoft Azure、Google Cloud などの主要なクラウドプロバイダー上で利用可能です。

出典: https://www.databricks.com/blog/what-is-a-data-intelligence-platform

データガバナンスとは

データガバナンスとは、組織がデータを資産として最大限に活用するための包括的な管理体制のことです。 これには、データの品質、セキュリティ、プライバシー、コンプライアンスを確保するための方針、プロセス、技術的な統制が含まれます。

現代の企業では、データドリブンな意思決定が競争優位性を左右するため、データガバナンスの重要性がますます高まっています。 適切なデータガバナンスが実現されることで、 ベストプラクティスに従ってデータを適切に管理・活用できるようになります。

Unity Catalog によるデータガバナンス

Unity Catalog は、Databricks が提供する統合データガバナンスソリューションであり、データと AI の一元的な管理、テーブルや列に対するきめ細かなアクセス制御、データの発見に役立つデータリネージなどの機能を提供するデータカタログです。

Unity Catalogのオブジェクトモデル
出典: https://docs.databricks.com/aws/ja/data-governance/unity-catalog/

Unity Catalog では、 最上位に位置するメタストアが、セキュリティ保護可能なテーブルやボリューム、外部ロケーションなどの様々なオブジェクト、 それらへのアクセスを制御するアクセス許可を管理します。 メタストアは、リージョン毎に一つ作成でき、リージョン内のワークスペースはメタストアを共有します。

Unity Catalog メタストアでは 3 層構造 (カタログ/スキーマ/テーブル etc) でデータや AI 資産を管理します。 通常、データの分離はカタログレベルから始まります。

ワークスペースとカタログを使用して以下図のように環境を分離することも可能です。
出典: https://docs.databricks.com/aws/ja/data-governance/unity-catalog/

Databricks のカタログエクスプローラーでは、以下のようにカタログ/スキーマ/テーブルが確認できます。

カタログエクスプローラー

以降は、Databricks が Unity Catalog を使用して提供するデータガバナンスの機能について紹介します。

アクセス制御

  • 必要なデータにアクセスできるように、ユーザー/グループ/サービスプリンシパルに、テーブルや AI 資産に対するアクセス制御が可能です
  • テーブル単位の明示的な権限制御 (画像左) やカタログ/スキーマから権限を継承 (画像中央・画像右) した設定も可能です
  • 権限付与や削除は、カタログエクスプローラーや SQL から実行可能です
  • 動的ビューや、ユーザー定義関数を使用した行/列レベルのフィルタやマスクも可能です
  • 属性ベースのアクセス制御 (ABAC) は現在、パブリックプレビューで提供されています

出典: Databricks Academy (Data Management and Governance with Unity Catalog - Japanese)

監査

  • 監査ログを集約する System テーブルも Unity Catalog によって管理されています
  • System テーブルへのアクセス制御は、アカウント管理者とメタストア管理者の両方であるユーザーのみが Unity Catalog からアクセス許可を付与できます
  • System テーブルのデータは、Databricks が管理するストレージに保管されています

以下は、直近 7 日以内に特定のテーブルにアクセスしたユーザーを表示する例です。

直近7日以内にテーブルにアクセスしたユーザーを表示する例

データ発見可能性

ユーザーが必要なデータを見つけるのに役立つ様々なツールが、Unity Catalog には用意されています。

データリネージ

  • データリネージとは、いつ、どこで、どのように取得/生成されたデータなのかを表す「データの系統」を意味します
  • Unity Catalog のデータリネージでは、列レベルで系統をたどることが可能です
  • データの品質問題が発生した際に、影響範囲と原因の特定を迅速に行うことが可能になります
  • データリネージは、Databricks SQL、Databricks ノートブック、Jobs でのクエリ実行に基づいて自動的に生成されます

データリネージ
出典: https://docs.databricks.com/aws/ja/data-governance/unity-catalog/data-lineage

少し画面は古いですが、以下のデモページでデータリネージを体験することができます。
https://app.getreprise.com/launch/MnqjQDX/

ER 図

  • 外部キーが設定されているテーブルの場合、Unity Catalog の該当テーブルから以下のような ER 図を表示することが可能です

出典: https://docs.databricks.com/aws/ja/discover/database-objects

AI によるコメント生成

  • カタログエクスプローラーでは、生成 AI によるテーブルコメントやカラムコメントを自動生成できます

生成AIによるカラムコメント生成

※2025 年 9 月時点では、上記方法の場合英語でコメント生成されますが、Databricks アシスタントに SQL を生成してもらうと、以下のように日本語でも生成してくれました。

Databricks Assistant によるSQL文生成

データ共有

  • Unity Catalog では、同じリージョン内のアカウントの全てのワークスペースでデータを共有できます (画像 Unit1-Unit2 間)
  • さらに、Delta Sharing というオープンプロトコルにより、リージョン間や Databricks 以外のプラットフォームとのデータ共有も可能にします (画像 Unit3,Unit4)
  • Databricks Clean Rooms/Marketplace でも、Delta Sharing の技術が使用されています
  • Databricks Clean Rooms では、複数の関係者が互いにデータに直接アクセスすることなく、より安全にデータを共有することが可能です
  • Databricks Marketplace では、データ提供者としてセキュアにデータ製品を共有したり、データ消費者としてサードパーティのデータ製品を活用することが可能です

データ共有のイメージ
出典: https://docs.databricks.com/aws/ja/delta-sharing/

データ品質

  • Databricks レイクハウスモニタリングにより、テーブルの統計情報やデータの品質を監視できます
  • レイクハウスモニタリングを有効化すると、2 つのメトリクステーブルとダッシュボードが作成されます
  • 元となるデータの変更をキャッチし自動で更新します
  • 機械学習モデルのトレーニングや検証時に使用したデータに対して、データがドリフトした時にアラートを受け取る、といったことも可能です

ダッシュボードイメージ
出典: https://docs.databricks.com/aws/ja/lakehouse-monitoring/monitor-dashboard

おわりに

本稿では、Databricks が提供するデータガバナンスソリューションである Unity Catalog について紹介しました。 Unity Catalog は単なるデータカタログではなく、組織のデータ資産を統合的に管理し、セキュアで効率的なデータ活用を実現する包括的なソリューションです。アクセス制御、監査、データリネージ、データ品質管理、そしてデータ共有まで、データガバナンスの課題を網羅的に解決します。

Databricks の Unity Catalog の魅力が少しでも伝われば幸いです。

参考

鎌田 義章 (執筆記事一覧)

2023年4月入社 アプリケーションサービス本部ディベロップメントサービス3課