Entrepôts, lacs et maisons de lac —

Dans le paysage dynamique actuel de la gestion des données, la terminologie et les concepts liés au stockage et au traitement des données sont devenus plus complexes. Les entreprises sont confrontées à un défi de taille pour gérer efficacement l’afflux de données provenant de diverses sources. Dans cet article, mon objectif est de découvrir différentes approches de la gestion des données, en proposant des exemples d’outils pour chaque concept et en fournissant une feuille de route du paysage moderne de la gestion des données.
Base de données : La Fondation
Les bases de données constituent depuis longtemps la pierre angulaire de la gestion des données, fournissant des référentiels structurés pour un stockage, une organisation et une récupération efficaces des données. Ils peuvent être globalement classés en bases de données relationnelles et NoSQL bases de données, chacune adaptée à des exigences de données et à des cas d’utilisation spécifiques. Les solutions SQL impliquent généralement des schémas normalisés et répondent aux cas d’utilisation OLTP, tandis que certaines bases de données NoSQL excellent avec les données dénormalisées.
Les principales fonctionnalités des bases de données incluent :
- Stockage de données structuré. Les bases de données excellent dans la gestion des données structurées, garantissant l’intégrité des données grâce à des schémas prédéfinis.
- Requêtes efficaces au niveau des lignes. Les bases de données sont optimisées pour les requêtes de lignes, et lorsque la requête est « correcte », la base de données peut récupérer un ou plusieurs enregistrements très rapidement en utilisant des index.
- Suppression et mises à jour simples. Les bases de données gèrent efficacement la mise à jour ou la suppression d’une seule ligne.
Bien que les bases de données soient robustes pour gérer des données structurées, elles peuvent être confrontées à des limites avec des données non structurées ou semi-structurées et ne sont pas bien adaptées aux requêtes analytiques qui impliquent la lecture de millions ou de milliards de lignes à la fois. Cette limitation a stimulé le développement de solutions plus spécialisées telles que les entrepôts de données et les lacs de données, que nous explorerons dans les sections suivantes.
Pour les options SQL classiques, PostgreSQL et MySQL sont remarquables, et du côté NoSQL, les exemples incluent MongoDB et Cassandre. Le terme « NoSQL » lui-même est large et englobe des bases de données destinées à divers cas d’utilisation.
Entrepôt de données : informations structurées
Les entrepôts de données constituent la base de la gestion des données, servant de référentiels structurés adaptés au stockage, à la gestion et à l’analyse des données structurées. Ils excellent en fournissant des performances robustes pour les requêtes analytiques. Une caractéristique déterminante des entrepôts de données est leur approche de schéma sur écriture, dans laquelle les données sont soigneusement structurées et transformées avant d’être chargées dans l’entrepôt.
Les principales fonctionnalités des entrepôts de données comprennent :
- Données structurées. Les entrepôts de données conviennent mieux aux données structurées, telles que les enregistrements de ventes, les données financières et les informations client.
- Schéma sur écriture. Les données sont soigneusement structurées et transformées avant d’être chargées dans l’entrepôt. Cela garantit la qualité et la cohérence des données, mais oblige également les développeurs à écrire du code lors de l’intégration d’une nouvelle source de données ou lorsqu’une source existante modifie sa sortie.
- Optimisé pour l’analyse. Les entrepôts de données sont conçus pour des performances de requête rapides, ce qui les rend idéaux pour la business intelligence et le reporting.
Malgré leurs atouts, les entrepôts de données ont des limites dans la gestion des données non structurées ou semi-structurées et dans le traitement des données en temps réel.
Quelques exemples notables incluent Snowflake, Amazon Redshift et Apache Hive.
Data Lake : un flot de possibilités
Alors que les organisations sont aux prises avec des volumes plus importants et divers types de données provenant de sources multiples, les lacs de données sont apparus comme une solution complémentaire. UN lac de données est un référentiel de stockage capable de contenir de grandes quantités de données brutes dans leur format natif, qu’elles soient structurées, semi-structurées ou non structurées.
Les principales fonctionnalités des lacs de données incluent :
- Stockage des données brutes. Les lacs de données stockent généralement les données sous leur forme brute, ce qui les rend adaptés à un large éventail de types de données. Il peut s’agir à la fois de tables exportées à partir de bases de données relationnelles, de journaux en texte brut collectés à partir de plusieurs systèmes et même de données binaires telles que des images.
- Schéma à la lecture. Les données sont structurées et transformées lors de leur lecture, ce qui permet une flexibilité dans l’exploration et l’analyse des données.
- Évolutivité. Les lacs de données peuvent très facilement évoluer horizontalement pour s’adapter à des volumes de données presque arbitraires.
Même si les lacs de données excellent dans le stockage du Big Data, ils peuvent devenir lourds et se transformer en de fameux « marécages de données » sans une gouvernance et un catalogage des données appropriés. La définition typique d’un lac de données n’inclut pas les utilitaires de gestion des données, de gouvernance ou d’interrogation. Certaines entreprises ont résolu ce problème en introduisant le concept de « data lakehouse » pour améliorer ces fonctionnalités.
Data Lakehouse : le meilleur des deux mondes
Lacs de données marque une innovation récente dans la gestion des données, visant à combler le fossé entre la polyvalence des lacs de données et les capacités de traitement structuré des entrepôts de données. Ils unissent les deux mondes en fournissant une infrastructure de stockage unifiée et organisée pour les données structurées et semi-structurées tout en prenant en charge un traitement analytique efficace. Les Lakehouses permettent des analyses et des requêtes traditionnelles de type « entrepôt », construites sur des lacs de données.
Les principales fonctionnalités des data lakehouses incluent :
- Toujours évolutif. Comme les cabanes au bord des lacs sont construites au-dessus des lacs, elles permettent toujours une grande évolutivité et le stockage des données dans différents formats.
- Evolution du schéma. Ils permettent des schémas évolutifs, de sorte que les données peuvent être ingérées sous leur forme brute et structurées selon les besoins.
- Prêt pour l’analyse. Les data lakehouses fournissent des fonctionnalités permettant d’effectuer des requêtes et d’indexer des données, à l’instar des entrepôts de données.
Des exemples populaires de systèmes de data lakehouse incluent Delta Lake (par Databricks), une couche de stockage open source qui fournit des transactions ACID et l’application de schémas pour les lacs de données, et Iceberg, un projet open source axé sur un format de table efficace et transactionnel pour les lacs de données. , offrant la même simplicité et la même fiabilité que les entrepôts de données.
Les data lakehouses gagnent du terrain alors que les organisations cherchent à rationaliser leurs architectures de données, à réduire les silos de données et à permettre des analyses en temps réel tout en maintenant la gouvernance des données. Ils représentent une évolution prometteuse dans le paysage en constante évolution du stockage et du traitement des données, répondant aux défis posés par la nature diversifiée et dynamique des données modernes.
Data Mesh : les données en tant que produit
La notion de maillage de données propose une nouvelle perspective sur les données, en les présentant comme un produit géré par des équipes dédiées, responsables de leur qualité, de leur disponibilité, etc. Cette approche orientée produit peut prendre diverses formes, depuis des ensembles de données organisés jusqu’aux API, et les unités commerciales de l’entreprise peuvent ensuite accéder et utiliser indépendamment ces produits de données.
Le maillage de données représente un changement de paradigme dans l’architecture des données, répondant aux défis découlant de la complexité et de l’échelle croissantes des données dans les organisations. Il introduit une approche décentralisée de la gestion des données, s’écartant du modèle conventionnel d’entrepôt de données centralisé.
Les principes clés du maillage de données incluent :
- Propriété orientée domaine. Les données sont détenues et gérées par des équipes interfonctionnelles de domaine, qui sont responsables de la qualité, de la gouvernance et de l’accès aux données.
- Les données en tant que produit. Les données sont traitées comme un produit, avec une propriété, une documentation et des accords de niveau de service (SLA) clairs pour les consommateurs de données.
- Plateforme de données en libre-service. Étant donné que les équipes sont chargées de fournir l’accès à leurs données, cela ne signifie pas que les ingénieurs de données ne sont pas nécessaires. Ils doivent créer une plate-forme qui permettrait aux équipes de partager et de découvrir facilement les données dont elles ont besoin.
- Calcul fédéré. Le traitement et l’analyse des données peuvent désormais être effectués à proximité de l’endroit où résident les données, réduisant ainsi le mouvement des données et améliorant les performances.
Même si le maillage de données attire de plus en plus l’attention dans la communauté de la gestion des données en raison de sa capacité à relever les défis de décentralisation et de démocratisation dans les grandes organisations, il ne convient peut-être pas à tout le monde. Les petites entreprises pourraient trouver plus pratique d’opter pour une solution de stockage dédiée, plus facile à configurer et à gérer.
Combiner les approches
Même si j’ai tenté de tracer une sorte de « chronologie » avec l’émergence de nouveaux outils et concepts, il est crucial de noter que les anciennes approches ne sont ni obsolètes ni remplacées. Les organisations adoptent une combinaison d’approches, tirant parti des atouts de diverses technologies tout en atténuant les inconvénients potentiels.
Un aspect qui n’est pas abordé ici est l’utilisation croissante des outils d’apprentissage automatique (ML) dans la gestion des données. Ces outils automatisent des tâches telles que le nettoyage des données, la surveillance de la qualité, la détection des anomalies et l’analyse prédictive. Cette tendance améliore la valeur et l’exploitabilité des données en introduisant une automatisation intelligente dans le paysage de la gestion des données.
Source link