適切なテーブル アーキテクチャを選択することは、パフォーマンスを最大化し、費用を削減し、分析ツール全体でデータアクセスを確保するために不可欠です。このページでは、Lakehouse for Apache Iceberg で使用できるさまざまなテーブルタイプとサービング エンドポイントについて説明し、書き込みエンジン、読み取り要件、管理制御のニーズに基づいて最適なオプションを選択できるようにします。
カタログまたはエンジン別のテーブル形式
カタログまたはエンジンを選択して、サポートされているテーブル形式、メタストア構成、ストレージ最適化機能、エンジンの相互運用性について確認してください。
Lakehouse ランタイム カタログ
Lakehouse ランタイム カタログは、 Iceberg REST カタログ エンドポイントを介して Apache Iceberg テーブルを管理し、業界標準の Iceberg REST カタログ インターフェースに支えられながら、Iceberg 互換エンジン(Spark、Flink、Trino)と BigQuery の間でシームレスな読み取り / 書き込み の相互運用性を提供します。
サポートされているテーブル形式
Apache Iceberg V2 テーブル(一般提供)と V3 テーブル(プレビュー)がサポートされています。Iceberg V1 テーブルはサポートされていません。Lakehouse for Apache Iceberg で既存の V1 テーブルを使用する前に、サポートされているバージョンにアップグレードする必要があります。詳細については、Iceberg V1 テーブルを V2にアップグレードするをご覧ください。
主な特長は以下のとおりです。
- Metastore: Lakehouse ランタイム カタログ。
- ストレージ: Cloud Storage。
- ストレージ最適化: ユーザーが管理するか、必要に応じて Google が管理(プレビュー)。
- 読み取り / 書き込みアクセス:
- オープンソース エンジン: 読み取りと書き込み(一般提供)
- BigQuery: 読み取り/書き込み(プレビュー)
- ユースケース: 高度な分析、ストリーミング、AI 向けの高性能エンタープライズ グレードの ストレージを備えたオープン レイクハウス。
Hive メタストア
Lakehouse ランタイム カタログは、Apache Spark ExternalCatalog 互換性向けに最適化された Apache Hive メタストア(HMS)エンドポイントを介して Apache Hive テーブルを管理し、Apache Spark、Apache Hive、BigQuery 間でデータをシームレスに共有できます。これらのテーブルは、オープンソース エンジンから作成して Cloud Storage に保存します。このオプションは、ETL ワークフローをオープンソース エンジンで管理し、セルフホスト型の Hive メタストアを別途必要とせず、BigQuery からの読み取りアクセスのみを必要とする場合に最適です。
Hive メタストア エンドポイントで管理されるテーブルは、Apache Iceberg テーブルではなく、標準の Apache Hive テーブルと Spark テーブル(Hive SerDes または Spark データソースを使用)です。Lakehouse ランタイム カタログで Apache Iceberg テーブルを作成して管理するには、代わりに Iceberg REST カタログ エンドポイントを使用します。
主な特長は以下のとおりです。
- Metastore: Lakehouse ランタイム カタログ(カスタム
IMetastoreClientを介して)。 - ストレージ: Cloud Storage(Parquet、 ORC、Avro などの形式をサポート)。
- ストレージ最適化: ユーザーまたはサードパーティが管理。
- 読み取り / 書き込みアクセス:
- オープンソース エンジン(Spark と Hive): 読み取りと書き込み。
- BigQuery: 読み取り専用。
- ユースケース: 既存の Spark ワークロードと Hive ワークロードをフル マネージドのサーバーレス メタストアに移行する Google Cloud。
BigQuery
BigQuery は、Apache Iceberg マネージド テーブル、ネイティブ テーブル、外部テーブルをサポートしています。
Apache Iceberg マネージド テーブル: BigQuery から 作成して管理し、 Cloud Storage に保存する Apache Iceberg テーブルです。オープンソース エンジンで読み取ることはできますが、メタデータを管理して書き込むエンジンは BigQuery です。ワークフローを BigQuery でフルマネージドする場合は、このオプションが最適です。
ネイティブ テーブル: ネイティブ BigQuery テーブルです。フルマネージドで、最先端の分析機能と管理機能を提供します。このオプションは、Iceberg 以外のワークロードに最適です。
外部テーブル: これらのテーブルは、Cloud Storage、Amazon S3、Azure Blob Storage に保存されたデータ用の BigQuery 固有の 構造です。データとメタデータは自己管理され、BigQuery は読み取りアクセス権のみを持ちます。サードパーティ カタログまたはストレージで直接管理するデータには、このオプションを選択します。
プロダクト別のテーブル形式
次の表を使用して、Lakehouse ランタイム カタログと BigQuery のテーブルタイプを比較します。
Lakehouse
| Apache Iceberg(一般提供) | Apache Hive(プレビュー) | |
|---|---|---|
| Metastore | Lakehouse ランタイム カタログ | Lakehouse ランタイム カタログ |
| ストレージ | Cloud Storage | Cloud Storage |
| ストレージ最適化 | 顧客、サードパーティ管理、または Google 管理(プレビュー) | 顧客またはサードパーティ管理 |
| 読み取り/書き込み |
オープンソース エンジン(読み取り/書き込み) BigQuery(読み取り/書き込み)。プレビュー |
オープンソース エンジン(読み取り/書き込み) BigQuery(読み取り専用) |
| 高度なオペレーション | なし | なし |
| ユースケース | オープン レイクハウス | 既存の Spark ワークロードと Hive ワークロードをフルマネージドの サーバーレス メタストアに移行する |
BigQuery
| Apache Iceberg マネージド テーブル | 外部テーブル | 標準テーブル | |
|---|---|---|---|
| Metastore | BigQuery | 外部またはセルフホストのメタストア | BigQuery |
| ストレージ | Cloud Storage | Cloud Storage / Amazon S3 / Azure | BigQuery |
| ストレージ最適化 | Google が管理 | 顧客またはサードパーティ管理 | Google が管理 |
| 読み取り/書き込み |
オープンソース エンジン(Iceberg
ライブラリでの読み取り専用、BigQuery Storage API との読み取り/書き込みの相互運用性)
BigQuery(読み取り/書き込み) |
オープンソース エンジン(読み取り/書き込み) BigQuery(読み取り専用) |
オープンソース エンジン(
BigQuery Storage API との読み取り/書き込みの相互運用性) BigQuery(読み取り/書き込み) |
| 高度なオペレーション | BigQuery Storage Write API、変更データ キャプチャ(CDC)、複数ステートメント トランザクションによる高スループット ストリーミング | なし | BigQuery Storage Write API、変更データ キャプチャ(CDC)、複数ステートメント トランザクションによる高スループット ストリーミング |
| ユースケース | 高度な分析、ストリーミング、AI 向けの高性能エンタープライズ グレードのストレージを備えたオープン レイクハウス | BigQuery ロード用のステージング テーブル、レガシー クエリ専用 テーブル | 高度な分析、ストリーミング、 AI 向けのエンタープライズ グレードのストレージ |
次のステップ
Apache Iceberg テーブルを管理する方法を学習する。
Dataflow を使用して外部 Iceberg テーブルをインポートする方法を 学習する。
BigQuery でカタログ フェデレーションを使用する方法を 学習する。