BigLake Metastore est un service sans serveur entièrement géré qui fournit une source unique de référence pour votre lakehouse de données. Il permet à plusieurs moteurs, y compris Apache Spark, Apache Flink et BigQuery, de partager des tables et des métadonnées sans copier de fichiers.
Le metastore BigLake est compatible avec la délégation d'accès au stockage (distribution d'identifiants), ce qui améliore la sécurité en supprimant la nécessité d'un accès direct aux bucket Cloud Storage. Il s'intègre également à Dataplex Universal Catalog pour une gouvernance, une traçabilité et une qualité des données unifiées.
Fonctionnalités clés
En tant que composant de BigLake, le metastore BigLake offre plusieurs avantages pour la gestion et l'analyse des données, y compris une architecture sans serveur, l'interopérabilité des moteurs avec les API ouvertes, une expérience utilisateur unifiée, ainsi que des analyses, des flux de données et une IA hautes performances lorsqu'il est utilisé avec BigQuery. Pour en savoir plus sur ces avantages, consultez Qu'est-ce que BigLake ?
Options de configuration
Vous pouvez configurer BigLake Metastore de deux manières : avec le catalogue Iceberg REST ou le catalogue Iceberg personnalisé pour BigQuery. La meilleure option dépend de votre cas d'utilisation, comme indiqué dans le tableau suivant :
| Cas d'utilisation | Recommandation |
|---|---|
| Nouveaux utilisateurs de métastore BigLake qui souhaitent que leur moteur Open Source accède aux données dans Cloud Storage et qui ont besoin d'une interopérabilité avec d'autres moteurs, y compris BigQuery et AlloyDB pour PostgreSQL. | Utilisez le catalogue REST Iceberg. |
| Utilisateurs BigLake Metastore existants qui possèdent des tables actuelles avec le catalogue Iceberg personnalisé pour BigQuery. | Continuez à utiliser le catalogue Iceberg personnalisé pour BigQuery, mais utilisez le catalogue Iceberg REST pour les nouveaux workflows. Les tables créées avec le catalogue Iceberg personnalisé pour BigQuery sont visibles avec le catalogue REST Iceberg via la fédération de catalogues BigQuery. |
Différences avec BigLake Metastore (version classique)
BigLake Metastore est le metastore recommandé sur Google Cloud, tandis que BigLake Metastore (ancienne version) est considéré comme une fonctionnalité obsolète.
Voici les principales différences entre BigLake Metastore et BigLake Metastore (version classique) :
- Le métastore BigLake est compatible avec une intégration directe aux moteurs Open Source tels que Spark, ce qui permet de réduire la redondance lorsque vous stockez des métadonnées et exécutez des jobs. Les tables du metastore BigLake sont directement accessibles à partir de plusieurs moteurs Open Source et de BigQuery.
- Le métastore BigLake est compatible avec le catalogue Iceberg REST, contrairement au métastore BigLake (classique).
Limites de BigLake Metastore
Les limites suivantes s'appliquent aux tables du metastore BigLake :
- Vous ne pouvez pas créer ni modifier de tables BigLake Iceberg avec des instructions LDD (langage de définition de données) ou LMD (langage de manipulation de données) BigQuery. Vous pouvez modifier les tables BigLake Iceberg à l'aide de l'API BigQuery (avec l'outil de ligne de commande bq ou les bibliothèques clientes), mais vous risquez d'apporter des modifications incompatibles avec le moteur externe.
- Les tables BigLake Metastore ne sont pas compatibles avec les opérations de renommage ni avec l'instruction Spark SQL
ALTER TABLE ... RENAME TO. - Les tables BigLake Metastore dans BigQuery sont soumises aux mêmes quotas et limites que les tables standards.
- Les performances des requêtes portant sur des tables de métastore BigLake à partir du moteur BigQuery peuvent être ralenties par rapport aux requêtes sur des données dans des tables BigQuery standards. En général, la vitesse des requêtes doit être équivalente à celle de la lecture des données depuis Cloud Storage.
- Une simulation BigQuery d'une requête utilisant une table BigLake Metastore peut indiquer une limite inférieure de 0 octet de données, même si des lignes sont renvoyées. Ce résultat se produit, car il est impossible de déterminer la quantité de données traitées à partir de la table tant que la requête complète n'est pas exécutée. L'exécution de la requête entraîne des frais pour le traitement de ces données.
- Vous ne pouvez pas référencer de table BigLake Metastore dans une requête de table générique.
- Vous ne pouvez pas utiliser la méthode
tabledata.listpour récupérer des données à partir des tables BigLake Metastore. Vous pouvez enregistrer les résultats de la requête dans une table BigQuery, puis utiliser la méthodetabledata.listsur cette table. - Les tables BigLake Metastore ne sont pas compatibles avec le clustering.
- Les tables BigLake Metastore ne sont pas compatibles avec les noms de colonnes flexibles.
- L'affichage des statistiques de stockage de tables pour les tables BigLake Metastore n'est pas pris en charge.
- BigLake Metastore n'est pas compatible avec les vues Iceberg.
Étapes suivantes
- Explorez le catalogue Iceberg REST.
- Explorez le catalogue Iceberg personnalisé pour BigQuery.