データメッシュを構築する

Knowledge Catalog(以前の Dataplex Universal Catalog)を使用して、データメッシュ アーキテクチャを構築できます。このクイックスタートでは、レイク、ゾーン、アセットなどの Knowledge Catalog 機能を使用してデータメッシュを構築する方法について説明します。

データメッシュとは、ドメイン データ オーナー間でデータ所有権を分散する組織的および技術的なアプローチです。複数のオーナーが標準的な方法でデータをプロダクトとして提供し、組織の異なる部分間の通信を促進して、データセットをさまざまなロケーションに分散します。詳しくは、データメッシュ アーキテクチャをご覧ください。

目標

このガイドでは、Knowledge Catalog エンティティを使用してデータメッシュ アーキテクチャを構築します。

  • データメッシュのドメインとして機能する Knowledge Catalog レイクを作成します。
  • 各ドメイン内の個々のチームを表すレイクにゾーンを追加し、マネージド データ コントラクトを提供します。
  • Cloud Storage に保存されているデータにマッピングするアセットをアタッチします。

費用

このドキュメントでは、課金対象である次の Google Cloudコンポーネントを使用します。

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。

新規の Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。

始める前に

  1. Google Cloud コンソールのプロジェクト セレクタページで、 Google Cloud プロジェクトを選択または作成します。

    プロジェクトの選択または作成に必要なロール

    • プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、resourcemanager.projects.create 権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。

    プロジェクト セレクタに移動

  2. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。

  3. Dataplex API が有効になっていない場合は有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。

    API の有効化

  4. Dataproc Metastore サービスを作成します。

Cloud Storage バケットを作成する

データメッシュのデータアセットを保存するには、Cloud Storage バケットが必要です。

Cloud Storage バケットを作成するには、Cloud Storage バケットを作成するの手順に沿って操作します。この操作を行う際は、次の点に注意してください。

  • バケットに名前を付けます。
  • [ロケーション タイプ] で [リージョン] を選択し、メニューから [us-central1(アイオワ)] を選択します。

ドメインを作成する

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

    [レイク] に移動

  2. [作成] をクリックして、データメッシュとして機能する新しいレイクを作成します。

  3. [Deployment name] フィールドに「My data mesh」と入力します。

  4. [リージョン] で us-central1 を選択します。

  5. 前に作成して構成した Dataproc Metastore サービスを、関連する metastore として選択します。

  6. [作成] をクリックします。

レイクにゾーンを作成する

Knowledge Catalog レイクを作成してドメインを作成したら、ゾーンを使用して、ドメイン内のマネージド データ コントラクトと個々のチームをホストできます。ゾーンには次の 2 種類があります。

  • 未加工ゾーン: 通常、外部ソースからの任意の形式でデータを Cloud Storage に保存するために使用されます。使用可能になる前に、さらに処理が必要なデータ用として役立ちます。

  • キュレートされたゾーン: 特定のファイル形式に準拠し、Hive 互換のディレクトリ レイアウトで編成する必要がある Cloud Storage の構造化データ用に使用されます。利用と分析が可能なデータに最適です。

各ドメイン(たとえば、sales、customers、products)には、少なくとも 1 つの未加工ゾーンと 1 つのキュレートされたゾーンが必要です。

追加のゾーンは、チーム間のデータ契約を管理するために使用されます。また、特定のドメイン内のチームの詳細な内訳を表示することもできます。たとえば、商品ドメイン内の在庫管理などが挙げられます。データオーナーは、ドメイン内のデータを管理し、そのデータにアクセスできます。

  1. Google Cloud コンソールで、Knowledge Catalog の [管理] ビューに移動します。

  2. ゾーンを追加するレイク(My data mesh)の名前をクリックします。

  3. [ゾーン] タブで、 [ゾーンを追加する] をクリックします。

  4. [表示名] フィールドに「My sub domain」と入力します。Knowledge Catalog は、ゾーン用の ID を自動的に生成します。

  5. [タイプ] で [未加工ゾーン] を選択します。

  6. [作成] をクリックします。

ゾーンにアセットをアタッチする

データアセットをゾーンにアタッチします。データアセットとはデータを格納するストレージ リソースのことで、Cloud Storage バケットでも BigQuery データセットでも構いません。これは、データ メッシュ アーキテクチャの作成の最終段階です。

  1. Knowledge Catalog の [管理] ビューで、作成したレイク(My data mesh)をクリックします。

  2. [ゾーン] タブで、アセットを追加するゾーン(My sub domain)をクリックします。

  3. [アセット] タブで [ アセットを追加] をクリックします。

  4. [アセットを追加] をクリックします。

  5. [タイプ] で [Cloud Storage バケット] を選択します。

  6. [表示名] フィールドに「Data mesh asset」と入力します。Knowledge Catalog は、アセット ID を自動的に生成します。

  7. [Bucket] フィールドで [参照] をクリックします。

    1. リストからバケットを選択します。
    2. [選択] をクリックします。
  8. [完了]、[続行] の順にクリックします。

  9. [続行] をクリックして、デフォルトの [詳細設定] を承認します。

  10. [送信] をクリックします。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

プロジェクトを削除する

  1. Google Cloud コンソールで [リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

データメッシュ アーキテクチャを削除する

  1. Google Cloud コンソールで、Knowledge Catalog の [管理] ビューに移動します。

  2. 削除するレイクで、[ さらに表示] をクリックし、[削除] をクリックします。

  3. 操作を確定するには、「delete」と入力して [レイクを削除] をクリックします。

次のステップ