Engineering
Glossvation Engineering
クラウド

GCP Data Catalog の役割と使いどころ — データガバナンスを支えるメタデータ基盤

Google Cloud の Data Catalog を実運用目線で整理。メタデータ自動取り込み、タグテンプレート、Policy Tag による列レベル IAM、乗り換え先 Dataplex Catalog の位置づけまで。

Glossvation ·

Data Catalog が解く問題

企業のデータ基盤が BigQuery / Cloud Storage / Pub/Sub / Cloud SQL など複数サービスに広がると、以下の日常的な困りごとが生じます。

  • どのデータセットに何が入っているのか分からない
  • 「売上集計テーブル」が複数あり、どれが正本か分からない
  • PII (個人情報) 列がどこにあるか追跡できていない
  • 分析者がテーブルを探せず、同じ集計を重複実装する

Data Catalog は、これらデータリソースのメタデータ (データの説明・所有者・PII フラグなど) を 1 つのカタログに集約するフルマネージドサービスです。

2024+ の位置づけ: Data Catalog は Dataplex Universal Catalog に統合されつつあります。新規採用は Dataplex Catalog 側を推奨。既存の Data Catalog は当面動作し、本稿の内容は Dataplex 側でもほぼそのまま通用します。

主な機能

メタデータの自動取り込み

BigQuery, Pub/Sub, Cloud Storage のメタデータが自動で Data Catalog に取り込まれる。追加の設定不要で BigQuery のテーブル名・列名・スキーマ・説明が即カタログ化されます。

検索

Google レベルの検索エンジンが、名前・説明・タグ・列名を横断検索。

system=bigquery type=table tag:pii

のようなクエリで「BigQuery の PII 付きテーブル」を即引き当て可能。

タグテンプレート

ユーザー定義のメタデータスキーマ。「所有チーム」「保持期間」「機密度」などをテンプレ化してテーブルに貼る。

from google.cloud import datacatalog_v1

client = datacatalog_v1.DataCatalogClient()
tag = datacatalog_v1.Tag()
tag.template = "projects/MY_PROJECT/locations/us-central1/tagTemplates/pii_info"
tag.fields["contains_pii"] = datacatalog_v1.TagField(bool_value=True)
tag.fields["owner_team"] = datacatalog_v1.TagField(string_value="data-platform")
client.create_tag(parent=entry_name, tag=tag)

Policy Tag (列レベルのアクセス制御)

BigQuery と連携して列単位で IAM を効かせる。PII 列に policy-tag: pii-high を付けて、分析者ロールには非表示、監査ロールのみ閲覧可、といった制御が可能。

データリネージ

BigQuery INFORMATION_SCHEMA + Dataplex Catalog で「このテーブルがどのテーブルから作られたか」をグラフで追跡。データが壊れたときの影響範囲調査に効く。

実務での導入パターン

A. まずは検索だけ使う

  • BigQuery のテーブル検索を Data Catalog UI 経由にする
  • 最初はタグなし。既存メタデータだけでも効果大

B. 所有者を全テーブルに付ける

  • 誰に聞けばいいか分からない問題を解決
  • Terraform で全テーブル分 google_data_catalog_tag を一括付与

C. PII 分類で BigQuery 列アクセス制御

  • Policy Tag を利用して GDPR / 個人情報保護法 対応の基盤を構築
  • データリネージと併用してフロー全体で PII 追跡

落とし穴

1. タグテンプレートの設計は後戻りしにくい

一度定義した tagTemplate のフィールド変更は制約あり。最初に組織横断で合意形成してから投入するのが鉄則。

2. カスタム (手動登録) エントリの保守コスト

オンプレ DB など自動取り込み対象外のリソースは手動でカタログ化が必要。自動更新されないので棚卸しの運用フローを事前に決めておく。

3. 料金モデル

メタデータ数 + API 呼び出し数で課金。大量にタグを貼る自動化スクリプトは月次コストを事前試算。

4. Dataplex への移行

既存 Data Catalog のタグ・テンプレートは Dataplex Catalog に自動統合。新規プロジェクトは最初から Dataplex Catalog を使う方が運用負荷が低い。

まとめ

Data Catalog は「データ基盤の目次」を作るサービス。規模が大きくなる前に所有者タグと PII フラグだけでも導入しておくと、後から効いてきます。新規導入なら Dataplex Catalog を選択し、段階的にタグ付け → Policy Tag → リネージの順で機能を育てていくのが実用的です。

関連記事