BigQuery Omni とは

BigQuery Omni を使用すると、Amazon S3 または Azure blob ストレージに格納されたデータに対して BigQuery 分析を実行できます。

多くの組織では、複数のパブリック クラウドにデータを保存します。すべてのデータから分析情報を得るのが難しいため、データがサイロ化されることがよくあります。低コストかつ高速で、分散型データ ガバナンスによる余分なオーバーヘッドを発生させないマルチクラウド データツールでデータを分析できます。BigQuery Omni を使用することで、統合型インターフェースでのこうした衝突を軽減できます。

BigQuery Omni は、BigQuery アナリティクス エンジンをデータが存在する場所に移動します。これにより、データの移動やコピーを行わなくても、データにアクセスして分析できます。クラウド間でデータを移動し、クロスクラウド転送を使用してクラウド間でデータを結合することもできます。

BigQuery Omni は、クロスクラウドの分析ソリューションで、現在の場所でデータ分析する機能と必要に応じてデータを複製する柔軟性を備えています。

仕組み

BigQuery のアーキテクチャではコンピューティングとストレージが分離されているため、必要に応じてスケールアウトが可能で、非常に大量のワークロードを処理できます。BigQuery Omni は、BigQuery のクエリエンジンを他のクラウドで実行し、このアーキテクチャを拡大したものです。結果として、データを BigQuery ストレージへ物理的に移動する必要はありません。データがすでに存在する場所で処理が行われます。

BigQuery Omni アーキテクチャ

クエリの結果は安全な接続を経由して Google Cloud に戻し、たとえば Google Cloud Console に表示できます。または、結果を Amazon S3 ストレージや Azure Blob Storage に直接書き込むこともできます。この場合、クエリの結果がクラウド間で転送されることはありません。

BigQuery Omni は、標準の AWS IAM ロールや Azure Active Directory プリンシパルを使用して、サブスクリプション内のデータにアクセスします。読み取りと書き込みのアクセスを BigQuery Omni に委託でき、そのアクセス権はいつでも無効にできます。

Google と AWS または Azure との間のデータフロー

次の図は、クエリのデータフロー(SELECT ステートメント)を示しています。DDL ステートメント CREATE EXTERNAL TABLE にも適用されます。

クエリに関する Google と AWS または Azure との間のデータフロー。

手順 Google Cloud AWS または Azure
1 BigQuery コントロール プレーンが、Cloud コンソールまたは BigQuery CLI / API を介して顧客からクエリジョブを受け取ります。
2 BigQuery コントロール プレーンが、クエリジョブの処理のために BigQuery データプレーン(AWS、Azure)に送信します
3 BigQuery データプレーンが、VPN 接続を介してコントロール プレーンからクエリを受信します。
4 BigQuery データプレーンが、お客様が所有するストレージ バケット(AWS S3 または Azure Blob ストレージ)からテーブルデータを読み取ります。
5 BigQuery データプレーンが、テーブルデータに対してクエリジョブを実行します。テーブルデータの処理が、選択した AWS または Azure リージョンで行われます。
6 クエリ結果(最大 2 MB)が、VPN 接続を介してデータプレーンからコントロール プレーンに送信されます。
7 BigQuery コントロール プレーンがクエリジョブ結果を受信し、クエリジョブに対する結果としてお客様に表示します。このデータは一時的に保存されます(最大 24 時間)。
8 クエリの結果がユーザーに返されます。

次の図は、エクスポート クエリのデータフロー(EXPORT DATA)を示しています。

エクスポート クエリに関する Google と AWS または Azure との間のデータフロー。

手順 Google Cloud AWS または Azure
1 BigQuery コントロール プレーンが、Cloud コンソールまたは BigQuery CLI / API を介して顧客からエクスポート クエリジョブを受け取ります。クエリには、お客様所有のストレージ バケット(AWS S3 または Azure Blob ストレージ)のクエリ結果の送信先パスが含まれます。
2 BigQuery コントロール プレーンが、エクスポート クエリ ジョブの処理のために BigQuery データプレーン(AWS、Azure)に送信します
3 BigQuery データプレーンは VPN 接続を介してコントロール プレーンからエクスポート クエリを受信します
4 BigQuery データプレーンが、お客様が所有するストレージ バケット(AWS S3 または Azure Blob ストレージ)からテーブルデータを読み取ります。
5 BigQuery データプレーンが、テーブルデータに対してクエリジョブを実行します。テーブルデータの処理が、選択した AWS または Azure リージョンで行われます。
6 BigQuery が、お客様が所有するストレージ バケット(AWS S3 または Azure Blob ストレージ)の特定の送信先パスにクエリ結果を書き込みます。

