Fonctionnement de Google Cloud Lakehouse

Cette page décrit l'architecture technique de Google Cloud Lakehouse, fournit des informations sur la gestion des requêtes et explique comment le Lakehouse catalogue d'exécution prend en charge l'interopérabilité entre les moteurs.

Architecture

La création d'un Google Cloud Lakehouse comprend les composants techniques suivants :

  • Stockage : Cloud Storage et BigQuery Storage servent de couche de stockage, avec Apache Iceberg comme format de table ouvert recommandé pour un stockage hautes performances et interopérable dans Cloud Storage.

  • Catalogue : le catalogue d'exécution Lakehouse fournit une source unique de référence pour la gestion des métadonnées. Il centralise la découverte des métadonnées sur plusieurs moteurs à l'aide de diverses options de compatibilité, y compris un point de terminaison de catalogue REST Apache Iceberg, un point de terminaison Apache Hive et la fédération de catalogues.

  • Moteur de requête : BigQuery et les moteurs Open Source, y compris Apache Spark, Apache Flink et Trino, interagissent de manière transparente en se connectant au catalogue d'exécution Lakehouse.

  • Gouvernance : Knowledge Catalog fournit des règles de sécurité, de traçabilité et de gouvernance centralisées dans l'ensemble de votre lakehouse.

  • Outils d'écriture et d'analyse de données : les moteurs et outils intégrés offrent plusieurs chemins pour l'ingestion et l'analyse des données, ce qui garantit un accès cohérent aux données pour les data scientists et les analystes.

Hiérarchie des ressources

Google Cloud Lakehouse organise les données à l'aide d'une hiérarchie qui s'aligne sur les normes Apache Iceberg et les concepts de base de données standards. Cette structure permet au catalogue d'exécution Lakehouse de mapper les identités logiques aux chemins de stockage physiques.

  1. Catalogue d'exécution Lakehouse : ressource de service régionale de premier niveau Google Cloud qui héberge vos métadonnées.
  2. Catalogue : conteneur logique dans le service de catalogue d'exécution. Dans la structure de nommage P.C.N.T, cela représente l'instance de catalogue spécifique que vous interrogez.
  3. Espace de noms : regroupement logique de tables dans un catalogue. Pour les utilisateurs familiarisés avec BigQuery, un espace de noms est fonctionnellement semblable à un ensemble de données.
  4. Table : entité spécifique pointant vers des données dans Cloud Storage. Les métadonnées de la table contiennent le schéma, les informations de partitionnement et un pointeur vers l'état actuel de la table via un fichier metadata.json Apache Iceberg.

Séquence de traitement des requêtes

Lorsque vous envoyez une requête à une table Google Cloud Lakehouse, la requête suit un chemin spécifique pour appliquer les règles et récupérer les métadonnées avant le traitement des données.

  1. Envoi : vous envoyez une requête SQL à un moteur compatible tel qu'Apache Spark, Trino ou BigQuery.
  2. Requête de métadonnées : le moteur demande les métadonnées de la table au catalogue d'exécution Lakehouse pour identifier la table et l'emplacement de ses métadonnées.
  3. Autorisation : le catalogue valide la requête par rapport à Identity and Access Management (IAM) et aux règles de sécurité précises.
  4. Réponse de métadonnées : le catalogue renvoie les métadonnées. Si la distribution d'identifiants est activée, il fournit également un jeton de courte durée pour faciliter l'accès sécurisé au stockage.
  5. Récupération des données : le moteur utilise les métadonnées et le jeton facultatif pour lire les fichiers de données directement à partir de Cloud Storage.
  6. Exécution : le moteur traite les données et renvoie les résultats.

Catalogue d'exécution Lakehouse

Le catalogue d'exécution Lakehouse est un service de métadonnées sans serveur entièrement géré pour Google Cloud Lakehouse. Il fournit une source unique de référence pour les métadonnées sur différents systèmes et est accessible à partir de BigQuery et de divers moteurs de traitement de données Open Source. Cela centralise la découverte et élimine le besoin de synchroniser les métadonnées entre différents dépôts.

Le catalogue d'exécution Lakehouse s'intègre à Knowledge Catalog pour fournir des contrôles d'accès unifiés et précis sur tous les moteurs compatibles. Cette intégration permet une gouvernance complète des données, y compris la traçabilité des données, la surveillance de la qualité et la détectabilité.

Types de tables

Lorsque vous créez un Google Cloud Lakehouse, vous pouvez choisir comment gérer et mettre en forme vos tables :

Recommandé

  • Tables de catalogue REST Iceberg Lakehouse : tables Apache Iceberg créées à partir de moteurs Open Source et stockées dans Cloud Storage. Elles offrent une compatibilité et une gestion ouvertes via le point de terminaison REST du catalogue d'exécution Lakehouse.

Types de tables BigQuery

  • Tables Apache Iceberg : tables Apache Iceberg créées et gérées par BigQuery. Les métadonnées de ces tables sont stockées dans le catalogue BigQuery, tandis que les données de table et les métadonnées physiques sont stockées dans Cloud Storage.
  • Tables natives : tables entièrement gérées par BigQuery qui peuvent être connectées au catalogue d'exécution Lakehouse pour permettre l'interopérabilité avec les moteurs Open Source.
  • Tables externes : tables en dehors du catalogue d'exécution Lakehouse où les données et les métadonnées sont autogérées. Elles prennent en charge l'accès délégué via des connexions pour les données stockées dans Cloud Storage, Amazon S3 ou Azure Blob Storage.

Pour une comparaison détaillée de ces options, consultez Présentation des tables.

Étape suivante