BigLake metastore は、 Google Cloud に保存されているレイクハウス データを、オープンソース エンジン(Apache Spark など)や BigQuery などの複数のランタイムに接続する、統合されたマネージド サーバーレスのスケーラブルなメタストアです。このサービスは、Apache Iceberg などの主要なオープンソース テーブル形式を使用して、自動化されたデータ マネジメントと組み込みのガバナンスを備えたオープンでマネージドされた高パフォーマンスのレイクハウスを構築するために必要な基盤を提供します。
BigLake metastore は、複数のソースのメタデータの信頼できる唯一の情報源となり、カスタマイズされたツールを使用して異なる分析システムとリポジトリ間でデータとメタデータをコピーして同期する必要がなくなります。また、認証情報のベンディングなどのストレージ アクセス委任モデルもサポートしているため、カタログ ユーザーが Cloud Storage バケットに直接アクセスする必要がなくなります。
BigQuery の BigLake Iceberg テーブルを使用するワークフローの場合、BigLake metastore は Dataplex Universal Catalog でもサポートされています。これにより、サポートされているすべてのエンジンで統一されたきめ細かいアクセス制御が可能になり、包括的なリネージ、データ品質、検出可能性の機能を含むエンドツーエンドのガバナンスが実現します。
BigLake metastore は、Iceberg REST カタログまたは BigQuery 用のカスタム Iceberg カタログのいずれかを使用して構成できます。次の表に示すように、最適なオプションはユースケースによって異なります。
| ユースケース | 推奨事項 |
|---|---|
| オープンソース エンジンで Cloud Storage のデータにアクセスし、BigQuery や AlloyDB などの他のエンジンとの相互運用性が必要な BigLake メタストアの新規ユーザー。 | Iceberg REST カタログを使用します。 |
| BigQuery 用のカスタム Iceberg カタログを含む現在のテーブルがある既存の BigLake metastore ユーザー。 | BigQuery 用のカスタム Iceberg カタログを引き続き使用しますが、新しいワークフローには Iceberg REST カタログを使用します。BigQuery 用のカスタム Iceberg カタログで作成されたテーブルは、フェデレーションを介して Iceberg REST カタログで表示できます。 |
主な機能
BigLake metastore には、データ マネジメントと分析を行う上で次のような利点があります。
- サーバーレス アーキテクチャ。BigLake metastore はサーバーレス アーキテクチャを提供するため、サーバーやクラスタの管理は不要です。これにより、運用上のオーバーヘッドを削減し、デプロイを簡素化して、需要に応じた自動スケーリングが可能になります。
- オープン API によるエンジンの相互運用性。BigLake metastore は、オープンソース エンジンとサードパーティ エンジンとの相互運用性をサポートしています。BigLake metastore を使用すると、オープンソース エンジン(Spark や Flink など)と BigQuery でテーブルに直接アクセスできるため、追加の接続手順なしでオープン形式のテーブルをクエリできます。この構成により、分析ワークフローを効率化し、複雑なデータ移動や ETL プロセスの必要性を軽減できます。
- 統合されたユーザー エクスペリエンス。BigLake metastore は、オープンソース エンジンと BigQuery を統合したワークフローを提供します。この統合エクスペリエンスにより、たとえば、セルフホスト、Iceberg REST カタログを介して Dataproc でホストされている、または BigQuery ノートブックにある Spark 環境を構成できます。
- BigQuery による高パフォーマンスの分析、ストリーミング、AI。BigLake メタストアを使用すると、Iceberg データを独自の Cloud Storage バケットに保存し、BigQuery のスケーラビリティの高いリアルタイム メタデータ管理機能を活用できます。このアーキテクチャにより、Cloud Storage のオープン性とデータ所有権に加えて、BigQuery のフルマネージドのストリーミング、分析、AI 機能を利用できます。
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 カタログを確認する。