データ ガバナンスの基盤を構築する

「この列名の意味は何ですか?」などの質問をしたことがあるかもしれません。「この破損したデータセットのオーナーは誰ですか?」や「このテーブルは使用が承認されていますか?」などです。一部のデータカタログでは、非構造化タグを使用してこの情報を追加しますが、タグはすぐに古くなったり、一貫性がなくなったりします。Knowledge Catalog(以前の Dataplex Universal Catalog)では、構造化されたスキーマ駆動型メタデータと明確なビジネス定義をデータアセットに直接関連付けることができるため、この問題を回避できます。このアプローチは、プログラムによるガバナンスを大規模に構築するのに役立ちます。

このチュートリアルでは、Knowledge Catalog でデータ ガバナンスを開始する方法について説明します。このチュートリアルは、データ エンジニア、データベース管理者、データ アーキテクトを対象としています。これらのワークフローを自動化する前に、強力なメンタルモデルを構築できるように、手動の UI 手順について説明します。主要な Knowledge Catalog のコンセプト間の関係を明確にします。このガイドを読み終えるころには、データを検出可能で信頼できるものにする方法を理解できます。

目標

このチュートリアルでは、以下の方法について学習します。

  • ビジネス用語集を使用して、ビジネス用語の信頼できる唯一の情報源を作成します。
  • アスペクト タイプを使用してメタデータを構造化して整理します。
  • アスペクトを使用して、メタデータをアセットにアタッチします。
  • Knowledge Catalog Search を使用して、この新しい構造化メタデータを使用して必要なものを正確に見つけます。

始める前に

始める前に、次のことを行います。

環境の設定

このチュートリアルでは、クラウドで実行されるコマンドライン環境である Cloud Shell を使用します。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] をクリックします。環境がプロビジョニングされ、接続されるまでしばらく待ちます。

  2. Cloud Shell で PROJECT_ID 変数と LOCATION 変数を設定して、以降のすべてのコマンドが特定の Google Cloud プロジェクトをターゲットとするようにします。

    export PROJECT_ID=$(gcloud config get-value project)
    gcloud config set project $PROJECT_ID
    export LOCATION="us-central1"
    
  3. 必要な Google Cloud サービスを有効にします。

    gcloud services enable \
      dataplex.googleapis.com \
      bigquery.googleapis.com \
      datacatalog.googleapis.com
    

BigQuery データセットを作成してサンプルデータを準備する

次のコードを使用して、BigQuery データセットを作成し、サンプル CSV トランザクションをテーブルに読み込みます。テーブルを作成すると、Knowledge Catalog は自動的にテーブルを検出し、カタログにエントリを作成します。

エントリは、Knowledge Catalog のデータアセットの表現と考えることができます。これは、ガバナンス メタデータを関連付けることができるカタログ内のレコードのようなものです。BigQuery テーブルを直接管理するのではなく、Knowledge Catalog のエントリを管理します。

# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
    --description "Retail data for governance codelab" \
    $PROJECT_ID:retail_data

# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv

# Load the data from the temporary CSV file into a BigQuery table
bq load \
    --source_format=CSV \
    --autodetect \
    retail_data.transactions \
    /tmp/transactions.csv

# (Optional) Clean up the temporary file
rm /tmp/transactions.csv

SELECT クエリを実行して、設定を確認します。

bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"

出力例:

+----------------+------------------+-------+------------------+
| transaction_id |    user_email    |  gmv  | transaction_date |
+----------------+------------------+-------+------------------+
|           1001 | test@example.com | 150.5 |       2025-08-28 |
|           1002 | user@example.com |  75.0 |       2025-08-28 |
+----------------+------------------+-------+------------------+

ビジネス用語集で共通の用語を確立する

適切なガバナンスは、明確な定義に依存します。たとえば、デベロッパーは、gmv という名前の列が総商品価値を意味するのか、税金や返品が含まれているのかを推測する必要はありません。ビジネス用語集は、ビジネス定義を技術的な詳細から切り離した信頼できる唯一の情報源を作成することで、この問題を解決します。これにより、売上総額などの用語が、営業チームから財務部門まで、すべての関係者にとって同じ意味を持つようになります。

用語集を作成して最初の用語を定義する手順は次のとおりです。

  1. Google Cloud コンソールで、Knowledge Catalog の [用語集] ページに移動します。

    [用語集] に移動

  2. [ビジネス用語集を作成] をクリックします。

  3. 次の詳細情報を入力します。

    • Display name: Retail Business Glossary
    • ロケーション: us-central1 (Iowa)
  4. [作成] をクリックします。

  5. [カテゴリを作成] をクリックします。

  6. カテゴリに Sales Metrics という名前を付け、[作成] をクリックします。

  7. [Sales Metrics] カテゴリを選択し、[Add term] をクリックします。

  8. 用語 Gross Merchandise Value に名前を付けて、[作成] をクリックします。

  9. [商品総額] という用語をクリックして、詳細ページを開きます。

  10. [概要] の横にある [追加] をクリックします。次の詳細情報を入力します。The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.

  11. [保存] をクリックします。

これで、組織全体のデータアセットにリンクできる用語集用語が作成されました。

アスペクト タイプを使用してテクニカル メタデータを定義する

特定のデータアセットの所有者を追跡する必要がある場合、Key-Value タグだけでは不十分です。1 つのテーブルに owner:bob タグを付け、別のテーブルに contact:alice@example.com タグを付けることはできません。所有者情報が有効なメール形式で入力されている必要がある構造化スキーマが必要です。

