BigLake メタストアの概要

BigLake metastore は、Cloud Storage または BigQuery に保存されているレイクハウス データを、オープンソース ランタイム(Apache Spark や Apache Flink など)や BigQuery などの複数のランタイムに接続する、統合されたマネージド サーバーレスのスケーラブルなメタストアです。

BigLake メタストアは、複数のエンジンからのメタデータを管理するための信頼できる唯一の情報源を提供します。BigLake Iceberg テーブルと標準の BigQuery テーブルを介して、Apache Iceberg などの主要なオープンソース テーブル形式をサポートしています。また、BigLake Metastore は、オープン API と Iceberg REST カタログプレビュー)をサポートしています。

次の表を参考にして、BigLake Metastore の導入をどこから始めるかを判断してください。

ユースケース 推奨事項
オープンソース エンジンが Cloud Storage のデータにアクセスする必要がある。 Iceberg REST カタログプレビュー)を確認します。
オープンソース エンジンは BigQuery との相互運用性が必要です。 BigQuery カスタム Iceberg カタログ プラグインを使用して、オープンソース エンジン(Spark など)との BigLake メタストア統合を調べます。

利点

BigLake metastore には、データ管理と分析を行う上で次のような利点があります。

  • サーバーレス アーキテクチャ。BigLake metastore はサーバーレス アーキテクチャを提供するため、サーバーやクラスタの管理は不要です。これにより、運用上のオーバーヘッドを削減し、デプロイを簡素化し、需要に応じた自動スケーリングが可能になります。
  • エンジンの相互運用性。BigLake metastore を使用すると、オープンソース エンジン(Spark や Flink など)と BigQuery でテーブルに直接アクセスできるため、追加の構成なしでオープン形式のテーブルをクエリできます。たとえば、Spark でテーブルを作成し、BigQuery で直接クエリを実行できます。これにより、分析ワークフローを効率化し、複雑なデータ移動や ETL プロセスの必要性を軽減できます。
  • 統合されたユーザー エクスペリエンス。BigLake metastore は、BigQuery とオープンソース エンジンを統合したワークフローを提供します。この統合エクスペリエンスにより、Iceberg REST カタログプレビュー)を使用して、セルフホストまたは Dataproc でホストされている Spark 環境を構成できます。また、BigQuery Studio ノートブックで Spark 環境を構成して同じことを行うこともできます。

    たとえば、BigQuery Studio では、BigQuery Studio ノートブックを使用して Spark にテーブルを作成できます。

    BigLake metastore にテーブルを作成する

    次に、Google Cloud コンソールで同じ Spark テーブルをクエリできます。

    BigLake メタストアのテーブルをクエリする

BigLake メタストアのテーブル形式

BigLake は、複数のテーブルタイプをサポートしています。次の表を参考にして、ユースケースに最適な形式を選択してください。

外部テーブル BigLake Iceberg テーブル BigQuery の BigLake Iceberg テーブル 標準の BigQuery テーブル
Metastore 外部またはセルフホストのメタストア BigLake Metastore BigLake Metastore BigLake Metastore
ストレージ Cloud Storage / Amazon S3 / Azure Cloud Storage Cloud Storage BigQuery
管理 お客様または第三者 Google Google(高度な管理) Google(最も管理されたエクスペリエンス)
読み取り / 書き込み オープンソース エンジン(読み取り/書き込み)

BigQuery(読み取り専用)
オープンソース エンジン(読み取り/書き込み)

BigQuery(読み取り専用)
オープンソース エンジン(Iceberg ライブラリでの読み取り専用、BigQuery Storage API との読み取り/書き込みの相互運用性)

BigQuery(読み取り/書き込み)

オープンソース エンジン(BigQuery Storage API との読み取り/書き込みの相互運用性)

BigQuery(読み取り/書き込み)

Use cases 移行、BigQuery ロード用のステージング テーブル、セルフマネージメント オープン レイクハウス 分析、ストリーミング、AI 向けのエンタープライズ グレードのストレージを備えたオープン レイクハウス 分析、ストリーミング、AI 向けのエンタープライズ グレードのストレージ

BigLake metastore(クラシック)との違い

Google Cloudでは、BigLake metastore が推奨されています。

BigLake metastore と BigLake metastore(クラシック)の主な違いは次のとおりです。

  • BigLake metastore(クラシック)は、BigQuery とは異なるスタンドアロンのメタストア サービスで、Iceberg テーブルのみをサポートします。3 つの部分からなるリソースモデルが異なります。BigLake metastore(クラシック)テーブルは BigQuery から自動的に検出されません。
  • BigLake メタストアのテーブルには、複数のオープンソース エンジンと BigQuery からアクセスできます。BigLake metastore は Spark との直接統合をサポートしているため、メタデータの保存とジョブの実行時の冗長性を軽減できます。BigLake Metastore は、複数のランタイムにわたってレイクハウス データを接続する Iceberg REST カタログプレビュー)もサポートしています。

制限事項

BigLake metastore のテーブルには次の制限が適用されます。

  • BigQuery エンジンを使用して DDL ステートメントまたは DML ステートメントで BigLake metastore テーブルを作成または変更することはできません。BigQuery API(bq コマンドライン ツールまたはクライアント ライブラリを使用)を使用して BigLake metastore テーブルを変更することはできますが、外部エンジンと互換性のない変更が行われる可能性があります。
  • BigLake metastore テーブルは、名前変更オペレーションALTER TABLE ... RENAME TO Spark SQL ステートメントをサポートしていません。
  • BigLake metastore テーブルには、標準的なテーブルと同じ割り当てと上限が適用されます。
  • BigQuery エンジンの BigLake metastore テーブルに対するクエリのパフォーマンスは、標準的な BigQuery テーブルのデータに対するクエリよりも低速になる可能性があります。一般的に、BigLake metastore テーブルのクエリ パフォーマンスは、Cloud Storage からデータを直接読み取る処理と同等になります。
  • BigLake metastore のテーブルを使用するクエリのドライランで、行が返されても、下限 0 バイトと報告される場合があります。これは、実際のクエリが完了するまで、テーブルから処理されるデータの量を特定できないためです。連携クエリを実行すると、このデータの処理に費用がかかります。
  • ワイルドカード テーブルのクエリで BigLake metastore テーブルを参照することはできません。
  • tabledata.list メソッドを使用して BigLake metastore テーブルからデータを取得することはできません。代わりに、クエリ結果を宛先テーブルに保存し、そのテーブルで tabledata.list メソッドを使用できます。
  • BigLake metastore テーブルはクラスタリングをサポートしていません。
  • BigLake metastore テーブルは、柔軟な列名をサポートしていません。
  • BigLake metastore テーブルのテーブル ストレージ統計情報の表示はサポートされていません。

次のステップ