このドキュメントでは、ボーダレス Lakehouse の主な用語とコンセプトを定義します。
このページは機能の完全なリストではなく、Google Cloud の Lakehouse ドキュメント全体で使用されている用語とコンセプトの一般的なリファレンスです。
基本概念
次のコンセプトは、Google Cloud のレイクハウス アーキテクチャの基盤を形成します。
データ レイクハウス
データ レイクハウスは、データレイクの費用対効果と柔軟性に、データ ウェアハウスのデータ管理とパフォーマンスを組み合わせたものです。これにより、Cloud Storage にオープン形式でデータを保存し、正確なセキュリティ制御や高速クエリなどの BigQuery 機能を使用できます。
メダリオン アーキテクチャ
データ レイクハウスの一般的な設計パターンはメダリオン アーキテクチャです。これは、データを構造と品質の段階的なレイヤに論理的に整理します。
- ブロンズ(未加工)レイヤ: Cloud Storage の Apache Iceberg などのオープン フォーマットで未加工データを取り込んで保存します。
- シルバー(クレンジング)レイヤ: 元データをクレンジング、フィルタリング、拡充して、標準化されたテーブルにします。
- ゴールド(キュレートされた)レイヤ: 完全にキュレートされ、集計されたビジネスレベルのテーブルを提供します。Google Cloud の Lakehouse では、BigQuery は、高パフォーマンスの消費、レポート、分析のためにゴールドレイヤを提供するために使用されることがよくあります。
オープンな相互運用性
オープンな相互運用性とは、BigQuery、Apache Spark、Apache Flink などの複数の分析システムとトランザクション システムが、Apache Iceberg などのオープン フォーマットのデータの単一コピーで動作できることです。これにより、データの重複が不要になり、異なるツール間でデータの一貫したビューが確保されます。
Lakehouse ランタイム カタログ
Lakehouse ランタイム カタログは、Google Cloud の Lakehouse の信頼できる唯一の情報源として機能する、一元化されたサーバーレスのメタデータ サービスです。Apache Spark、Apache Flink、BigQuery などの複数のエンジンで、同じテーブルを同時に検出してクエリできます。
カタログのタイプ
Lakehouse ランタイム カタログには、メタデータの管理に使用できるさまざまな種類のカタログが用意されています。
Apache Iceberg REST カタログのエンドポイント
これは、Apache Iceberg REST カタログ エンドポイントに基づくカタログです。オープンソース エンジンと BigQuery の相互運用性を提供し、認証情報のベンディングや障害復旧などの機能をサポートします。
カタログ ストレージの構成
Apache Iceberg REST カタログ エンドポイントを作成するときに、次の 2 つのストレージ モデルから選択できます。
- 複数バケット カタログ(推奨): カタログに個別に名前を付け、最大 15 個の Cloud Storage バケット(
default_locationとrestricted_locations)を構成できます。クライアント クエリ エンジン(Spark や Trino など)を構成するときに、ウェアハウス パスをbl://projects/PROJECT_ID/catalogs/CATALOG_IDに設定します。 - 単一バケット カタログ: カタログが単一の Cloud Storage バケットにロックされ、バケットの名前を継承するレガシー構成。クライアント クエリエンジンを構成するときに、ウェアハウス パスを
gs://CLOUD_STORAGE_BUCKET_NAMEに設定します。
BigQuery 用のカスタム Apache Iceberg カタログ
これは、BigQuery カタログをマネージド Apache Iceberg テーブルのバッキング メタデータ サービスとして直接使用する統合です。
Apache Hive カタログ エンドポイント
このエンドポイントは、Apache Hive メタストア(HMS)インターフェースに依存するオープンソース ワークロードの互換性を提供します。これにより、Google Cloudのフルマネージド メタストア サービスに対して Apache Hive または Spark ワークロードを実行できます。
テーブルタイプ
Google Cloud の Lakehouse は、データの管理に使用するエンジンと使用するカタログ エンドポイントに応じて、複数のテーブル形式をサポートしています。
Apache Iceberg テーブル
これらは、オープンソース エンジンから作成して Cloud Storage に保存する Apache Iceberg テーブルです。Lakehouse ランタイム カタログは、これらのテーブルを管理し、Apache Iceberg REST カタログ エンドポイントを介してアクセスを提供します。オープンソース エンジンはこれらのテーブルに対する読み取り / 書き込みアクセス権を持ち、BigQuery は読み取りアクセス権と書き込みアクセス権(プレビュー)を持ちます。ETL ワークフローをオープンソース エンジンで管理する場合は、このオプションが最適です。
BigQuery テーブル
これらのテーブルは BigQuery で管理されます。
Apache Iceberg テーブル
これらは、BigQuery から作成して Cloud Storage に保存する Apache Iceberg テーブルです。BigQuery は、すべてのデータ レイアウトと最適化を処理します。これらのテーブルは複数のエンジンで読み取ることができますが、BigQuery はこれらのテーブルに直接書き込むことができる唯一のエンジンです。
ネイティブ テーブル
これらのテーブルは BigQuery によって管理され、BigQuery ストレージにデータを保存します。これらのテーブルは Lakehouse ランタイム カタログに接続できます。
外部テーブル
外部テーブルは Lakehouse ランタイム カタログの外部に存在します。データとメタデータは、サードパーティのカタログ(Cloud Storage、S3、Azure Blob Storage など)で自己管理されます。BigQuery はこれらのテーブルから読み取るだけです。
表の機能
テーブルの進化
Google Cloud の Lakehouse は Apache Iceberg テーブルの進化をサポートしています。これにより、テーブルデータを書き換えたり、テーブルを再作成したりすることなく、テーブルのスキーマやパーティション仕様を時間とともに変更できます。
タイムトラベル
タイムトラベルを使用すると、特定の時点またはスナップショット ID に存在していたテーブルのデータをクエリできます。これは、監査、実験の再現、誤って削除した後のデータの復元に役立ちます。
メタデータのキャッシュ保存
メタデータのキャッシュ保存は、外部テーブルのクエリ パフォーマンスを高速化する機能です。テーブルのメタデータのコピーを BigQuery ストレージに保存し、クエリ実行中に Cloud Storage からメタデータ ファイルを読み取る必要性を減らします。
Google Cloud のレイクハウス テーブル管理
Google Cloud のレイクハウス テーブル管理では、マネージド テーブルの圧縮やガベージ コレクションなどのタスクを自動化することで、レイクハウスのメンテナンスを簡素化します。これにより、最適なクエリ パフォーマンスとストレージ効率が確保されます。
相互運用性のコンセプト
ボーダーレス レイクハウス
ボーダーレスな Lakehouse は、Google Cloud の Lakehouse を拡張し、リモートの外部カタログ(Databricks Unity Catalog、AWS Glue、Snowflake Horizon Catalog、SAP BDC など)に接続できるようにします。他のクラウド プロバイダのメタデータを同期し、データを移行することなく、Apache Iceberg REST カタログ エンドポイントを介して BigQuery または外部のオープンソース エンジンでデータをクエリできます。
公開データセット
Google Cloud の Lakehouse は、Apache Iceberg REST Catalog を介して提供される高品質の公開データセットをホストし、インフラストラクチャを管理することなく探索とテストを行うための読み取り専用アクセスを提供します。
P.C.N.T. の命名構造
P.C.N.T. 命名構造は、BigQuery から Lakehouse ランタイム カタログ内のテーブルを一意に識別してクエリするために使用される 4 部構成の規則です。これは、Project.Catalog.Namespace.Table を表します。
- プロジェクト: Google Cloud プロジェクト ID。
- カタログ: Lakehouse ランタイム カタログの名前。
- Namespace: テーブルの論理グループ(データセットに類似)。
- テーブル: データテーブルの名前。
セキュリティ コンセプト
接続
接続は、外部データにアクセスするための認証情報を保存する BigQuery リソースです。Google Cloud の Lakehouse では、接続のサービス アカウントがユーザーに代わってストレージ バケットにアクセスできるようにすることで、接続が Cloud Storage へのアクセスを委任します。
認証情報の販売
認証情報のベンディングは、Lakehouse ランタイム カタログを使用する際にアクセス制御を強化するのに役立つセキュリティ メカニズムです。有効にすると、サービスは、クエリに必要な特定のファイルパスにのみアクセスできるように設計された、有効期間の短いスコープダウンされた認証情報を生成します。
統合ガバナンス
統合ガバナンスを使用すると、Knowledge Catalog との統合を通じて、セキュリティとデータ管理のポリシーを一元的に定義して適用できます。テーブルを Lakehouse ランタイム カタログに登録すると、対応するエントリがビジネス メタデータ カタログ(Knowledge Catalog)に自動的に登録され、ファイルを移動またはコピーすることなく、エンジン間でデータ リネージ、セマンティック検索、一元管理が可能になります。
クエリエンジンのコンセプト
Google Cloud の Lakehouse は、ストレージとコンピューティングを分離し、さまざまな分析エンジンがオープン テーブルとやり取りできるようにします。
Managed Service for Apache Spark
Managed Service for Apache Spark(旧称: Managed Service for Apache Spark)は、Apache Iceberg などのオープン テーブル形式を処理するためのフルマネージド ランタイムを提供します。次の 2 つの主要な実行モードがサポートされています。
- サーバーレス バッチ: 自動化された非インタラクティブなデータ処理パイプラインと ETL ワークロード向けに設計されています。この従量課金制モデルでは、クラスタ管理が不要になり、ジョブ間のリソース競合が解消され、インフラストラクチャのメンテナンスが自動化されます。
- サーバーレス インタラクティブ セッション: 探索的データ分析、データ エンジニアリング、データ サイエンスのテスト用に設計されています。インタラクティブ セッションは、Spark Connect またはリモート Spark カーネルを使用して Apache Spark ノートブックをバックグラウンドで実行し、インフラストラクチャのセットアップなしで自動スケーリング環境を提供します。
サービスティア
Lakehouse ランタイム カタログに対して Apache Spark ワークロードを実行する場合は、次のサービス階層から選択できます。
- スタンダード ティア: 標準のバッチ処理ワークロードに適したデフォルトの実行ティア。
- プレミアム ティア: サーバーレスのインタラクティブ ノートブック セッションのサポートや、Lightning Engine などのパフォーマンスを高速化する機能など、高度な機能を提供します。
セッション テンプレート
セッション テンプレートを使用すると、サーバーレス インタラクティブ セッションの構成を簡素化できます。これにより、管理者は共通の環境設定(カタログ プロパティ、ネットワーク構成、ランタイム バージョンなど)を定義して永続化できます。これにより、一貫性が高まり、設定の繰り返しが最小限に抑えられ、デベロッパーの生産性が向上します。セッション テンプレートは、 Google Cloud コンソール、gcloud CLI、REST API、または Terraform を使用して作成および管理できます。
信頼性のコンセプト
クロスリージョン レプリケーション
クロスリージョン レプリケーションは、複数のリージョンにメタデータを複製し、リージョン停止時のカタログの可用性を確保します。
フェイルオーバー
フェイルオーバーは、リージョンでサービス停止が発生したときに、カタログ オペレーションを維持するためにプライマリ リージョンとセカンダリ リージョンを切り替えるプロセスです。