Écosystème lakehouse, formats, catalogues et moteurs
Résumé
Un lakehouse se compose de quatre briques indépendantes : un format de fichier (Parquet), un format de table (Iceberg, Delta, Hudi, Paimon), un catalogue (qui sait où est la version courante de chaque table) et un moteur de calcul. Les choisir ensemble, avec une matrice de compatibilité, évite l’essentiel des mauvaises surprises. Cette note les compare ; les concepts sont dans Data lake vs lakehouse.
Prérequis
Data lake vs lakehouse pour les notions de snapshot, de manifest et de catalogue, et Parquet, le format de fichier colonnaire pour le format de fichier.
Formats de fichier
Parquet, ORC et Avro (voir Parquet, le format de fichier colonnaire). Parquet (colonnaire, statistiques par bloc, schéma embarqué) est le défaut des lakehouses ; Avro, orienté ligne, sert plutôt à l’ingestion et au streaming. Une taille de fichier de quelques centaines de Mo est souvent visée ; c’est une valeur indicative à ajuster selon le moteur et la charge.
Formats de table
| Format | Point fort | À surveiller |
|---|---|---|
| Apache Iceberg | Spécification ouverte, schéma par identifiant de colonne, partitionnement caché, API de catalogue REST, large support multi-moteurs | Maintenance (compaction, expiration) à organiser |
| Delta Lake | Projet ouvert, très intégré à Spark et Databricks, avec des connecteurs hors Databricks (par exemple delta-rs, Trino, Flink) ; mode UniForm pour exposer des métadonnées Iceberg en lecture | Le niveau de support hors Databricks varie selon la fonctionnalité |
| Apache Hudi | Pensé pour l’upsert et le CDC fréquents | Écosystème moins large côté moteurs |
| Apache Paimon | Orienté streaming (Flink) | Plus récent, support moteurs plus restreint |
Quand rien ne contraint le choix, Iceberg est la valeur par défaut la mieux soutenue côté catalogues et moteurs ouverts.
Catalogues
Le catalogue répond à : où est la version courante de la table X ? Il rend le commit atomique et peut porter les permissions ; un accès direct au stockage le contourne.
| Catalogue | Type | Remarque |
|---|---|---|
| Hive Metastore | Historique, auto-hébergé | Plus lent et plus limité que les catalogues modernes |
| AWS Glue | Managé AWS | AWS uniquement |
| Unity Catalog | Databricks | Delta et Iceberg ; expose aussi une API REST Iceberg |
| Apache Polaris | REST Iceberg, open source | Contrôle d’accès fin, OAuth2 ; statut du projet à vérifier |
| Lakekeeper | REST Iceberg, open source, Rust | Licence Apache, OIDC, autorisation fine par OpenFGA |
| Project Nessie | REST Iceberg | Sémantique de branches façon Git |
| Catalogue JDBC | Base SQL comme point de coordination | Simple, sans API REST ni gouvernance intégrée |
L’API REST d’Iceberg est devenue la voie d’interopérabilité : les moteurs parlent la même API, donc le catalogue est interchangeable. Confirmer dans la spécification en vigueur avant d’en faire un critère.
Moteurs de calcul
| Moteur | Usage typique | Remarque |
|---|---|---|
| Apache Spark | Gros traitements, écritures lourdes | Intégration Iceberg la plus mature |
| Trino | SQL interactif multi-sources | Catalogue Iceberg configuré par connecteur |
| DuckDB | Mono-nœud, léger | Écriture Iceberg via catalogue REST, support récent |
| Apache Flink | Streaming | Écritures continues |
| ClickHouse | Analytique rapide | Lecture Iceberg solide, écriture plus récente et partielle |
| Moteurs de warehouse managés | BI, simplicité | Selon l’éditeur : Choisir entre lake, lakehouse et warehouse |
Interopérabilité entre formats
UniForm (Delta vers Iceberg, en lecture) et XTable génèrent les métadonnées d’un autre format sans réécrire les données. À traiter comme une passerelle de transition : deux jeux de métadonnées font deux surfaces de problème.
Statuts à revérifier
Le niveau de support d’un format par un moteur (écriture Iceberg de DuckDB ou de ClickHouse, fonctions Delta hors Databricks, statut d’Apache Polaris) change d’une version à l’autre : contrôler la documentation du moteur retenu.
Notes liées
- Data lake vs lakehouse : les concepts et les cinq situations.
- Choisir entre lake, lakehouse et warehouse : choisir son format de table et sa plateforme.
- Lakehouse auto-hébergé sur Scaleway : une combinaison concrète catalogue, moteur et stockage.
- dbt et le lakehouse : dbt selon le format et le moteur.
- Glossaire data engineering : format de table, catalogue.
- MOC Data Engineering : carte du vault.