このニーズを満たすため、Knowledge Catalog はアスペクト タイプをサポートしています。アスペクト タイプは、明確なルールと必須フィールドを設定できるメタデータのブループリントのようなものです。これにより、後で追加するメタデータが整理された状態になります。

  1. Google Cloud Knowledge Catalog コンソールで、[メタデータのタイプ] ページの [アスペクト タイプ] タブに移動します。

    [アスペクト タイプ] に移動

  2. [カスタム] タブで、[作成] をクリックします。

  3. 次の詳細情報を入力します。

    • Display name: Data Asset Governance
    • ロケーション: us-central1 (Iowa)
  4. [テンプレート] セクションで、[フィールドを追加] をクリックして、次の 3 つのフィールドを作成します。

    • フィールド 1:

      • Display name: Data Steward
      • タイプ: Text
      • 必須: チェックボックスをオンにします。
      • テキストタイプ: Plain text
    • フィールド 2([フィールドを追加] をクリック):

      • Display name: Data Sensitivity
      • タイプ: Enum
      • Is Required: 省略可のままにします。
      • : PublicInternalConfidential を追加
    • フィールド 3([フィールドを追加] をクリック):

      • Display name: Last Review Date
      • Is Required: 省略可のままにします。
      • タイプ: Date and time
  5. [保存] をクリックします。

これで、データ スチュワード、機密レベル、レビュー日などのガバナンス関連のメタデータ フィールドのアスペクト タイプが作成されました。次のセクションでは、これらのフィールドに特定の値を指定したアスペクトを関連付けることで、このスキーマをテーブル エントリに適用します。

ガバナンス メタデータでエントリを拡充する

列名が省略されているか、曖昧である。ビジネス用語集の用語に列をリンクすると、明確で一貫性のある定義が提供されます。このステップでは、Gross Merchandise Value という用語を gmv という名前の列にリンクし、アスペクト タイプを使用してアスペクトをテーブル エントリに付加することで、retail_data.transactions テーブルのエントリを拡充します。

retail_data.transactionsgmv 列の内容を明確にするため、Gross Merchandise Value 用語にリンクします。

  1. Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。

    [検索] に移動

  2. [フィルタ] をクリックして [フィルタ] パネルを開きます。

  3. [スコープ] で、[現在のプロジェクト] を選択します。

  4. retail_data.transactions を検索し、返されたトランザクション テーブルをクリックします。

  5. [スキーマ] タブをクリックします。

  6. [gmv] 列の横にあるチェックボックスをオンにして、[ビジネス用語を追加] をクリックします。

  7. [Gross Merchandise Value] を選択します。

テーブル エントリにアスペクトを関連付ける

ビジネス用語を列にリンクするだけでなく、アスペクトをテーブル エントリに関連付けて、データ所有権や機密性などのテーブルレベルのガバナンス メタデータをキャプチャすることもできます。

アスペクトはアスペクト タイプのインスタンスであり、メタデータ フィールドの特定の値が含まれています。アスペクトをエントリに関連付けると、Knowledge Catalog は、アスペクト タイプで定義されたスキーマに対して指定した情報をチェックし、整合性を確保します。

retail_data.transactions テーブルの所有権と機密性を定義するには、Data Asset Governance アスペクトを付加します。

  1. retail_data.transactions エントリ ページの [詳細] タブで、[オプションのアスペクト] の横にある [追加] をクリックします。
  2. リストから Data Asset Governance を選択します。
  3. 次のフィールドに値を入力します。

    • データ スチュワード: finance-team@example.com
    • データの機密性: [内部] を選択します。
    • 最終確認日: 今日の日付を選択します。
  4. [保存] をクリックします。

これで、Knowledge Catalog でデータガバナンスの堅牢な基盤が設定されました。

拡充されたメタデータを使用してエントリを検索する

列をビジネス用語にリンクし、アスペクトをアタッチすることで、retail_data.transactions エントリを拡充しました。Knowledge Catalog 検索を使用して、これらのビジネス コンテキストに基づいてエントリを検索できるようになりました。たとえば、特定の機密レベルのすべてのアセットを検索したり、用語集の用語を検索して基盤となるテーブルを見つけたりできます。

  1. Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。

    [検索] に移動

  2. [フィルタ] をクリックして [フィルタ] パネルを開きます。

  3. [スコープ] で、[現在のプロジェクト] を選択します。

  4. 検索バーに「Find tables where the Data Asset Governance aspect has Internal sensitivity.」と入力します。

  5. 結果のリストに retail_data.transactions テーブルが表示されます。

  6. 検索バーをクリアして「Find tables with the Gross Merchandise Value term attached.」と入力します

  7. gmv 列がこのビジネス用語に直接リンクされているため、結果に retail_data.transactions テーブルが再び表示されます。

クリーンアップ

課金されないようにするには、このチュートリアルで作成したリソースを削除します。

サンプル データセットを削除する

サンプル BigQuery データセットとそのすべてのテーブルを削除するには、次のコマンドを使用します。この操作は取り消せません。

# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)

# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data

Knowledge Catalog のアーティファクトを削除する

  1. Google Cloud Knowledge Catalog コンソールで、[メタデータのタイプ] ページの [アスペクト タイプ] タブに移動します。

    [アスペクト タイプ] に移動

  2. data_asset_governance アスペクト タイプを選択し、[削除] をクリックします。

  3. Google Cloud コンソールで、Knowledge Catalog の [用語集] ページに移動します。

    [用語集] に移動

  4. Gross Merchandise Value 期間を選択し、[削除] をクリックします。

  5. [Sales Metrics] カテゴリを選択し、[削除] をクリックします。

  6. Retail Business Glossary を選択し、[削除] をクリックします。

次のステップ