BigQuery のエンティティ解決フレームワークの概要

このドキュメントでは、BigQuery エンティティ解決フレームワークのアーキテクチャについて説明します。エンティティ解決とは、共通の ID が存在しない共有データ間でレコードを照合したり、Google Cloud パートナーの ID サービスを使用して共有データを補強する機能です。

このドキュメントは、エンティティ解決のエンドユーザー(以下、エンドユーザー)と ID プロバイダを対象としています。実装の詳細については、BigQuery でエンティティ解決を構成して使用するをご覧ください。

BigQuery のエンティティ解決は、データ クリーンルームに提供する前に準備されたデータに対して使用できます。エンティティ解決は、オンデマンドと容量の両方の料金モデルで使用できます。また、すべての BigQuery エディションで使用できます。

利点

エンドユーザーにとって、エンティティ解決には次のようなメリットがあります。

  • サブスクライバーまたは Google Cloud パートナーがデータを ID テーブルと照合し、一致した結果をプロジェクト内のデータセットに書き込むため、データ転送料金を発生させることなく、その場でエンティティを解決できます。
  • 抽出、変換、読み込み(ETL)ジョブを管理する必要はありません。

ID プロバイダにとって、エンティティ解決には次のようなメリットがあります。

  • エンティティ解決を Google Cloud Marketplace のマネージド SaaS(Software as a Service)サービスとして提供できます。
  • ユーザーに開示することなく、独自のアイデンティティ グラフとマッチング ロジックを使用できます。

アーキテクチャ

BigQuery では、リモート関数呼び出しを使用して ID プロバイダの環境でエンティティ解決プロセスを有効にすることで、エンティティ解決を実装しています。このプロセスでデータのコピーや移動を行う必要はありません。次の図と説明は、エンティティ解決のワークフローを示しています。

2 つのメイン セクション(エンドユーザー プロジェクトと ID プロバイダ プロジェクト)を示す図。

  1. エンドユーザーが、入力データセットに対する読み取りアクセス権と出力データセットへの書き込みアクセス権を ID プロバイダのサービス アカウントに付与します。
  2. ユーザーがリモート関数を呼び出し、入力データとプロバイダのアイデンティティ グラフのデータを照合します。リモート関数とともに照合用のパラメータがプロバイダに渡されます。
  3. プロバイダのサービス アカウントが入力データセットを読み取り、処理します。
  4. プロバイダのサービス アカウントが、エンティティ解決の結果をユーザーの出力データセットに書き込みます。

以降のセクションでは、エンドユーザーのコンポーネントとプロバイダ プロジェクトについて説明します。

エンドユーザーのコンポーネント

エンドユーザーのコンポーネントには次のものがあります。

  • リモート関数呼び出し: ID プロバイダによって定義および実装されたプロシージャを実行する呼び出し。この呼び出しにより、エンティティ解決プロセスが開始されます。
  • 入力データセット: 照合するデータを含むソース データセット。必要に応じて、追加のパラメータを含むメタデータ テーブルをデータセットに含めることができます。プロバイダが入力データセットのスキーマ要件を指定します。
  • 出力データセット: プロバイダが出力テーブルとして照合結果を保存する宛先データセット。必要に応じて、プロバイダはエンティティ解決ジョブの詳細を含むジョブ ステータス テーブルをこのデータセットに書き込むことができます。出力データセットは入力データセットと同じにできます。

ID プロバイダのコンポーネント

ID プロバイダのコンポーネントには次のものがあります。

  • コントロール プレーン: 照合プロセスをオーケストレートする BigQuery リモート関数が含まれます。この関数は、Cloud Run ジョブまたは Cloud Functions の関数として実装できます。コントロール プレーンには、認証や認可などの他のサービスを含めることもできます。
  • データプレーン: アイデンティティ グラフ データセットと、プロバイダのマッチング ロジックを実装するストアド プロシージャが含まれます。ストアド プロシージャは、SQL ストアド プロシージャまたは Apache Spark ストアド プロシージャとして実装できます。アイデンティティ グラフのデータセットには、エンドユーザー データが照合されるテーブルが含まれています。

次のステップ