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 TOSpark 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 ビューをサポートしていません。
次のステップ
- Iceberg REST カタログを確認します。
- BigQuery 用のカスタム Iceberg カタログについて学習する。