BigLake の仕組み

このページでは、BigLake の技術アーキテクチャについて説明し、クエリの処理方法と、BigLake metastore がエンジン間の相互運用性をサポートする方法について詳しく説明します。

アーキテクチャ

BigLake で構築されたデータ レイクハウスは、次のコンポーネントで構成されています。

  • ストレージ: Cloud Storage と BigQuery ストレージがストレージ レイヤとして機能します。Cloud Storage には、Apache Iceberg が推奨されるオープン テーブル形式として使用されます。
  • Metastore: BigLake metastore は、複数のエンジンにわたるメタデータを管理するための信頼できる唯一の情報源を提供します。
  • クエリエンジン: BigQuery、Apache Spark、Apache Flink、Trino などのオープンソース エンジンは BigLake と互換性があります。
  • ガバナンス: Dataplex Universal Catalog は、一元化されたセキュリティ ポリシーとガバナンス ポリシーを提供します。
  • データの書き込みと分析ツール: BigLake と統合されたエンジンとツールは、データの取り込みと分析に複数のパスを提供します。

リソース階層

BigLake は、標準の Apache Iceberg 階層を使用してデータを整理します。この構造は、論理データベースのコンセプトを物理ストレージ パスにマッピングします。

  1. Metastore サービス:Google Cloudの最上位のリージョン リソース。
  2. カタログ: プロジェクトに対応するデータベースをグループ化するためのコンテナ。
  3. Namespace: テーブルの論理グループ。BigQuery では、これはデータセットにマッピングされます。
  4. テーブル: Cloud Storage 内のデータを指す特定のエンティティ。テーブル メタデータには、テーブル スキーマ、パーティショニング情報、カスタム プロパティなどの情報と、metadata.json ファイルを介した現在のテーブル状態へのポインタが含まれます。

クエリ処理の順序

BigLake テーブルにクエリを送信すると、データが読み取られる前にポリシーを適用するために、リクエストは特定のパスをたどります。

  1. リクエスト: エンジン(Spark など)に SQL クエリを送信します。
  2. メタデータのルックアップ: エンジンは、テーブルを解決するために BigLake Metastore にリクエストを送信します。
  3. 認証とポリシー: メタストアがユーザーを認証し、権限を確認します。
  4. レスポンス: メタストアは、メタデータと、必要に応じてストレージ トークンをエンジンに返します。ストレージ トークンは、認証情報ベンダーが有効になっている場合にのみ使用されます。
  5. 読み取り: エンジンはトークンを使用して、ストレージからファイルを直接読み取ります。
  6. コンピューティング: エンジンがデータを処理し、結果を返します。

BigLake Metastore

BigLake metastore は、Google Cloud上のレイクハウス用のフルマネージドのサーバーレス メタストアです。複数のソースのメタデータの信頼できる唯一の情報源となり、BigQuery やさまざまなオープンデータ処理エンジンからアクセスできるため、異なるリポジトリ間でメタデータを同期する必要がなくなります。

BigLake metastore は Dataplex Universal Catalog でサポートされています。これにより、サポートされているすべてのエンジンで統一されたきめ細かいアクセス制御が可能になり、リネージ、データ品質、検出可能性を備えたエンドツーエンドのガバナンスが実現します。

テーブルタイプ

BigLake でレイクハウスを構築する場合、テーブルの形式と管理について次の選択肢があります。

  • BigLake Iceberg テーブル: オープンソース エンジンから作成され、Cloud Storage に保存される Iceberg テーブル。
  • BigQuery の BigLake Iceberg テーブル: BigQuery から作成された Iceberg テーブル。これらのテーブルのメタデータは BigQuery カタログに保存され、BigQuery カタログ フェデレーションでのみアクセスできます。一方、テーブルデータと物理メタデータは Cloud Storage に保存されます。
  • 標準の BigQuery テーブル: BigLake メタストアに接続できる BigQuery によって完全に管理されるテーブル。
  • 外部テーブル: データとメタデータが自己管理される BigLake メタストアの外部にあるテーブル。

これらのオプションの詳細な比較については、テーブルの概要をご覧ください。

次のステップ