BigLake metastore の概要

BigLake metastore は、データ レイクハウスの信頼できる唯一の情報源を提供するフルマネージドのサーバーレス サービスです。これにより、Apache Spark、Apache Flink、BigQuery などの複数のエンジンが、ファイルをコピーせずにテーブルとメタデータを共有できます。

BigLake metastore はストレージ アクセス権の委任(クルデンシャル ベンディング)をサポートしています。これにより、Cloud Storage バケットへの直接アクセスが不要になり、セキュリティが強化されます。また、Dataplex Universal Catalog と統合して、ガバナンス、リネージ、データ品質を統合します。

主な機能

BigLake のコンポーネントである BigLake metastore は、サーバーレス アーキテクチャ、オープン API によるエンジン相互運用性、統合されたユーザー エクスペリエンス、BigQuery と併用した場合の高性能な分析、ストリーミング、AI など、データ管理と分析にいくつかのメリットをもたらします。これらのメリットの詳細については、BigLake とはをご覧ください。

構成オプション

BigLake metastore は、Iceberg REST カタログまたは BigQuery 用のカスタム Iceberg カタログのいずれかを使用して構成できます。次の表に示すように、最適なオプションはユースケースによって異なります。

ユースケース 推奨事項
オープンソース エンジンが Cloud Storage のデータにアクセスし、BigQuery や AlloyDB for PostgreSQL などの他のエンジンとの相互運用性を必要とする BigLake メタストアの新規ユーザー。 Iceberg REST カタログを使用します。
BigQuery 用のカスタム Iceberg カタログを含む現在のテーブルがある既存の BigLake metastore ユーザー。 BigQuery 用のカスタム Iceberg カタログを引き続き使用しますが、新しいワークフローには Iceberg REST カタログを使用します。BigQuery 用のカスタム Iceberg カタログで作成されたテーブルは、BigQuery カタログ フェデレーションを介して Iceberg REST カタログで表示できます。

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

BigLake metastore は Google Cloudでの推奨された metastore ですが、BigLake metastore(クラシック)は以前の機能と見なされます。

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

  • BigLake metastore は、Spark などのオープンソース エンジンとの直接統合をサポートしているため、メタデータの保存とジョブの実行時の冗長性を軽減できます。BigLake metastore のテーブルには、複数のオープンソース エンジンと BigQuery から直接アクセスできます。
  • BigLake metastore は Iceberg REST カタログをサポートしていますが、BigLake metastore(クラシック)はサポートしていません。

BigLake metastore の制限事項

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

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

次のステップ