このページでは、Google Cloud Lakehouse の技術アーキテクチャについて説明し、 クエリの処理方法の詳細と、Lakehouse ランタイム カタログ がエンジン間の相互運用性をどのようにサポートしているかについて説明します。
アーキテクチャ
Google Cloud Lakehouse の構築は、次の技術コンポーネントで構成されます。
ストレージ: Cloud Storage と BigQuery ストレージがストレージ レイヤとして機能します。Cloud Storage での高性能で相互運用可能なストレージには、Apache Iceberg をオープン テーブル形式として使用することをおすすめします。
カタログ: Lakehouse ランタイム カタログは、メタデータを管理するための信頼できる唯一の情報源を提供します。Apache Iceberg REST カタログ エンドポイント、Apache Hive エンドポイント、カタログ連携など、さまざまな互換性オプションを使用して、複数のエンジン間でメタデータの検出を一元化します。
クエリエンジン: BigQuery とオープンソース エンジン(Apache Spark、Apache Flink、Trino など)は、Lakehouse ランタイム カタログに接続することでシームレスに連携します。
ガバナンス: Knowledge Catalog は、レイクハウス全体で一元化されたセキュリティ、リネージ、ガバナンス ポリシーを提供します。
データの書き込みと分析ツール: 統合されたエンジンとツールは、データの取り込みと分析に複数のパスを提供し、データ サイエンティストとアナリストの両方に一貫したデータアクセスを保証します。
リソース階層
Google Cloud Lakehouse は、Apache Iceberg 標準と標準データベースのコンセプトに沿った階層を使用してデータを整理します。この構造により、Lakehouse ランタイム カタログは論理 ID を物理ストレージ パスにマッピングできます。
- Lakehouse ランタイム カタログ: メタデータをホストする最上位のリージョン サービス リソース Google Cloud 。
- カタログ: ランタイム カタログ サービス内の論理コンテナ。P.C.N.T の命名構造では、これはクエリを実行する特定のカタログ インスタンスを表します。
- 名前空間: カタログ内のテーブルの論理グループ。BigQuery に慣れているユーザーにとって、名前空間は機能的にはデータセット に似ています。
- テーブル: Cloud Storage 内のデータを指す特定のエンティティ。テーブル メタデータには、スキーマ、パーティショニング情報、Apache Iceberg
metadata.jsonファイルを介した現在のテーブル状態へのポインタが含まれています。
クエリ処理シーケンス
Google Cloud Lakehouse テーブルにクエリを送信すると、リクエストは特定のパスをたどって、ポリシーを適用し、データの処理前にメタデータを取得します。
- 送信: Apache Spark、Trino、BigQuery などの互換性のあるエンジンに SQL クエリを送信します。
- メタデータ リクエスト: エンジンは、テーブルとそのメタデータの場所を特定するために、Lakehouse ランタイム カタログからテーブル メタデータをリクエストします。
- 認可: カタログは、Identity and Access Management(IAM)ときめ細かいセキュリティ ポリシーに対してリクエストを検証します。
- メタデータ レスポンス: カタログはメタデータを返します。認証情報ベンダーが有効になっている場合は、安全なストレージ アクセスに役立つ有効期間の短いトークンも提供します。
- データ取得: エンジンはメタデータとオプションのトークンを使用して、Cloud Storage からデータファイルを直接読み取ります。
- 実行: エンジンはデータを処理して結果を返します。
Lakehouse ランタイム カタログ
Lakehouse ランタイム カタログは、Google Cloud Lakehouse 向けのフルマネージド サーバーレス メタデータ サービスです。異なるシステム間でメタデータの信頼できる唯一の情報源を提供し、BigQuery やさまざまなオープンソースのデータ処理エンジンからアクセスできます。これにより、検出が一元化され、異なるリポジトリ間でメタデータを同期する必要がなくなります。
Lakehouse ランタイム カタログは Knowledge Catalog と 統合され、サポートされているすべてのエンジンで統一されたきめ細かいアクセス制御を提供します。この統合により、データリネージ、品質モニタリング、検出可能性など、完全なデータガバナンスが可能になります。
テーブルタイプ
Google Cloud Lakehouse を使用して構築する場合は、テーブルの管理方法と形式を選択できます。
推奨
- Lakehouse Iceberg REST カタログ テーブル: オープンソース エンジンから作成され、Cloud Storage に保存される Apache Iceberg テーブル。これらは、Lakehouse ランタイム カタログ REST エンドポイントを介してオープンな互換性と管理を提供します。
BigQuery テーブルのタイプ
- Apache Iceberg テーブル: BigQuery によって作成および管理される Apache Iceberg テーブル。これらのテーブルのメタデータは BigQuery カタログに保存され、テーブルデータと物理メタデータは Cloud Storage に保存されます。
- ネイティブ テーブル: BigQuery によってフルマネージドされるテーブル。Lakehouse ランタイム カタログに接続して、オープンソース エンジンとの相互運用を可能にできます。
- 外部テーブル: Lakehouse ランタイム カタログの外部にあるテーブル。データとメタデータは自己管理されます。これらは、Cloud Storage、Amazon S3、Azure Blob Storage に保存されているデータの接続を介してアクセス権の委任をサポートします。
これらのオプションの詳細な比較については、テーブル の概要をご覧ください。