Les formats de table comme Apache Iceberg contribuent à faire des data lakes et des stratégies de data mesh des solutions rapides et efficaces pour rechercher 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. Dans cet article, nous abordons les avantages liés à l’utilisation d’un format de table ouvert pour procéder à l’analyse de vastes ensembles 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 RATIONALISENT LES DATA LAKES
Un data lake est idéal pour stocker d’énormes quantités de donné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ête 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ésolvent 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 garantissent 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, devenant donc rapidement l’un des formats de table open source les plus populaires.
AVANTAGES DU FORMAT DE TABLE 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 abandons, 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. Grâce à la prise en charge de ces transactions ACID, les lecteurs ne sont pas affectés par les 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 ensembles 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.
Une communauté dynamique de contributeurs et d’utilisateurs actifs
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, qui a attiré un groupe divers d’utilisateurs commerciaux talentueux, désireux d’apporter leur contribution à son succès continu.
APACHE ICEBERG ET SNOWFLAKE
Le Data Cloud Snowflake facilite l’exécution de workloads de Big Data en utilisant de nombreux formats de fichiers, comme Parquet, Avro, ORC, JSON ou encore XML. Si le format de table entièrement géré interne à Snowflake simplifie considérablement la maintenance du stockage, notamment le chiffrement, la constance transactionnelle, la gestion des versions, le Fail-Safe ou encore le Time Travel, certaines entreprises soumises à des contraintes réglementaires ou autres peuvent ne pas pouvoir stocker toutes leurs données dans Snowflake ou préférer en stocker en externe dans des formats ouverts. Le format Apache Iceberg est actuellement pris en charge en public preview par le Data Cloud Snowflake avec les Iceberg Tables. Les Iceberg Tables associent les performances et la sémantique de requête bien connue des tables Snowflake avec un stockage dans le cloud géré par le client.
Ainsi, les utilisateurs de Snowflake esquivent les barrières courantes qui empêchent d’exploiter toute la valeur de leurs données. Grâce à Snowflake, il est possible d’éliminer les données silotées, de partager en toute sécurité des ensembles de données complexes en interne et avec des partenaires de données extérieurs, et d’exécuter rapidement et efficacement des tâches d’analyse à grande échelle sur des ensembles de données massifs.
Découvrez vous-même les capacités de Snowflake. Inscrivez-vous pour un essai gratuit.