Data lakes

Glossaire

Tout savoir sur les data lakes

Avec l’essor du Big Data, de plus en plus d’entreprises se tournent vers les data lakes pour stocker leurs données. Qu’est-ce qu’un lac de données ? Quelle différence avec un data warehouse ? Comment réussir son déploiement ? Découvrez-le dans ce guide complet.

Data lake : définition et fonctionnement

Un data lake (ou lac de données) est un emplacement de stockage qui contient des données structurées, semi-structurées ou non structurées, provenant d’une multitude de sources.

Ainsi, il n’existe aucune organisation ou hiérarchie entre les données : chacune d’entre elles est conservée sous sa forme la plus brute et ne subit pas de traitement ou d’analyse. Un data lake supporte d’ailleurs tous les types de datas : données structurées issues de bases de données relationnelles, CSV, logs, XML, JSON, e-mails, PDF…

L’architecture d’un data lake est dite « plate », ce qui signifie que les données ne sont pas entreposées dans des fichiers ou des dossiers. À la place, un identifiant unique est attribué à chaque élément de data, qui est également taggé avec des balises de métadonnées.

Par la suite, le lac de données est interrogé pour obtenir une sélection de données pertinentes. Ce sous-ensemble peut alors être analysé pour répondre à différentes problématiques et appuyer la prise de décision, d’où l’intérêt d’un data lake en entreprise.

Dans la plupart des cas, le data lake est configuré sur un cluster de serveurs qui peut être déployé dans le cloud ou sur site. Une telle configuration permet de stocker des données sans se préoccuper de la capacité de stockage disponible, puis de les utiliser au moment opportun.

Quelle est la différence entre data warehouse et data lake ?

Le data lake et le data warehouse remplissent une fonction similaire, d’où le fait qu’ils sont parfois confondus. En effet, ce sont tous deux des espaces de stockage permettant de rassembler et de consolider les données d’une entreprise. Cette data centralisée peut ensuite être utilisée pour alimenter des applications et effectuer des analyses.

Cependant, il existe d’importantes différences entre data lake et data warehouse.

La quantité de données conservées

Un data warehouse (aussi appelé entrepôt de données) conserve uniquement les données utiles pour répondre à des questions spécifiques. De quoi simplifier la réalisation des analyses et des rapports, tout en économisant de l’espace de stockage. 

À l’inverse, un data lake permet de stocker toutes les données dont l’entreprise dispose, y compris celles qui ne sont pas utiles à l’instant T.

La nature des données stockées

Au sein d’un data warehouse, on trouve exclusivement des données traitées et structurées. Autrement dit, chaque donnée chargée dans l’entrepôt se voit attribuer une forme et une structure précise : on parle alors de « schema-on-write ».

Un data lake, quant à lui, peut contenir des données brutes, structurées, semi-structurées ou non structurées. Aucune forme stricte n’est imposée à la data lors de son ingestion : il est donc possible de charger les données dans un état brut et de les transformer ensuite pour les rendre exploitables. C’est ce que l’on appelle un modèle de données « schema-on-read ».

La flexibilité

Un data warehouse amène les données jusqu’aux utilisateurs en suivant un cheminement bien précis, selon le processus ETL (Extract Transform Load).

Mais les data lakes ont fait émerger une nouvelle approche : l’ELT (Extract Load Transform), qui consiste à charger des données brutes dans un premier temps, puis à les transformer rapidement pour les exploiter. Or, cette démarche apporte plus de flexibilité à l’organisation, car c’est l’utilisateur lui-même qui matérialise son besoin et qui extrait les informations utiles à son analyse.

En outre, le data lake s’adapte plus facilement au changement, puisque toutes les données sont stockées sous une forme brute. Les modèles, les requêtes et les applications peuvent être modifiés rapidement. L’entrepôt de données, quant à lui, demande un important travail de développement et de configuration, à tel point que le moindre changement peut nécessiter beaucoup de temps et de ressources.

L’accès aux données

Dans un data lake, les utilisateurs peuvent accéder immédiatement à tous types de données, même si elles n’ont pas été nettoyées, transformées ou structurées.

Revers de la médaille : l’analyse requiert une certaine compétence technique, car les données ne sont pas organisées de manière simplifiée avant d’être stockées. Le lac de données est donc plus adapté à des utilisateurs experts, ayant une connaissance approfondie des différents types de data et de leurs relations.

À l’inverse, le data warehouse est accessible à tous les profils, du data scientist à l’utilisateur métier. Grâce à son schéma précis et bien documenté, il permet de lire et d’analyser les données facilement, quel que soit le niveau de compétence.

Quels sont les avantages d’un data lake ?

