Qu'est-ce qu'un data lake ?
Le volume des données numériques double chaque année et devrait atteindre 44 milliards de giga-octets (Go) d'ici à 2020. La plupart de ces données (jusqu'à 90 %) sont non structurées ou semi-structurées, ce qui présente un double défi : trouver une solution efficace pour stocker toutes ces données et disposer en permanence des capacités nécessaires à leur traitement rapide. Le data lake est capable de relever ces deux défis...
Pouvez-vous présenter le data lake ?
Un data lake est un emplacement de stockage centralisé qui contient des big data sous un format brut et granulaire provenant d'un grand nombre de sources. Il peut stocker des données structurées, semi-structurées ou non structurées, ce qui signifie que les données peuvent être conservées sous des formats plus souples pour une utilisation ultérieure. Lorsqu'il importe les données, le data lake les associe à des identificateurs et des balises de métadonnées pour une récupération plus rapide.
Imaginé par James Dixon, responsable des technologies (CTO) chez Pentaho, le terme « data lake » sous-entend que les données sont stockées en vrac et sous forme brute par contraste avec les données propres et traitées qui sont stockées dans les data warehouses traditionnels.
En général, les data lakes sont configurés sur un cluster de serveurs standard peu coûteux et évolutifs. Ce type de configuration permet de stocker des données dans le data lake (au cas où elles seraient nécessaires plus tard) sans avoir à se préoccuper de la capacité de stockage disponible. Les clusters peuvent être déployés sur site ou dans le cloud.
Les data lakes ne doivent pas être confondus avec les data warehouses. En effet, ils présentent des différences notoires qui peuvent constituer des avantages non négligeables pour certaines entreprises, en particulier à un moment où les big data et les processus des big data sont en train de migrer des solutions sur site vers le cloud.
Avantages du data lake
Un data lake fonctionne selon le principe du « schéma en lecture », ce qui signifie qu'il n'existe pas de schéma prédéfini dans lequel les données doivent être importées avant leur stockage. C'est seulement lorsque les données sont lues pour leur traitement qu'elles sont analysées et adaptées dans un schéma si nécessaire. Cette fonctionnalité permet d'économiser le temps (généralement très long) nécessaire à la définition d'un schéma. Elle permet également de stocker les données telles qu'elles se présentent, sous n'importe quel format.
Avec les data lakes, les data scientists peuvent accéder aux données, les préparer et les analyser plus rapidement et avec une plus grande précision. Pour les experts en analyse, ce vaste pool de données disponibles dans des formats non traditionnels leur donne la possibilité d'accéder aux données pour différents cas d'usage tels que l'analyse des sentiments des consommateurs ou la détection des fraudes.
Data lake vs data warehouse
Un data lake et un data warehouse sont similaires dans leur objet de base et leur objectif, ce qui fait qu'ils sont souvent confondus :
- Il s'agit dans les deux cas d'un référentiel de stockage qui consolide les différents gisements de données d'une entreprise.
- Dans les deux cas, l'objectif consiste à créer un gisement de données centralisé prêt à alimenter différentes applications.
Toutefois, les distinctions fondamentales qui séparent ces deux types de stockage leur permettent de s’adapter à des scénarios différents.
- Schéma en lecture vs schéma en écriture – Le schéma d'un data warehouse est défini et structuré avant le stockage (il est appliqué pendant l'écriture des données). Par contraste, un data lake n'applique pas de schéma prédéfini, ce qui lui permet de stocker les données dans leur format natif. Autrement dit, dans un data warehouse, l'essentiel de la préparation des données a généralement lieu avant le traitement ; dans un data lake, la préparation des données se produit plus tard (seulement lorsque les données sont réellement utilisées).
- Accessibilité complexe ou simple – Comme les données ne sont pas organisées sous forme simplifiée avant leur stockage, un data lake a souvent besoin d'un expert ayant une compréhension approfondie des différents types de données existants (et de leurs relations) pour pouvoir les lire et les analyser. En revanche, un data warehouse est facilement accessible aux utilisateurs techniques et non techniques grâce à son schéma clairement défini et documenté. Même les membres qui viennent d'intégrer l'équipe peuvent commencer à utiliser un data warehouse très rapidement.
- Flexibilité vs rigidité – Avec un data warehouse, vous devez prévoir non seulement du temps pour définir le schéma initial, mais aussi des ressources considérables pour modifier ce schéma à l'avenir chaque fois que les besoins de l'entreprise évoluent. De leur côté, les data lakes s'adaptent très facilement aux changements. Enfin, lorsque les besoins en capacité de stockage augmentent, il est plus facile de faire évoluer les serveurs d'un cluster de data lake.
Data lake sur site ou dans le cloud ?
En général, les data lakes sont implémentés sur site, avec stockage sur Hadoop Distributed File System (HDFS) et traitement via YARN dans des clusters Hadoop. Hadoop est une solution évolutive, peu coûteuse et qui garantit d'excellentes performances grâce à son avantage inhérent de « localité » des données (les données et le traitement résident dans le même emplacement).
Toutefois, la création d'une infrastructure sur site présente certains défis :
- Espace – Les serveurs puissants occupent beaucoup d'espace, ce qui se traduit par des coûts plus élevés.
- Installation et configuration – Les étapes d’approvisionnement du matériel et d'installation/configuration d’un data center sont généralement complexes et peuvent prendre plusieurs semaines ou plusieurs mois avant le stade opérationnel.
- Évolutivité – S'il est nécessaire d'augmenter la capacité de stockage, l'opération demande du temps et des efforts en raison de l'augmentation de l'espace requis et de la nécessité d'obtenir l'approbation des dépenses par les cadres décideurs.
- Évaluation des besoins – L'évolutivité n'étant pas plus facile sur site, il est très important d'estimer correctement les besoins matériels au début du projet. Et comme les données augmentent chaque jour mais avec des volumes variables, ce type d'estimation est difficile à réaliser.
- Coût – Les estimations de coût sont généralement plus élevées sur site que dans le cloud.
D'un autre côté, un data lake en cloud peut vous aider à relever ces défis. Un data lake en cloud présente les avantages suivants :
- Plus facile et plus rapide à mettre en place. Plutôt qu'imposer une approche de transformation radicale, le cloud permet aux utilisateurs de procéder par incréments.
- Déploiement peu coûteux avec modèle de facturation à l'utilisation.
- Évolution plus facile en cas d'augmentation des besoins, ce qui élimine le double stress de l'évaluation des besoins et de l'approbation des dépenses.
La réduction de l'espace nécessaire s'ajoute également aux avantages en termes de coûts.
Découvrez comment BeachBody a amélioré l'évolutivité de son architecture de données et de son personnel grâce à un data lake en cloud :
Défis spécifiques au data lake en cloud
L'utilisation d'un data lake en cloud présente également ses propres défis. Certaines entreprises préfèrent ne pas stocker leurs informations confidentielles ou sensibles dans le cloud en raison des risques de sécurité de cette solution. Bien que la plupart des fournisseurs de data lakes en cloud se portent garants de la sécurité et aient augmenté leurs niveaux de protection au fil des ans, l'incertitude en matière de vols de données demeure.
Un autre défi pratique est que certaines entreprises ont déjà déployé un data warehouse sur site pour stocker leurs données structurées. Elles peuvent migrer ces données vers le cloud, ou explorer une solution hybride avec un moteur de traitement commun capable d'accéder à la fois aux données structurées du data warehouse sur site et aux données non structurées du cloud.
La gouvernance des données peut être une autre préoccupation. Un data lake ne doit en aucun cas devenir un marécage de données difficile à explorer. La plate-forme Talend garantit que les data lakes restent propres et accessibles.
Architecture du data lake : Hadoop, AWS et Azure
Il est important de se rappeler qu'un data lake est articulé autour de deux composantes : le stockage et le traitement. Le stockage et le traitement peuvent être effectués sur site ou dans le cloud, d'où de multiples combinaisons possibles lors de la conception d'une architecture de data lake.
Les entreprises peuvent choisir de concentrer leurs ressources sur site, de migrer l'ensemble de leur architecture dans le cloud, d'envisager plusieurs clouds (multi-cloud), ou d'adopter une solution hybride associant plusieurs de ces options.
Il n'existe pas de solution unique ou standard, mais selon les besoins de l'entreprise, il existe généralement plusieurs options adaptées.
Data lakes sur Hadoop
Hadoop est très souvent associé aux data lakes (et inversement).
Un cluster Hadoop de serveurs distribués permet d'apporter une solution pour le stockage des big data. HDFS (Hadoop Distributed File System) – Couche située au cœur de Hadoop et qui assure le stockage et la réplication des données sur plusieurs serveurs. YARN – Acronyme de « Yet Another Resource Negotiator », mais il s'agit plus simplement d'un module qui gère les ressources et décide comment planifier celles-ci sur chaque nœud. MapReduce – Modèle de programmation utilisé par Hadoop pour diviser les données en sous-ensembles plus petits et les traiter dans son cluster de serveurs.
Outre ces trois éléments de base, l'écosystème Hadoop propose d'autres outils tels que Hive, Pig, Flume, Sqoop et Kafka qui facilitent l'importation, la préparation et l'extraction des données. Les data lakes Hadoop peuvent être configurés sur site ou dans le cloud à l'aide de plates-formes d'entreprise telles que Cloudera et HortonWorks. D'autres data lakes en cloud (par exemple, Microsoft Azure) enveloppent les fonctionnalités autour de l'architecture Hadoop.
Points forts :
- Déjà connu des spécialistes en technologie
- Moins cher parce que open source
- Nombreux outils ETL disponibles pour l'intégration avec Hadoop
- Évolution facile
- La « localité » des données (données et traitement dans le même emplacement) accélère le traitement
Data lakes sur Amazon AWS
Amazon AWS propose une gamme exhaustive de produits pour sa solution data lake.
Amazon Simple Storage Service (Amazon S3) est au centre de cette solution et assure les fonctionnalités de stockage. Kinesis Streams, Kinesis Firehose, Snowball et Direct Connect sont des outils d'importation de données qui permettent de transférer des volumes considérables de données vers S3. AWS propose également un service de migration de bases de données qui facilite la migration des données du site vers le cloud.
En plus de S3, AWS propose DynamoDB (base de données No SQL à faible latence), et Elastic Search (service d'interrogation du data lake). Les pools Cognito (Cognito User Pools) définissent l'authentification des utilisateurs et les conditions d'accès au data lake. Des services tels que Security Token Service, Key Management Service, CloudWatch et CloudTrail assurent la sécurité des données. Pour le traitement et l'analytique, AWS propose des outils tels que RedShift, QuickSight, EMR et AWS Machine Learning.
Le nombre impressionnant de produits proposés par AWS exige un temps de découverte et d'apprentissage conséquent. Les fonctionnalités complètes de la solution AWS peuvent également être utilisées dans les applications de Business Intelligence.
Points forts :
- Gamme de produits exhaustive et riche en fonctionnalités
- Possibilité de sélectionner des produits en fonction de vos besoins spécifiques
- Coûts réduits
- Normes rigoureuses en matière de sécurité et conformité
- La séparation du traitement et du stockage permet de faire évoluer ces opérations en fonction de leurs besoins spécifiques
- La collaboration avec des sociétés APN (AWS Partner Network) telles que Talend assure l'intégration transparente des services AWS.
Data lake sur Microsoft Azure
Azure est un data lake proposé par Microsoft. Il se compose d'une couche de stockage (Azure Data Lake Store, ADLS) et d'une couche d'analyse constituée de deux éléments : Azure Data Lake Analytics et HDInsight.
ADLS est construit sur le standard HDFS et offre une capacité de stockage illimitée. Il peut stocker plusieurs milliards de fichiers dans un seul fichier de plus d'un péta-octet (Po). ADLS permet de stocker les données sous n'importe quel format ; cette couche est sécurisée et évolutive. ADLS supporte toute application au standard HDFS. Cette configuration facilite la migration des données existantes et le plug-and-play avec d'autres moteurs de traitement.
HDInsight est un service d'analyse de data lake en cloud. Construit sur la couche YARN de Hadoop, HDInsight permet d'accéder aux données à l'aide d'outils tels que Spark, Hive, Kafka et Storm. HDInsight assure une sécurité performante grâce à son intégration avec Azure Active Directory.
Azure Data Lake Analytics est également un service d'analyse, mais son approche est différente. Plutôt que d'utiliser un outil tel que Hive, cette solution analytique accède aux données à l'aide du langage U-SQL (combinaison de SQL et de C#). Cette solution est idéale pour le traitement par lots des big data, car elle accélère ce traitement pour un coût plus faible (vous payez uniquement pour les jobs utilisés).
Points forts :
- Le stockage et le traitement dans le cloud simplifient l'administration.
- Des services analytiques performants avec des fonctionnalités puissantes
- Migration facile à partir d'un cluster Hadoop existant
- La plupart des experts en big data connaissent déjà Hadoop et ses outils : il est donc facile de trouver la main d'œuvre qualifiée requise.
- Grâce à l'intégration avec Active Directory, il n'est pas nécessaire de prévoir d'opérations distinctes pour gérer la sécurité.
Vos premiers pas avec un data lake
Avec leur capacité à gérer la vitesse et diversité des données, les data lakes, sont des solutions très prometteuses pour les utilisateurs de Business Intelligence. Aujourd'hui, il est possible de combiner les données traitées dans l'entreprise et des données subjectives disponibles sur Internet.
Il est possible d'analyser les données d'équipements spécialisés (par exemple, examens par radiographie ou IRM), en vue de déterminer les structures causales de certaines maladies. Dans les applications reposant sur l'Internet des objets (IoT), des volumes considérables de données de capteurs peuvent être traitées à des vitesses stupéfiantes. Le secteur de la grande distribution peut proposer une expérience omni-canal en utilisant les gros volumes de données décrivant leurs utilisateurs.
Les data lakes ne sont pas seulement utiles dans les applications analytiques prédictives les plus avancées, mais aussi dans les rapports organisationnels réguliers, en particulier lorsque ceux-ci font appel à différents formats de données.
Aujourd'hui, il ne s'agit plus de savoir si un data lake est nécessaire ou pas, mais d'identifier quelle solution utiliser et comment l’implémenter. Faites vos premiers pas dès aujourd'hui ! Téléchargez Talend Big Data Integration.