
Que sont les Apache Iceberg Tables ?
Les formats de table qui prennent en charge les transactions ACID, comme Apache Iceberg, contribuent à faire des data lakes et des stratégies de data mesh des solutions rapides et efficaces pour interroger des données à grande échelle.
- Présentation
- Comment les formats de table simplifient les data lakes
- Qu’est-ce qu’Apache Iceberg ?
- Les avantages d’Apache Iceberg
- Ressources
Présentation
Les formats de table qui prennent en charge les transactions ACID comme Apache Iceberg contribuent à faire des data lakes et des stratégies de data mesh des solutions rapides et efficaces pour interroger des données à grande échelle. En choisissant le format de table approprié, les entreprises peuvent exploiter tout le potentiel de leurs données, grâce à des performances, une interopérabilité et une facilité d’utilisation optimales. Le format de table Iceberg offre des avantages uniques par rapport aux autres alternatives open source, en fournissant une solution indifférente au moteur et au format de fichier avec un projet open source transparent hautement collaboratif. Découvrons les avantages liés à l’utilisation d’un format de table ouvert pour analyser de vastes jeux de données, ainsi que les raisons pour lesquelles le format Iceberg s’est rapidement imposé comme l’un des formats de table open source les plus populaires.
Comment les formats de table simplifient les data lakes
Un data lake est idéal pour stocker d’énormes quantités de données structurées, semi-structurées et non structurées dans des formats de fichier natifs. Il offre aux entreprises une solution complète pour explorer, affiner et analyser des pétaoctets d’informations arrivant en continu de sources de données multiples.
Cependant, les fichiers individuels contenus dans un data lake ne comportent pas suffisamment d’informations pour permettre aux moteurs de requêtes et aux autres applications d’exécuter efficacement des tâches de nettoyage, de Time Travel, d’évolution schématique, etc. En conséquence, la réalisation de ces tâches de gestion s’avère difficile et chronophage. Les formats de table répondent à ces problèmes en fournissant des métadonnées qui rendent possibles des capacités et des fonctionnalités similaires à celles offertes par des tables SQL dans une base de données relationnelle classique. En effet, ces formats définissent explicitement une table, son schéma, son historique et chaque fichier composant une table. En outre, les formats de table comme Iceberg favorisent la conformité ACID, permettant ainsi à de multiples applications de travailler en toute sécurité et simultanément sur les mêmes données.
Qu’est-ce qu’Apache Iceberg ?
Iceberg est un format de table open source développé à l’origine par Netflix pour relever différents défis que cette entreprise rencontrait dans le cadre du projet Hive Hadoop d’Apache. Après son développement initial en 2018, Netflix a fait don d’Iceberg à l’Apache Software Foundation sous la forme d’un projet complètement open source à gestion ouverte. Celui-ci comble nombre des lacunes de son prédécesseur, et est donc rapidement devenu l’un des formats de table open source les plus populaires.
Les avantages d’Apache Iceberg
Le format de table Iceberg offre de nombreuses fonctionnalités contribuant à soutenir votre architecture de data lake.
- SQL expressif : Iceberg prend entièrement en charge des commandes SQL flexibles. Cela permet d’effectuer des tâches telles que la mise à jour de lignes existantes, la fusion de nouvelles données ou encore les suppressions ciblées. Le format Iceberg peut être utilisé pour réécrire des fichiers de données afin d’en améliorer la lecture et exploiter des deltas de suppression pour accélérer les mises à jour.
- Évolution schématique : Iceberg prend entièrement en charge l’évolution schématique. Les mises à jour de schéma sur des Iceberg Tables modifient uniquement les métadonnées, les fichiers de données eux-mêmes restant intacts. Les modifications d’évolution schématique incluent les ajouts, les suppressions, le renommage, la réorganisation et les promotions de type.
- Évolution des partitions : le partitionnement divise de grandes tables en plus petites en regroupant des lignes similaires, ce qui accélère les délais de lecture et de chargement pour les requêtes qui n’ont besoin d’accéder qu’à une partie des données. Une spécification de partition peut évoluer sans modification des données écrites auparavant avec une spécification antérieure. Les métadonnées associées à chaque version de partition sont stockées séparément.
- Time Travel et restauration : la fonctionnalité Time Travel d’Iceberg rend possible l’exécution de requêtes reproductibles sur le même aperçu de table et permet aux utilisateurs d’inspecter les modifications passées. Par ailleurs, la capacité de restauration permet de revenir facilement sur les erreurs en rétablissant l’état précédent des tables.
- Constance transactionnelle : les données stockées dans un data lake ou une architecture de data mesh sont disponibles simultanément pour différentes applications indépendantes au sein d’une entreprise. S’il s’agit d’un avantage certain, cette disponibilité peut également présenter des risques non négligeables, en particulier si plusieurs utilisateurs travaillent sur les mêmes données en même temps. C’est pourquoi Iceberg permet des transactions ACID à grande échelle, afin que deux personnes puissent travailler simultanément. La prise en charge de ces transactions ACID contribue à éviter que les lecteurs ne soient affectés par des modifications partielles ou non soumises. Lorsqu’une modification est soumise, Iceberg crée une nouvelle version immuable des fichiers de données et des métadonnées de la table.
- Requêtes plus rapides : le format Iceberg est conçu pour être utilisé avec de très vastes jeux de données analytiques. Il offre de nombreuses fonctionnalités destinées à accroître l’efficacité et la vitesse des requêtes, notamment avec une planification rapide des analyses, un nettoyage des fichiers de métadonnées qui ne sont pas nécessaires, ou encore la possibilité d’exclure des fichiers de données qui ne contiennent pas de données pertinentes.
- Communauté dynamique de contributeurs et d’utilisateurs actifs d’Apache ORC : Iceberg est l’un des projets phares de l’Apache Software Foundation. Il prend en charge plusieurs moteurs de traitement et formats de fichiers, notamment Apache Parquet, Apache Avro et Apache ORC, ce qui a attiré un groupe divers d’utilisateurs commerciaux talentueux, désireux d’apporter leur contribution à son succès continu.