Comme évoqué précédemment, la structuration des données au sein d’un data warehouse impose un certain formalisme pour l’utilisation des données. Si cette approche tend à simplifier l’analyse, elle a aussi l’inconvénient de supprimer certains détails.

Dans un data lake, en revanche, le modèle « schema-on-read » permet de conserver tout le potentiel des données d’origine, car elles ne sont structurées qu’au moment où elles sont utilisées. Par conséquent, les data scientists peuvent accéder instantanément à toutes les données, mais aussi les préparer et les analyser rapidement et précisément.

En outre, l’accès à une grande quantité de données, disponibles dans des formats divers et variés, permet d’exploiter la data pour de nombreux cas d’usage, allant de l’analyse des interactions clients à la détection des fraudes.

Data lake dans le cloud ou sur site : que choisir ?

Un data lake peut être déployé sur le cloud ou en mode « on-premise », chacune de ces deux options présentant ses propres avantages et inconvénients.

Data lake dans le cloud

Le cloud est une solution très intéressante pour l’implémentation d’un data lake. Facile et rapide à mettre en place, il permet une transition graduelle plutôt qu’une transformation radicale

De plus, ce type d’infrastructure est capable d’évoluer au fur et à mesure que les besoins augmentent. En termes de coûts, cette approche est aussi bien plus rentable qu’un déploiement sur site, avec un modèle de facturation à l’usage, sous forme d’abonnement.

Par ailleurs, opter pour le cloud permet de bénéficier des offres PaaS des fournisseurs comme Microsoft Azure, Amazon AWS ou Google Cloud Platform. Ces offres incluent des composants d’une grande richesse, permettant notamment de développer des applications ou des API interagissant avec la data.

Data lake sur site

Il est également possible de déployer un lac de données sur site. Le système de stockage le plus utilisé est Hadoop, un framework Java open source permettant de conserver les données sur des serveurs peu coûteux et configurés en clusters. Cette approche garantit des performances élevées, car les données sont stockées et traitées dans un même emplacement.

Cependant, la création d’une infrastructure « on-premise » présente certains défis. D’abord, les serveurs occupent un espace conséquent, ce qui se traduit par des coûts d’installation et de maintenance élevés. La mise en place et la configuration du data center sont d’ailleurs assez complexes, à tel point qu’elles peuvent prendre plusieurs semaines, voire plusieurs mois.

En outre, un data lake sur site est moins évolutif que son équivalent dans le cloud. Une hausse de la capacité de stockage implique une augmentation de l’espace requis, mais aussi un investissement financier non négligeable. Par conséquent, les besoins matériels doivent être évalués avec précision en amont du projet pour éviter d’avoir à modifier l’infrastructure par la suite.

Les pièges à éviter pour réussir la mise en place d’un data lake

Malgré ses nombreux atouts, le lac de données n’est pas une solution miracle. Mal géré, il risque de se transformer en marécage (en anglais, « data swamp« ) : un espace dans lequel l’entreprise stocke une multitude de fichiers, dans l’espoir de les exploiter un jour, mais qui finissent par tomber dans l’oubli. 

Voici les principaux pièges à éviter pour que votre data lake ne se transforme pas en cimetière de données.

Sous-estimer les compétences nécessaires

L’une des principales causes d’échec est le manque de collaborateurs qualifiés pour exploiter les données stockées dans un data lake. C’est pourquoi l’entreprise doit disposer d’ingénieurs logiciels formés à l’utilisation d’Hadoop (ou toute autre plateforme de gestion de data lake), mais aussi aux technologies comme Spark, HBase ou Kafka.

Ne pas prévoir des capacités techniques suffisantes

La complexité des solutions data lake ne doit pas être sous-estimée. Certains prérequis techniques peuvent être implémentés facilement grâce, par exemple, aux outils fournis par Hadoop. Néanmoins, l’entreprise doit s’assurer de posséder toutes les capacités nécessaires avant de démarrer l’ingestion des données.

Ne pas mettre en place une politique de gouvernance de données

La gouvernance de données (aussi appelée data governance) désigne tous les processus qui assurent la gestion des ensembles de données de l’entreprise. Concrètement, la data governance garantit que les données sont dignes de confiance et que les responsables peuvent être identifiés facilement en cas de problème. Or, la mise en place d’une politique de gouvernance des données est indispensable au succès d’un projet de data lake.

Donnant accès à une grande quantité de data dans des formats diversifiés, le data lake permet une analyse de données précise qui peut être déclinée pour de multiples usages. Il s’agit donc d’un outil précieux pour la Business Intelligence et la dataviz.

Glossaire
Derniers articles

ETL

Le processus ETL : un outil incontournable pour l’analyse de données