BigQuery Omni のメリット

パフォーマンス。クラウド間でデータがコピーされず、データが存在するリージョンでクエリが実行されるため、分析情報をより迅速に取得できます。

費用。データを移動しないため、ネットワークの下り(外向き)料金を節約できます。クエリは Google により管理されるクラスタで実行されるため、AWS や Azure アカウントで、BigQuery Omni 分析に関連する追加料金は請求されません。クエリの実行にのみ、BigQuery の価格モデルに従って請求が行われます。

セキュリティとデータ ガバナンス。独自の AWS サブスクリプションまたは Azure サブスクリプションでデータを管理します。パブリック クラウドから元データの移動やコピーを行う必要はありません。すべての計算は、データと同じリージョン内で実行される BigQuery マルチテナント サービスで行われます。

サーバーレス アーキテクチャ。BigQuery の他のアプリケーションと同様に、BigQuery Omni もサーバーレス サービスです。Google は、BigQuery Omni を実行するクラスタをデプロイして管理します。リソースのプロビジョニングやクラスタの管理は必要ありません。

管理のしやすさ。BigQuery Omni は、Google Cloud による統合型管理インターフェースを提供します。BigQuery Omni では、既存の Google Cloud アカウントと BigQuery プロジェクトを使用できます。Cloud コンソールで標準 SQL クエリを作成して AWS や Azure のデータにクエリを実行し、Cloud コンソールに結果を表示できます。

クロスクラウド転送。S3 バケットと Azure blob ストレージからネイティブ BigQuery テーブルにデータを読み込むことができます。詳細については、クロスクラウド転送(AWS)クロスクラウド転送(Azure)をご覧ください。

制限事項

BigQuery Omni の制限事項には、次のものがあります。

  • オンデマンド料金はサポートされていません。 詳細については、このドキュメントの料金をご覧ください。
  • BigQuery Omni では標準テーブルを作成できません。BigQuery Omni は、外部テーブルのみをサポートしています。
  • BigQuery Omni の外部テーブルには、外部テーブルの制限事項がすべて適用されます。
  • インタラクティブ クエリの結果の最大サイズは 2 MB です。
  • BigQuery Omni のテーブルには、OBJECT_PRIVILEGESSTREAMING_TIMELINE_BY_*TABLE_SNAPSHOTS の BigQuery INFORMATION_SCHEMA ビューを使用できません。
  • 他の INFORMATION_SCHEMA テーブルとの結合はサポートされていません。また、aws-us-east-1azure-eastus2 の他の外部テーブルとの結合もサポートされていません。
  • BigQuery Omni の外部テーブルのマテリアライズド ビューはサポートされていません。
  • 次のステートメントはサポートされていません
    • BigQuery ML ステートメント
    • BigQuery で管理されるデータを必要とするデータ定義言語(DDL)ステートメントはサポートされていません。たとえば、CREATE EXTERNAL TABLECREATE SCHEMA はサポートされていますが、CREATE MATERIALIZED VIEW はサポートされていません。
    • データ操作言語(DML)ステートメント。
    • データ制御言語(DCL)ステートメント。
    • スロットの予約と割り当てのための SQL ステートメントはサポートされていません。
  • スケジュールされたクエリは、API または CLI でのみサポートされています。
  • BigQuery Omni のクエリでは、宛先テーブル オプションは無効になっています。使用できるのは EXPORT クエリだけです。
  • BigQuery Storage APIBigQuery Omni のリージョンでは利用できません。

料金

BigQuery Omni では、クエリのコストが予測可能な定額料金制を提供しています。定額料金を有効にするには、BigQuery Reservations を使用して、BigQuery Omni のいずれかのリージョンでスロットを購入します。

詳しくは、BigQuery Omni の料金をご覧ください。

場所

BigQuery Omni は、クエリを実行するテーブルを含むデータセットと同じ場所にあるクエリを処理します。データセットを作成した後で、そのロケーションを変更することはできません。データは独自の AWS アカウントまたは Azure アカウント内に存在します。

サポートされるリージョン

リージョンの説明 リージョン名
AWS
AWS - US East(北Virginia) aws-us-east-1
Azure
Azure - East US 2 azure-eastus2

次のステップ