Ce document définit les termes et concepts clés de Lakehouse pour Apache Iceberg.
Cette page n'est pas une liste exhaustive des fonctionnalités, mais plutôt une référence générale des termes et concepts utilisés dans la documentation Lakehouse de Google Cloud.
Concepts fondamentaux
Les concepts suivants constituent la base de l'architecture Lakehouse de Google Cloud.
Data lakehouse
Un data lakehouse combine les économies et la flexibilité d'un lac de données avec la gestion des données et les performances d'un entrepôt de données. Il vous permet de stocker des données dans des formats ouverts sur Cloud Storage et d'utiliser les fonctionnalités de BigQuery, telles que des contrôles de sécurité précis et des requêtes rapides.
Architecture en médaillon
L'architecture en médaillon est un modèle de conception courant dans un data lakehouse. Elle organise logiquement les données en couches progressives de structure et de qualité :
- Couche Bronze (brute) : ingère et stocke les données brutes dans des formats ouverts tels qu'Apache Iceberg sur Cloud Storage.
- Couche Argent (nettoyée) : nettoie, filtre et enrichit les données brutes pour les transformer en tableaux standardisés.
- Couche Or (organisée) : fournit des tables entièrement organisées et agrégées au niveau de l'entreprise. Dans le lakehouse de Google Cloud, BigQuery est souvent utilisé pour diffuser la couche Gold pour la consommation, les rapports et les analyses à hautes performances.
Interopérabilité ouverte
L'interopérabilité ouverte permet à plusieurs systèmes analytiques et transactionnels (tels que BigQuery, Apache Spark et Apache Flink) de fonctionner sur une seule copie de données dans des formats ouverts tels qu'Apache Iceberg. Cela évite la duplication des données et garantit une vue cohérente des données dans différents outils.
Catalogue d'environnements d'exécution Lakehouse
Le catalogue d'environnements d'exécution Lakehouse est un service de métadonnées centralisé et sans serveur qui sert de source unique de vérité pour le lakehouse de Google Cloud. Il permet à plusieurs moteurs, tels qu'Apache Spark, Apache Flink et BigQuery, de découvrir et d'interroger les mêmes tables simultanément.
Types de catalogues
Le catalogue d'environnements d'exécution Lakehouse propose différents types de catalogues pour gérer vos métadonnées.
Point de terminaison du catalogue REST Apache Iceberg
Il s'agit d'un catalogue basé sur le point de terminaison du catalogue REST Apache Iceberg. Il assure l'interopérabilité entre les moteurs Open Source et BigQuery, et est compatible avec des fonctionnalités telles que la distribution d'identifiants et la reprise après sinistre.
Catalogue Apache Iceberg personnalisé pour BigQuery
Il s'agit d'une intégration qui utilise directement le catalogue BigQuery comme service de métadonnées sous-jacent pour les tables Apache Iceberg gérées.
Point de terminaison du catalogue Apache Hive
Ce point de terminaison assure la compatibilité avec les charges de travail Open Source qui dépendent de l'interface Apache Hive metastore (HMS). Il vous permet d'exécuter des charges de travail Apache Hive ou Spark sur un service de metastore entièrement géré surGoogle Cloud.
Types de tables
Le Lakehouse Google Cloud est compatible avec plusieurs formats de table, en fonction du moteur utilisé pour gérer les données et du point de terminaison du catalogue que vous utilisez.
Tables Apache Iceberg
Il s'agit de tables Apache Iceberg que vous créez à partir de moteurs Open Source et que vous stockez dans Cloud Storage. Le catalogue d'environnements d'exécution Lakehouse gère ces tables via le point de terminaison du catalogue REST Apache Iceberg. Les moteurs Open Source ont un accès en lecture et en écriture à ces tables, tandis que BigQuery a un accès en lecture seule. Cette option est idéale si vous souhaitez que votre workflow ETL soit géré par des moteurs Open Source.
les tables BigQuery
Ces tables sont gérées avec BigQuery.
Tables Apache Iceberg
Il s'agit de tables Apache Iceberg que vous créez à partir de BigQuery et que vous stockez dans Cloud Storage. BigQuery gère la mise en page et l'optimisation des données. Bien que ces tables puissent être lues par plusieurs moteurs, BigQuery est le seul moteur capable d'y écrire directement.
Tables natives
Ces tables sont gérées par BigQuery et stockent les données dans l'espace de stockage BigQuery. Vous pouvez associer ces tables au catalogue Lakehouse Runtime.
Tables externes
Les tables externes résident en dehors du catalogue d'environnements d'exécution Lakehouse. Les données et les métadonnées sont autogérées dans un catalogue tiers (tel que Cloud Storage, S3 ou Azure Blob Storage). BigQuery ne peut lire que les données de ces tables.
Fonctionnalités des tableaux
Évolution des tableaux
Le Lakehouse de Google Cloud est compatible avec l'évolution des tables Apache Iceberg, ce qui vous permet de modifier le schéma ou la spécification de partition d'une table au fil du temps sans réécrire les données de la table ni la recréer.
Fonctionnalité temporelle
La fonctionnalité temporelle vous permet d'interroger les données d'une table telles qu'elles existaient à un moment précis ou à un ID d'instantané spécifique. Cela est utile pour l'audit, la reproduction d'expériences ou la restauration de données après une suppression accidentelle.
Mise en cache de métadonnées
La mise en cache des métadonnées est une fonctionnalité qui accélère les performances des requêtes pour les tables externes. Il stocke une copie des métadonnées de la table dans le stockage BigQuery, ce qui réduit la nécessité de lire les fichiers de métadonnées depuis Cloud Storage lors de l'exécution des requêtes.
Gestion des tables Lakehouse de Google Cloud
La gestion des tables Lakehouse de Google Cloud simplifie la maintenance des lakehouses en automatisant des tâches telles que la compaction et la récupération de mémoire pour les tables gérées. Cela garantit des performances de requête et une efficacité de stockage optimales.
Concepts d'interopérabilité
Fédération du catalogue BigQuery
La fédération de catalogues BigQuery vous permet d'utiliser le point de terminaison du catalogue REST Apache Iceberg du catalogue d'exécution Lakehouse pour exposer les tables gérées par BigQuery, par exemple les tables gérées Iceberg, aux moteurs Open Source (OSS) externes tels qu'Apache Spark et Trino.
Au lieu de créer un conteneur de catalogue Lakehouse dédié pour stocker les métadonnées, le point de terminaison du catalogue REST Apache Iceberg sert uniquement de passerelle proxy, en acheminant les requêtes de catalogue directement vers le catalogue interne de BigQuery. Cela vous permet de créer et de gérer des tables directement dans BigQuery à l'aide du langage LDD ou des API BigQuery standards, tout en donnant aux moteurs OSS externes un accès en lecture seule pour interroger ces tables via le point de terminaison du catalogue REST.
Lakehouse multicloud
Cross-cloud Lakehouse étend le Lakehouse de Google Cloud, ce qui vous permet de vous connecter à des catalogues externes distants (par exemple, Databricks Unity Catalog ou AWS Glue). Il synchronise les métadonnées d'autres fournisseurs de cloud, ce qui vous permet d'interroger les données avec BigQuery ou des moteurs Open Source externes via le point de terminaison du catalogue REST Apache Iceberg, sans migrer les données.
Ensembles de données publics
Le Lakehouse de Google Cloud héberge des ensembles de données publics de haute qualité, fournis via le catalogue REST Apache Iceberg. Il offre un accès en lecture seule pour l'exploration et les tests, sans avoir à gérer l'infrastructure.
Structure de nommage des P.C.N.T.
La structure de dénomination P.C.N.T. est une convention en quatre parties utilisée pour identifier et interroger de manière unique les tables du catalogue d'exécution Lakehouse à partir de BigQuery. Il s'agit de Project.Catalog.Namespace.Table :
- Project : ID du projet Google Cloud .
- Catalogue : nom du catalogue d'environnements d'exécution Lakehouse.
- Espace de noms : regroupement logique des tables (semblable à un ensemble de données).
- Table : nom de la table de données.
Concepts de sécurité
Connexions
Une connexion est une ressource BigQuery qui stocke les identifiants permettant d'accéder aux données externes. Dans le Lakehouse de Google Cloud, les connexions délèguent l'accès à Cloud Storage en permettant au compte de service de la connexion d'accéder au bucket de stockage en votre nom.
Distribution d'identifiants
La distribution d'identifiants est un mécanisme de sécurité qui permet de renforcer le contrôle des accès lorsque vous utilisez le catalogue d'environnements d'exécution Lakehouse. Lorsqu'il est activé, le service génère des identifiants de courte durée et à portée limitée, conçus pour n'accorder l'accès qu'aux chemins d'accès aux fichiers spécifiques requis pour une requête.
Gouvernance unifiée
La gouvernance unifiée vous permet de définir et d'appliquer des règles de sécurité et de gestion des données de manière centralisée grâce à l'intégration à Knowledge Catalog. Lorsque vous enregistrez des tables dans le catalogue d'exécution Lakehouse, le système enregistre automatiquement les entrées correspondantes dans le catalogue de métadonnées métier (Knowledge Catalog). Cela permet de suivre la lignée des données, d'effectuer des recherches sémantiques et d'assurer une gouvernance centralisée sur tous les moteurs, sans déplacer ni copier les fichiers.
Concepts du moteur de requêtes
Le lakehouse de Google Cloud dissocie le stockage du calcul, ce qui permet à différents moteurs d'analyse d'interagir avec des tables ouvertes.
Managed Service pour Apache Spark
Managed Service pour Apache Spark (anciennement Managed Service pour Apache Spark) fournit un environnement d'exécution entièrement géré pour le traitement des formats de table ouverts tels qu'Apache Iceberg. Il est compatible avec deux modes d'exécution principaux :
- Lots sans serveur : conçus pour les pipelines de traitement de données automatisés et non interactifs, et les charges de travail ETL. Ce modèle de paiement à l'exécution élimine la gestion des clusters, supprime la contention des ressources entre les jobs et automatise la maintenance de l'infrastructure.
- Sessions interactives sans serveur : conçues pour l'analyse de données exploratoire, l'ingénierie des données et les tests de science des données. Les sessions interactives alimentent les notebooks Apache Spark en arrière-plan à l'aide de Spark Connect ou de kernels Spark à distance. Elles fournissent un environnement à autoscaling sans configuration d'infrastructure.
Niveaux de service
Lorsque vous exécutez des charges de travail Apache Spark sur le catalogue du runtime Lakehouse, vous pouvez choisir entre différents niveaux de service :
- Niveau Standard : niveau d'exécution par défaut adapté aux charges de travail de traitement par lot standard.
- Niveau Premium : offre des fonctionnalités avancées, y compris la prise en charge des sessions de notebooks interactives sans serveur et des fonctionnalités d'amélioration des performances telles que Lightning Engine.
Modèles de session
Les modèles de session simplifient la configuration des sessions interactives sans serveur. Ils permettent aux administrateurs de définir et de conserver les paramètres d'environnement courants (tels que les propriétés du catalogue, les configurations réseau et les versions d'exécution). Cela favorise la cohérence et améliore la productivité des développeurs en minimisant les configurations répétées. Vous pouvez créer et gérer des modèles de session à l'aide de la console Google Cloud , de la CLI gcloud, de l'API REST ou de Terraform.
Concepts de fiabilité
Réplication interrégionale
La réplication interrégionale réplique les métadonnées dans plusieurs régions pour assurer la disponibilité du catalogue en cas de panne régionale.
Basculement
Le basculement est le processus qui consiste à passer d'une région principale à une région secondaire en cas d'indisponibilité régionale pour maintenir les opérations du catalogue.