Nous savons que la gestion des données d’aujourd’hui est en train de changer complètement. Pendant des décennies, les entreprises se sont appuyées sur des entrepôts de données, qui stockaient les informations de manière appropriée. Ils sont structurés, régis, et permettent d’extraire rapidement des informations, bien que coûteux et rigides par nature. En revanche, les data lakes sont plus efficaces et permettent le stockage d’énormes quantités de données indépendamment de leur structure. Cependant, l’émergence de l’architecture du data lakehouse combine les avantages des data lakes et des entrepôts de données. Les modèles de lakehouse permettent de conserver la flexibilité offerte par les data lakes tout en intégrant la fiabilité, la gouvernance et les performances d’un entrepôt de données.
Le format de table open source le plus remarquable créé pour l’analyse de données à grande échelle est Apache Iceberg. Iceberg est à l’avant-garde de cette transformation et améliore la valeur des données dans l’architecture du lakehouse. De plus, Iceberg propose des solutions à de nombreux problèmes auxquels les data lakes sont confrontés, notamment l’évolution du schéma, les transactions ACID, la cohérence des données et les performances des requêtes.
Cet article de blog est le premier d’une série en trois parties explorant Apache Iceberg et son rôle dans les architectures de données modernes. Dans cet article, l’accent sera mis sur les sujets suivants:
- L’évolution des entrepôts de données vers les data lakes
- Les défis associés aux approches traditionnelles
- Comment Apache Iceberg répond à ces limitations
Les articles suivants de cette série approfondiront l’architecture d’Iceberg et exploreront le fonctionnement des requêtes au sein des tables Iceberg.
Résumé bref : L’évolution des lacs de données par rapport aux entrepôts de données
Depuis de nombreuses années, les entreprises dépendent des entrepôts de données, qui servent de fondation centrale pour l’analyse. Un entrepôt de données agit comme un répertoire centralisé destiné à capturer des données structurées provenant de diverses sources pour produire des rapports et des analyses de manière efficace. Aujourd’hui, les entrepôts de données facilitent une performance de requête rapide ainsi que des mécanismes de gouvernance robustes, ce qui leur permet d’être fiables et bien structurés.
Cependant, les organisations ont rencontré de nouveaux problèmes à mesure que le volume de données augmentait.
- Augmentation des coûts de stockage en raison des frais élevés de calcul et de stockage
- Imposition de schémas rigides, ce qui rendait l’intégration de données semi-structurées ou non structurées difficile
- Le support pour les charges de travail d’IA et d’apprentissage automatique était limité
En solution, les entreprises ont commencé à utiliser des lacs de données. Cela a permis aux entreprises de conserver des données brutes, des données structurées et des données non structurées au sein d’un stockage bon marché tel qu’Amazon S3, Azure Data Lake Storage, Google Cloud Storage et Hadoop Distributed File System.
Les avantages des lacs de données comprenaient les facteurs suivants :
- Réduction des coûts de stockage dans certains environnements cloud
- Utilisation de nouveaux formats de données tels que des données non structurées, semi-structurées et même structurées
- Utilisation améliorée des applications d’IA et d’apprentissage automatique
Même avec ces avantages, les lacs de données ont présenté de nouveaux problèmes tels que :
- L’absence de gouvernance et de schéma, qui a provoqué des ensembles de données incohérents.
- L’utilisation inefficace de l’indexation et des analyses de table complètes a ralenti les performances des requêtes.
- L’absence de transactions ACID a rendu l’assurance de l’intégrité des données dans des environnements multi-utilisateurs difficile.
L’émergence du Data Lakehouse
Un data lakehouse fusionne tous les avantages de scalabilité et économiques d’un data lake avec les fonctionnalités de productivité, de fiabilité et transactionnelles d’un data warehouse. Il s’agit d’un paradigme de conception moderne.
Les principaux avantages d’un data lakehouse comprennent :
- L’adaptation des fonctions de stockage et de traitement à un prix inférieur
- Un contrôle efficace des données grâce aux transactions ACID
- Modification du schéma sans affecter les requêtes existantes – Évolution du schéma
- Récupération des versions précédentes des tables grâce aux capacités de voyage dans le temps
L’introduction de ces capacités a conduit au développement de formats de table modernes tels que Delta Lake, Apache Hudi et Apache Iceberg. Ces structures ont facilité le fonctionnement des data lakes comme des data warehouses tout en conservant la liberté de rester flexibles et non structurés grâce à l’introduction de couches de métadonnées structurées. Parmi ces formats de table, Apache Iceberg s’est imposé comme un choix de premier plan, offrant une solution robuste pour les organisations souhaitant passer à des architectures de data lakehouse.
Apache Iceberg : Un élément clé pour les Data Lakehouses
Qu’est-ce qu’un format de table ?
L’utilisation d’un format de tableau permet de gérer efficacement de grands ensembles d’informations stockées dans un lac de données. Il encapsule quelques fonctions, notamment :
- Structuration des données en tables pour une gestion et des requêtes efficaces.
- Élimination et mise à jour efficaces des données, ainsi que modification des schémas.
- Amélioration des performances des temps de réponse aux requêtes en modifiant les métadonnées.
Tout comme d’autres formats de tableau traditionnels tels que Hive, il y avait une dépendance au stockage basé sur des répertoires, ce qui signifie que les tables étaient construites à partir du contenu de certains répertoires de fichiers. Cependant, cette méthode a créé un goulot d’étranglement en termes de performances car les moteurs de requête devaient filtrer à travers l’ensemble des répertoires avant d’exécuter une requête.
L’évolution de Hive à Iceberg
Le format de table Hive visait à résoudre le problème de la structuration des lacs de données au début des années. Le but était de permettre aux utilisateurs d’organiser des ensembles de données en tables avec des requêtes telles que celles utilisées en SQL par Apache Hive et Presto. Cependant, il existe des inconvénients significatifs au format Hive :
- Incohérences dues aux écritures concurrentes de différentes sources en raison du manque de transactions ACID.
- Opérations coûteuses de listage de fichiers dues à une gestion inefficace des métadonnées.
- Requêtes lentes causées par les défis d’optimisation manuelle de la partition.
Comment Apache Iceberg résout ces défis
Apache Iceberg est un format de table moderne qui élimine les problèmes rencontrés avec Hive tout en offrant des transactions ACID, une évolution de schéma et des performances rapides sur les requêtes avec les data lakes.
Parmi les avantages importants d’Apache Iceberg, on trouve :
- Des transactions ACID garantissant des mises à jour de données fiables et une cohérence.
- La capacité de remonter dans le temps et de consulter les instantanés des données historiques.
- L’évolution de schéma permettant d’ajouter, de renommer ou de supprimer des colonnes sans casser les requêtes existantes.
- L’évolution de partition qui optimise automatiquement les stratégies de partitionnement.
- La réduction des analyses de fichiers inutiles permet une exécution plus rapide des requêtes grâce à une gestion efficace des métadonnées.
Remarques finales
La gestion des données a radicalement changé avec l’émergence d’Apache Iceberg. Il permet aux entreprises en transition vers une approche de data lakehouse de gérer leurs informations de manière rentable et hautement évolutive sans sacrifier les performances. Il est clair que l’analyse des données a été transformée avec l’invention d’Apache Iceberg, et son utilisation est en constante augmentation. Restez à l’affût du dernier article de cette série. Pour les deux prochains articles de blog, l’accent sera mis sur :
- Partie 2 : L’architecture d’Apache Iceberg, comprenant les couches de données, de métadonnées et de catalogue.
- Partie 3 : Les mécanismes des requêtes dans Iceberg, incluant la lecture et l’écriture, le voyage dans le temps et les méthodes d’optimisation des requêtes.
Source:
https://dzone.com/articles/the-future-of-data-lakehouses-apache-iceberg