Apache Iceberg : le registre que vous emportez

Un groupe acquiert une entreprise. L’acheteur fait son reporting sur Snowflake ; l’entreprise acquise gardait ses données dans son propre centre de données et les interrogeait avec Trino. Le plan d’intégration contient une ligne qui dit « migrer les données », et chacun sait ce que cette ligne coûte : une année de copie, deux jeux de chiffres entre-temps, et une dépendance envers la plateforme où la copie atterrit.
L’alternative est que le registre soit dans un format que les deux côtés lisent déjà, avec un catalogue que le groupe contrôle. Apache Iceberg est, à ce jour, le format sur lequel le plus de rivaux s’accordent, et la raison n’en est pas le sentiment. C’est la forme de ses métadonnées. Le registre de Hurukan est conçu pour être portable exactement en ce sens, et la couche Données qui le porte est en construction.
Une table comme un arbre, avec un seul pointeur
Iceberg décrit une table comme un arbre de fichiers qui ne sont jamais modifiés. Au sommet, un fichier de métadonnées de table ; il pointe vers un instantané ; l’instantané pointe vers une liste de manifestes ; chaque manifeste liste des fichiers de données et des fichiers de suppression avec leurs statistiques. Un changement de la table écrit de nouvelles feuilles et une nouvelle racine, puis fait une petite chose : il permute, dans le catalogue, le pointeur de l’ancienne racine vers la nouvelle. La spécification rend cette permutation atomique.
Deux conséquences en découlent. Chaque racine qui a existé est encore une version complète et lisible de la table, ce qui est le voyage dans le temps (time travel), et dans Hurukan c’est la réponse à « qu’a vu l’agent quand il a proposé ceci ». Et plusieurs moteurs peuvent écrire en sécurité dans la même table, parce que la seule chose qu’ils se disputent est le pointeur.
La version courante est Iceberg 1.12.0 de septembre 2026 (vérifié le 21 octobre 2026). La
version 3 de la spécification est adoptée : vecteurs de suppression stockés dans des fichiers
Puffin, traçabilité des lignes, type VARIANT, types géométriques, horodatages à la nanoseconde et
valeurs par défaut de colonne. La version 4 est en développement et n’est pas adoptée.
Le partitionnement caché, et pourquoi un analyste ne pose jamais la question
Iceberg dérive les valeurs de partition de transformations de colonnes — le jour d’un horodatage, un seau d’un identifiant — et enregistre la transformation dans les métadonnées. Une requête qui filtre sur l’horodatage est élaguée aux bonnes partitions sans que la personne qui l’écrit sache que des partitions existent. Quand le volume change, la spécification de partition peut évoluer sans réécrire les données ; les anciens fichiers gardent l’ancienne disposition, les nouveaux reçoivent la nouvelle, et les deux sont lus correctement.
Pour un registre destiné à être lu par la superintelligence plutôt que par des personnes qui connaissent la disposition du stockage, cette propriété compte plus qu’il n’y paraît. L’ontologie peut nommer une table « paiements » et laisser la disposition à la couche Données.
Le catalogue est là où siège la souveraineté
Tout ce qui précède est fichiers. Des fichiers peuvent vivre sur n’importe quel stockage objet, y compris dans le bâtiment de l’entreprise. Ce que les fichiers ne peuvent pas faire, c’est dire à un lecteur quelle racine est courante et si cette personne peut la lire. C’est le travail du catalogue, et c’est l’endroit où une entreprise possède son registre ou le loue.
Iceberg publie une spécification ouverte de catalogue REST : espaces de noms, tables, vues, commits, planification des balayages et distribution d’identifiants derrière une seule interface HTTP. Apache Polaris, une implémentation, est devenu projet Apache de premier niveau en février 2026 et a publié la 1.8.0 en septembre 2026 (vérifié le 21 octobre 2026). D’autres implémentations existent. L’essentiel est qu’un catalogue peut tourner sur l’infrastructure que l’entreprise choisit, et qu’un moteur de n’importe quel fournisseur peut lui parler.
C’est ainsi que la couche sécurité et souveraineté traite le registre : des permissions appliquées au catalogue, sur le propre serveur de l’entreprise, pour les personnes comme pour les agents. Le moteur d’un fournisseur qui lit le registre le fait avec les identifiants que le catalogue lui remet, et rien de plus.
Qui le lit
La liste, d’après la documentation des fournisseurs eux-mêmes au 21 octobre 2026 : Snowflake lit et écrit des tables Iceberg jusqu’à la spécification v3 et peut utiliser un catalogue REST externe ; Amazon S3 Tables stocke Iceberg nativement, v3 comprise ; le catalogue lakehouse de Google expose un point d’accès REST Iceberg ; Databricks propose des tables Iceberg managées dans Unity Catalog avec un point d’accès REST. Spark, Flink, Trino et DuckDB le lisent directement.
Pour l’acquisition du premier paragraphe, cette liste est le plan : un seul registre, sur le stockage du groupe, derrière le catalogue du groupe, lu par Snowflake d’un côté et Trino de l’autre, sans ligne de migration au budget.
Ce que font les agents ici, et ce que gardent les personnes
Un agent peut rédiger la tâche qui fait évoluer une spécification de partition quand le volume croît, le compactage qui fusionne les petits fichiers, l’expiration des anciens instantanés une fois atteinte la rétention que l’entreprise a fixée. Chacune est une proposition avec un résultat de test, approuvée par une personne, enregistrée comme tout autre changement dans Hurukan.
Les personnes gardent les décisions qui ne peuvent être déduites : quel catalogue, et où il tourne ; qui peut lire quel espace de noms ; combien de temps l’historique est conservé et quand les données d’une personne sont supprimées pour de bon ; et s’il faut faire passer une table à une version plus récente de la spécification, puisqu’un lecteur qui ne connaît pas la v3 ne lira pas une table qui l’utilise. La question de savoir quelles données peuvent seulement quitter le bâtiment est une autre question, reprise dans Quelles données doivent rester dans l’entreprise.
Un test à faire aujourd’hui
Demandez qui, dans votre entreprise, pourrait cette semaine pointer un nouveau moteur vers votre table la plus importante et la lire correctement sans export. Si la réponse passe par un ticket de support d’un fournisseur, le registre n’est pas encore le vôtre.
- Apache Iceberg
- format de table
- catalogue
- sortie
- souveraineté