Un dossier d’objets n’est pas une table. Il manque le nom, le schéma officiel, la liste des fichiers du snapshot courant, les partitions, les droits, et souvent l’emplacement qui survit à un changement de chemin. Le catalog (Hive Metastore, AWS Glue, Unity Catalog, Polaris, Nessie) est ce registre. Sans lui, chaque moteur réinvente une vérité : Spark liste un préfixe, Trino un autre, un analyste pointe un sous-dossier de test, et personne ne parle de la même table.
Les tables modernes (Iceberg, Delta) stockent déjà beaucoup de métadonnées à côté des données (_delta_log, metadata/ Iceberg). Le catalog n’en devient pas inutile : il pointe vers la table et en gouverne l’accès. Unity ou Glue ne recopient pas tous les footers ; ils disent « finance.factures = cet URI, ce protocole ». C’est la différence entre ouvrir un Parquet et ouvrir la table de l’équipe finance.
SHOW TABLES, la recherche dans l’UI, le lineage. Un lac de 4 000 préfixes sans registre est un disque partagé.SELECT sur bronze.events est le niveau où les gens travaillent. Le catalog relie l’identité au nom logique — parfois jusqu’à la colonne.Que vous ne dites pas « Glue, c’est pour Athena ». Glue (ou tout metastore) est le plan de contrôle du lac. Athena n’est qu’un consommateur. Inversement, Unity n’est pas « juste un Hive cloud » : c’est catalog + grants + lineage, souvent au-dessus de Delta et d’Iceberg.
La relance : « les métadonnées Iceberg suffisent, non ? » Elles suffisent à un lecteur qui a déjà l’URI de la table. Elles ne suffisent pas à trouver la table, à en contrôler l’accès centralement, ni à empêcher deux équipes de pointer deux metadata.json différents en croyant le même métier.
Deuxième relance : « catalog Hive vs catalog REST ? » Hive Metastore est le plus ancien, et il montre ses limites (locks, trop de partitions). Les catalogs REST (Iceberg) et Unity visent un protocole client léger, moins de chatouilles Thrift. Vous citez le problème, pas le vendor.
Deux catalogs pour les mêmes objets, désynchronisés. Spark écrit via Unity, un job historique met à jour Glue « pour Athena », un troisième liste S3. Vous avez trois vérités. Un lac tenu a une source pour le nom des tables. Les ponts (UniForm, sync Glue) sont des produits, pas une excuse pour dupliquer à la main.
L’autre piège : croire que le catalog remplace le lifecycle et le chiffrement. Il nomme ; S3/ADLS détient. Les deux couches doivent raconter la même rétention, sinon l’objet disparaît sous les pieds du metastore — ou l’inverse.