BigLake-Metastore ist ein vollständig verwalteter, serverloser Dienst, der eine einzige Quelle der Wahrheit für Ihr Data Lakehouse bietet. So können mehrere Engines, darunter Apache Spark, Apache Flink und BigQuery, Tabellen und Metadaten gemeinsam nutzen, ohne Dateien zu kopieren.
BigLake Metastore unterstützt die Delegierung des Speicherzugriffs (Bereitstellung von Anmeldedaten), was die Sicherheit verbessert, da kein direkter Zugriff auf Cloud Storage-Bucket erforderlich ist. Außerdem ist die Integration in Dataplex Universal Catalog für einheitliche Governance, Lineage und Datenqualität möglich.
Hauptfunktionen
Als Komponente von BigLake bietet BigLake Metastore mehrere Vorteile für die Datenverwaltung und -analyse, darunter eine serverlose Architektur, Engine-Interoperabilität mit offenen APIs, eine einheitliche Benutzeroberfläche sowie leistungsstarke Analysen, Streaming und KI bei Verwendung mit BigQuery. Weitere Informationen zu diesen Vorteilen finden Sie unter Was ist BigLake?
Konfigurationsoptionen
BigLake Metastore kann auf zwei Arten konfiguriert werden: mit dem Iceberg REST Catalog oder dem benutzerdefinierten Iceberg-Katalog für BigQuery. Die beste Option hängt von Ihrem Anwendungsfall ab, wie in der folgenden Tabelle dargestellt:
| Anwendungsfall | Empfehlung |
|---|---|
| Neue BigLake-Metastore-Nutzer, die mit ihrer Open-Source-Engine auf Daten in Cloud Storage zugreifen möchten und Interoperabilität mit anderen Engines benötigen, einschließlich BigQuery und AlloyDB for PostgreSQL. | Verwenden Sie den Iceberg REST-Katalog. |
| Vorhandene BigLake Metastore-Nutzer, die aktuelle Tabellen mit dem benutzerdefinierten Iceberg-Katalog für BigQuery haben. | Verwenden Sie weiterhin den benutzerdefinierten Iceberg-Katalog für BigQuery, aber verwenden Sie den Iceberg-REST-Katalog für neue Workflows. Tabellen, die mit dem benutzerdefinierten Iceberg-Katalog für BigQuery erstellt wurden, sind über die BigQuery-Katalogföderation mit dem Iceberg-REST-Katalog sichtbar. |
Unterschiede zum klassischen BigLake-Metastore
BigLake Metastore ist der empfohlene Metastore auf Google Cloud, während BigLake Metastore (classic) als Legacy-Funktion gilt.
Die wichtigsten Unterschiede zwischen BigLake Metastore und BigLake Metastore (klassisch) sind:
- BigLake Metastore unterstützt die direkte Einbindung in Open-Source-Engines wie Spark. So lässt sich Redundanz beim Speichern von Metadaten und Ausführen von Jobs reduzieren. Auf Tabellen im BigLake-Metastore kann direkt über mehrere Open-Source-Engines und BigQuery zugegriffen werden.
- BigLake Metastore unterstützt den Iceberg REST Catalog, BigLake Metastore (klassisch) jedoch nicht.
Einschränkungen von BigLake Metastore
Für Tabellen in BigLake Metastore gelten die folgenden Einschränkungen:
- Sie können BigLake Iceberg-Tabellen nicht mit DDL-Anweisungen (Datendefinitionssprache) oder DML-Anweisungen (Datenbearbeitungssprache) von BigQuery erstellen oder ändern. Sie können BigLake Iceberg-Tabellen mit der BigQuery API (mit dem bq-Befehlszeilentool oder Clientbibliotheken) ändern. Dabei besteht jedoch das Risiko, dass Sie Änderungen vornehmen, die mit der externen Engine nicht kompatibel sind.
- BigLake Metastore-Tabellen unterstützen keine Umbenennungsvorgänge oder die Spark SQL-Anweisung
ALTER TABLE ... RENAME TO. - Für BigLake Metastore-Tabellen in BigQuery gelten dieselben Kontingente und Limits wie für Standardtabellen.
- Die Abfrageleistung für BigLake-Metastore-Tabellen über die BigQuery-Engine ist möglicherweise geringer als bei der Abfrage von Daten in BigQuery-Standardtabellen. Im Allgemeinen sollte die Abfragegeschwindigkeit dem Lesen von Daten aus Cloud Storage entsprechen.
- Ein BigQuery-Probelauf einer Abfrage, die eine BigLake Metastore-Tabelle verwendet, kann eine Untergrenze von 0 Byte an Daten melden, auch wenn Zeilen zurückgegeben werden. Dieses Ergebnis tritt auf, weil die Datenmenge, die aus der Tabelle verarbeitet wird, erst nach Ausführung der gesamten Abfrage bestimmt werden kann. Für die Ausführung der Abfrage fallen Kosten für die Verarbeitung dieser Daten an.
- BigLake Metastore-Tabellen können nicht in einer Abfrage mit einer Platzhaltertabelle referenziert werden.
- Sie können die
tabledata.list-Methode nicht verwenden, um Daten aus BigLake Metastore-Tabellen abzurufen. Stattdessen können Sie Abfrageergebnisse in einer BigQuery-Tabelle speichern und dann die Methodetabledata.listfür diese Tabelle verwenden. - BigLake Metastore-Tabellen unterstützen kein Clustering.
- BigLake Metastore-Tabellen unterstützen keine flexiblen Spaltennamen.
- Die Anzeige von Tabellenspeicherstatistiken für BigLake Metastore-Tabellen wird nicht unterstützt.
- BigLake Metastore unterstützt keine Iceberg-Ansichten.