Partitionnement caché
Iceberg gère tous les détails du partitionnement et des requêtes sous le capot. Le partitionnement caché d’Iceberg évite aux utilisateurs d’avoir à fournir des informations sur la disposition des partitions lors de l’interrogation des tables. Les utilisateurs n’ont pas besoin de gérer eux-mêmes les colonnes de partition, ni même de comprendre l’agencement de la table physique, pour obtenir des résultats précis.
Cela rend non seulement le partitionnement d’Iceberg très intuitif, mais permet également de modifier la disposition des partitions au fil du temps sans casser les requêtes préécrites. Lorsque les spécifications de partition évoluent, les données de la table (et leurs métadonnées) ne sont pas affectées. Seules les nouvelles données, écrites dans la table après l'évolution, sont partitionnées selon les nouvelles spécifications, et les métadonnées de ces nouvelles données sont conservées séparément.
Évolution de schéma
Iceberg fournit un support natif pour l'évolution des schémas. Cela permet aux utilisateurs de modifier les schémas de table sans cela nécessite de migrations de données complexes, ce qui simplifie considérablement l’adaptation à l’évolution des structures de données.
Voyage dans le temps
Iceberg permet aux utilisateurs de remonter dans le temps grâce à des instantanés de données Iceberg à différents moments dans le temps. Cela s’avère utile pour de nombreux cas d’utilisation, notamment les audits, le débogage et les contrôles de conformité.
Compactage et filtrage des données
Iceberg propose un certain nombre de capacités d'indexation qui permettent d'optimiser les performances des requêtes, telles que des options de compactage pour fusionner les petits fichiers avec de plus gros et ainsi réduire la surcharge de métadonnées, et des filtres Bloom pour réduire la lecture inutile de données pendant l'exécution des requêtes.