GCP Data Catalog の役割と使いどころ — データガバナンスを支えるメタデータ基盤
Google Cloud の Data Catalog を実運用目線で整理。メタデータ自動取り込み、タグテンプレート、Policy Tag による列レベル IAM、乗り換え先 Dataplex Catalog の位置づけまで。
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 → リネージの順で機能を育てていくのが実用的です。
関連記事
- クラウド·
Looker (Google Cloud) の設計思想 — LookML で BI を「コード化」する
Looker のモデル定義言語 LookML を中心に、他 BI ツールとの思想差、組織運用での使い所と落とし穴、Looker Studio との棲み分けまで。
- クラウド·
Spark on Kubernetes の採用判断 — YARN / EMR との棲み分けと運用設計
Spark を Kubernetes で実行するときの構成要素 (Spark Operator / spark-submit)、既存の YARN / EMR との違い、リソース管理・ログ・メトリクスの運用設計、避けるべき罠。
- クラウド·
Concourse on Kubernetes 検証メモ — Helm 導入と本番運用で考えること
Concourse を Kubernetes 上にデプロイする構成メモ。Helm チャートでの立ち上げ手順、Worker ノードを DaemonSet で配置する設計、本番運用での留意点と 2024 年の現実解。