Une architecture de lakehouse sans frontières vous permet d'unifier l'analyse de données dans des environnements distribués et des systèmes de stockage au format ouvert surGoogle Cloud. Comprendre ces concepts fondamentaux vous aide à évaluer les architectures et à configurer des catalogues unifiés, un calcul multimoteur et une gouvernance pour vos charges de travail Lakehouse.
Plutôt que de fournir une liste exhaustive des fonctionnalités, cette documentation de référence décrit la terminologie de base utilisée dans la documentation de Lakehouse.
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 dans des tables standardisées.
- 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 une consommation, des rapports et des analyses hautes performances.
Interopérabilité ouverte
L'interopérabilité ouverte est la capacité de plusieurs systèmes analytiques et transactionnels (comme BigQuery, Apache Spark et Apache Flink) à opérer sur une seule copie de données dans des formats ouverts tels qu'Apache Iceberg. Cela élimine le besoin de dupliquer les données et garantit une vue cohérente des données entre des outils disparates.
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 accepte des fonctionnalités telles que la distribution d'identifiants et la reprise après sinistre.
Configurations de stockage du catalogue
Lorsque vous créez un point de terminaison de catalogue REST Apache Iceberg, vous pouvez choisir entre deux modèles de stockage :
- Catalogue à plusieurs buckets (recommandé) : vous permet de nommer votre catalogue indépendamment et de configurer jusqu'à 15 buckets Cloud Storage (
default_locationetrestricted_locations). Lorsque vous configurez des moteurs de requête client (comme Spark ou Trino), définissez le chemin d'accès de l'entrepôt surbl://projects/PROJECT_ID/catalogs/CATALOG_ID. - Catalogue à bucket unique : configuration héritée dans laquelle le catalogue est verrouillé sur un seul bucket Cloud Storage et hérite du nom du bucket.
Lorsque vous configurez des moteurs de requête client, définissez le chemin d'accès de l'entrepôt sur
gs://CLOUD_STORAGE_BUCKET_NAME.
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 de sauvegarde 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 du metastore Apache Hive (HMS), ce qui 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 de 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 de 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 et permet d'y accéder via le point de terminaison du catalogue REST Apache Iceberg. Les moteurs Open Source disposent d'un accès en lecture et en écriture à ces tables, tandis que BigQuery dispose d'un accès en lecture et en écriture (Preview). Cette option est préférable 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 l'ensemble de la mise en page et de 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 connecter ces tables au catalogue d'exécution Lakehouse.
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 que lire ces tables.
Fonctionnalités de la table
Évolution de la table
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 recréer la table.
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 de tests 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 l'espace de 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 de la requête.
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é
Lakehouse sans frontières
Borderless Lakehouse étend le Lakehouse de Google Cloud, ce qui vous permet de vous connecter à des catalogues externes distants (tels que Databricks Unity Catalog, AWS Glue, Snowflake Horizon Catalog, Workday Data Lake ou SAP BDC). Il synchronise les métadonnées d'autres fournisseurs de services 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é diffusés via le catalogue REST Apache Iceberg, ce qui permet un accès en lecture seule pour l'exploration et les tests sans avoir à gérer l'infrastructure.
Structure de nommage P.C.N.T.
La structure de nommage P.C.N.T. est la convention en quatre parties utilisée pour identifier et interroger de manière unique les tables du catalogue d'environnements d'exécution Lakehouse à partir de BigQuery. Il signifie Project.Catalog.Namespace.Table :
- Projet : 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 à des données externes. Dans 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 lors de l'utilisation du catalogue d'environnements d'exécution Lakehouse. Lorsqu'il est activé, le service génère des identifiants éphémères à champ d'application limité, 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'environnements d'exécution de Lakehouse, le système enregistre automatiquement les entrées correspondantes dans le catalogue de métadonnées d'entreprise (Knowledge Catalog). Cela permet d'activer la traçabilité des données, la recherche sémantique et la gouvernance centralisée sur l'ensemble des moteurs, sans déplacer ni copier de 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 traiter les formats de table ouverts tels qu'Apache Iceberg. Il accepte deux modes d'exécution principaux :
- Lots sans serveur : conçus pour les pipelines de traitement de données automatisés et non interactifs, ainsi que pour les charges de travail ETL. Ce modèle de paiement par exécution élimine la gestion des clusters, supprime les conflits de ressources entre les jobs et automatise la maintenance de l'infrastructure.
- Sessions interactives sans serveur : conçues pour l'analyse exploratoire des données, l'ingénierie des données et l'expérimentation en data science. Les sessions interactives alimentent les notebooks Apache Spark en arrière-plan à l'aide de Spark Connect ou de kernels Spark distants, fournissant un environnement d'autoscaling sans configuration d'infrastructure.
Niveaux de service
Lorsque vous exécutez des charges de travail Apache Spark sur le catalogue d'environnements d'exécution 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 standards.
- Niveau Premium : fournit des fonctionnalités avancées, y compris la prise en charge des sessions de notebooks interactives sans serveur et des fonctionnalités d'accélération 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 des 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 garantir la disponibilité du catalogue en cas de panne régionale.
Basculement
Le basculement est le processus de passage de la région principale à la région secondaire lors d'une panne régionale afin de maintenir les opérations du catalogue.