Huit exigences en matière de gestion des données pour le lac de données de l'entreprise

14 minutes de lecture

Les lacs de données entoureront, et dans certains cas noieront, l'entrepôt de données et nous verrons des innovations technologiques significatives, des produits de lacs de données, des méthodologies et des architectures de référence qui transformeront la promesse d'un accès plus large aux données et d'une meilleure compréhension des données en une réalité. Mais les produits et solutions de big data doivent mûrir et aller au-delà du rôle d'outils de développement destinés à des programmeurs hautement qualifiés. Le lac de données d'entreprise permettra aux organisations de suivre, de gérer et d'exploiter des données auxquelles elles n'avaient jamais eu accès auparavant. Les nouvelles stratégies de gestion des données d'entreprise conduisent déjà à des analyses plus prédictives et prescriptives qui permettent d'améliorer le service à la clientèle, de réaliser des économies et d'obtenir un avantage concurrentiel global lorsqu'elles sont correctement alignées sur les initiatives clés de l'entreprise.

Ainsi, que votre entrepôt de données d'entreprise soit sous assistance respiratoire ou qu'il passe en mode maintenance, il continuera très probablement à faire ce qu'il sait faire pour l'instant : des rapports et des analyses opérationnels et historiques (alias le rétroviseur). Si vous envisagez d'adopter une stratégie de lac de données d'entreprise pour gérer des données plus dynamiques et poly-structurées, votre stratégie d'intégration des données doit également évoluer pour répondre aux nouvelles exigences. Penser qu'il suffit d'embaucher davantage de développeurs pour écrire du code ou de s'appuyer sur les outils hérités centrés sur les lignes et les colonnes est une recette pour s'enfoncer dans un marécage de données au lieu de nager dans un lac de données.

Tout d'abord, définissons ce qu'est un lac de données.

Qu'est-ce qu'un lac de données ?

Un lac de données est un grand dépôt centralisé de données structurées et non structurées qui sont stockées dans leur format brut et natif. Les lacs de données sont conçus pour fournir un site plateforme évolutif et flexible pour le stockage et l'analyse de grandes quantités de données, et ils sont souvent utilisés par les organisations pour stocker des données provenant de diverses sources, telles que des capteurs, des flux de médias sociaux et des systèmes transactionnels. Les données d'un lac de données peuvent être traitées et analysées à l'aide d'un large éventail d'outils et de technologies, notamment des systèmes de traitement par lots, des moteurs de traitement de flux en temps réel et des moteurs de requête interactifs. L'objectif d'un lac de données est de fournir un référentiel unique et central pour toutes les données d'une organisation, où elles peuvent être facilement accessibles, interrogées et analysées pour soutenir un large éventail de cas d'utilisation.

Excellent. Maintenant que nous savons ce qu'est un lac de données, entrons dans le vif du sujet.

Voici huit exigences en matière de gestion des données d'entreprise qui doivent être satisfaites afin de tirer le meilleur parti de vos investissements dans la technologie Big Data et de vos produits de lac de données.

8 exigences en matière de gestion des données d'entreprise pour votre lac de données

1) Stockage et formats de données

L'entreposage de données traditionnel se concentre sur les bases de données relationnelles comme principal format de données et de stockage. Un concept clé du lac de données est la capacité de stocker de manière fiable une grande quantité de données. Ces volumes de données sont généralement beaucoup plus importants que ce qui peut être traité dans les bases de données relationnelles traditionnelles, ou beaucoup plus importants que ce qui peut être traité de manière rentable. À cette fin, le stockage de données sous-jacent doit être évolutif et fiable. Le système de fichiers distribués Hadoop (HDFS) et les outils de gestion de données Hadoop associés ont évolué et constituent désormais la principale technologie de stockage de données permettant la persistance fiable de données à grande échelle. Toutefois, d'autres produits de stockage et de lac de données peuvent également fournir le stockage de données pour le lac de données. Les systèmes open-source tels que Cassandra, HBase et MongoDB peuvent fournir un stockage fiable pour le lac de données. Par ailleurs, les services de stockage basés sur cloud peuvent également être utilisés comme backend de stockage de données. Ces services comprennent Amazon S3, Google Cloud Storage et Microsoft Azure Blob Store.

Contrairement aux bases de données relationnelles, le stockage des big data n'impose généralement pas de format de stockage des données. En d'autres termes, le stockage de big data prend en charge des formats de données arbitraires qui sont compris par les applications qui utilisent les données. Par exemple, les données peuvent être stockées au format CSV, RCFile, ORC ou Parquet, pour n'en citer que quelques-uns. En outre, diverses techniques de compression - telles que GZip, LZO et Snappy - peuvent être appliquées aux fichiers de données afin d'améliorer l'utilisation de l'espace et de la bande passante du réseau. Le stockage dans les lacs de données est ainsi beaucoup plus flexible. Plusieurs formats et techniques de compression peuvent être utilisés dans le même lac de données afin de répondre au mieux aux exigences spécifiques en matière de données et de requêtes.

2) Acquisition et livraison

Les lacs de données nécessitent des mécanismes d'entrée et de sortie des données du stockage dorsal plateforme. Dans les entrepôts de données traditionnels, les données sont insérées et interrogées à l'aide d'une forme de SQL et d'un pilote de base de données, éventuellement via ODBC ou JDBC. Bien qu'il existe des pilotes compatibles pour accéder aux données Hadoop, la variété des formats de données nécessite des outils plus souples pour s'adapter aux différents formats. Des outils open source tels que Sqoop et Flume fournissent des interfaces de bas niveau pour extraire des données de bases de données relationnelles et des données de journal respectivement. En outre, des programmes et des scripts MapReduce personnalisés sont actuellement utilisés pour importer des données à partir d'API et d'autres sources de données. Les outils commerciaux fournissent des connecteurs prédéfinis et une multitude de formats de données permettant de combiner les sources de données avec les référentiels de données dans le lac de données.

Compte tenu de la diversité des formats de données pour les données Hadoop, il n'existe pas encore d'outil complet de gestion des schémas. Le métastore de Hive étendu via HCatalog fournit un gestionnaire de schéma relationnel pour les données Hadoop. Cependant, tous les formats de données ne peuvent pas être décrits dans HCatalog. À ce jour, une grande partie des données Hadoop est définie à l'intérieur des applications elles-mêmes, peut-être en utilisant JSON, AVRO, RCFile ou Parquet. Tout comme pour les points de terminaison et les formats de données, les bons outils commerciaux peuvent aider à décrire les données du lac et à présenter les schémas aux utilisateurs finaux plus facilement.

3) Découverte et préparation

En raison de la flexibilité des formats de données dans les outils de gestion de données Hadoop et d'autres plateformes de stockage de lac de données, il est courant de déverser des données dans le lac avant d'en comprendre pleinement le schéma. En fait, une grande partie des données du lac peut être très peu structurée. Quoi qu'il en soit, la rentabilité des données Hadoop permet de préparer les données après leur acquisition. Il s'agit davantage d'ELT (extract, load, transform) que d'ETL (extract, transform, load) traditionnel. Cependant, il y a un moment où pour faire un travail utile avec un ensemble de données, il faut comprendre le format des données.

Dans l'écosystème open-source, la découverte et la préparation peuvent être effectuées en ligne de commande avec des langages de script, tels que Python et Pig. Enfin, les tâches MapReduce natives, Pig ou Hive peuvent être utilisées pour extraire des données utiles à partir de données semi-structurées. Ces nouvelles données accessibles peuvent être utilisées pour d'autres requêtes analytiques ou des algorithmes d'apprentissage automatique. En outre, les données préparées peuvent être livrées à des bases de données relationnelles traditionnelles afin que les outils de veille stratégique classiques puissent les interroger directement.

Les offres commerciales dans le domaine de la découverte de données et de la préparation de données de base proposent des interfaces basées sur le web (bien que certaines soient des outils de base sur site pour ce que l'on appelle le "mélange de données") pour étudier les données brutes et concevoir ensuite des stratégies de nettoyage et d'extraction des données pertinentes. Ces outils commerciaux vont d'interfaces "légères" de type tableur à des interfaces d'analyse heuristique qui aident à guider la découverte et l'extraction des données.

4) Transformations et analyses

Les systèmes tels que Hadoop sont non seulement plus flexibles en ce qui concerne les types de données pouvant être stockées, mais ils sont également plus flexibles en ce qui concerne les types de requêtes et de calculs pouvant être effectués sur les données stockées. SQL est un langage puissant pour interroger et transformer les données relationnelles, mais il n'est pas adapté aux requêtes sur les données non relationnelles et à l'utilisation d'algorithmes itératifs d'apprentissage automatique et d'autres calculs arbitraires. Des outils tels que Hive, Impala et Spark SQL permettent d'effectuer des requêtes de type SQL sur les données Hadoop. Cependant, des outils comme Cascading, Crunch et Pig apportent un traitement de données plus flexible aux données Hadoop. La plupart de ces outils sont alimentés par l'un des deux moteurs de traitement de données les plus répandus : MapReduce ou Spark.

Dans le lac de données, nous voyons trois types de transformations et d'analyses : les transformations simples, les requêtes analytiques et les calculs ad hoc. Les transformations simples comprennent des tâches telles que la préparation des données, le nettoyage des données et le filtrage. Les requêtes analytiques seront utilisées pour fournir une vue d'ensemble d'un ensemble de données, éventuellement en recoupant d'autres ensembles de données. Enfin, le calcul ad hoc peut être utilisé pour soutenir une variété d'algorithmes, par exemple, la construction d'un index de recherche ou la classification via l'apprentissage automatique. Ces algorithmes sont souvent itératifs par nature et nécessitent plusieurs passages sur les données.

5) Diffusion en continu

Les entrepôts de données traditionnels prennent en charge les requêtes analytiques par lots. Cependant, dans l'écosystème open source ainsi que dans les produits commerciaux, nous assistons à une convergence des architectures hybrides de traitement par lots et de traitement en continu. Par exemple, Spark prend en charge à la fois le traitement par lots et le traitement en flux avec Spark Streaming. Apache Flink est un autre projet visant à combiner le traitement par lots et le traitement en continu. Il s'agit d'une progression naturelle car, fondamentalement, il est possible d'utiliser des API et des langages très similaires pour spécifier un calcul par lots ou en continu. Il n'est plus nécessaire d'avoir deux systèmes complètement disparates. En fait, une architecture unifiée facilite la découverte de différents types de sources de données.

Les architectures hybrides de traitement par lots et de traitement en continu s'avéreront également extrêmement bénéfiques lorsqu'il s'agit de données IoT. Le streaming peut être utilisé pour analyser et réagir aux données en temps réel, ainsi que pour ingérer des données dans le lac de données en vue d'un traitement par lots. Des systèmes de messagerie modernes et performants tels qu'Apache Kafka peuvent être utilisés pour faciliter l'unification du traitement par lots et du traitement en continu. Les outils d'intégration peuvent aider à alimenter Kafka, à traiter les données Kafka en continu et à alimenter un lac de données avec des données filtrées et agrégées.

6) Programmation et Workflow

L'orchestration dans le lac de données est une exigence obligatoire. La planification consiste à lancer des tâches à des moments précis ou en réponse à un déclencheur externe. Le flux de travail consiste à spécifier les dépendances des tâches et à fournir un moyen d'exécuter les tâches de manière à ce que les dépendances soient respectées. Un travail peut être une forme d'acquisition de données, de transformation de données ou de livraison de données. Dans le contexte d'un lac de données, la planification et le flux de travail doivent tous deux s'interfacer avec les plateformes sous-jacentes de stockage et de traitement des données. Pour l'entreprise, la planification et le flux de travail doivent être définis via une interface utilisateur graphique et non via la ligne de commande.

L'écosystème des logiciels libres fournit des outils de bas niveau tels que Oozie, Azkaban et Luigi. Ces outils fournissent des interfaces de ligne de commande et une configuration basée sur des fichiers. Ils sont principalement utiles pour orchestrer le travail au sein de Hadoop.

Les outils commerciaux d'intégration de données fournissent des interfaces de haut niveau pour la planification et le flux de travail, ce qui rend ces tâches plus accessibles à un plus grand nombre de professionnels de l'informatique.

7) Métadonnées et gouvernance

Les métadonnées et la gouvernance sont deux domaines qui sont encore moins développés dans les produits de lac de données tels que Hadoop. Les métadonnées font référence aux demandes de mise à jour et d'accès ainsi qu'au schéma. Ces capacités sont fournies dans le contexte de l'entrepôt de données relationnel conventionnel, où les mises à jour sont plus faciles à suivre et où le schéma est plus contraint.

Les travaux en open source sur les métadonnées et la gouvernance progressent, mais il n'y a pas d'accord généralisé sur une mise en œuvre particulière. Par exemple, Apache Sentry permet d'appliquer l'autorisation basée sur les rôles pour les données Hadoop. Il fonctionne avec certains outils de gestion des données Hadoop, mais pas tous.

Les entreprises qui cherchent à mieux gérer les métadonnées et la gouvernance utilisent actuellement des solutions personnalisées ou se contentent de fonctionnalités limitées à cet égard. Récemment, LinkedIn a mis à disposition un outil interne appelé WhereHows qui pourrait améliorer la capacité à collecter, découvrir et comprendre les métadonnées dans le lac de données. Les fournisseurs de solutions commerciales d'intégration de données devraient développer de nouveaux moyens de gérer les métadonnées et la gouvernance dans le lac de données de l'entreprise.

8) Sécurité

La sécurité dans les différents backends des lacs de données évolue également et est abordée à différents niveaux. Hadoop prend en charge l'authentification Kerberos et l'autorisation de type UNIX via les autorisations de fichiers et de répertoires. Apache Sentry et Cloudera's Record Service sont deux approches d'autorisation à grain fin dans les fichiers de données Hadoop. Il n'existe pas d'accord universel sur une approche de l'autorisation et, par conséquent, tous les outils Hadoop ne prennent pas en charge l'ensemble des différentes approches. Il est donc difficile de normaliser à l'heure actuelle, car vous limiterez les outils que vous pouvez utiliser en fonction de l'approche d'autorisation sélectionnée.

En l'absence de norme, il est difficile pour les produits commerciaux de fournir un soutien complet à l'heure actuelle. Toutefois, dans l'intervalle, les produits commerciaux peuvent servir de passerelle vers le lac de données et fournir une bonne quantité de fonctionnalités de sécurité qui peuvent aider les entreprises à répondre à leurs exigences de sécurité à court terme, puis à adopter des mécanismes normalisés au fur et à mesure qu'ils deviennent disponibles.

Les outils utilisés pour gérer et analyser les données dans un lac de données sont les suivants

Parmi les outils couramment utilisés pour gérer et analyser les données dans un lac de données, on peut citer

  1. Apache Hadoop : Un cadre open-source qui est couramment utilisé pour construire et gérer des lacs de données. Il comprend un système de stockage distribué (HDFS) pour le stockage des données, ainsi qu'une gamme d'outils pour le traitement et l'analyse des données, tels que MapReduce, Pig et Hive.
  2. Apache Spark : Un système informatique distribué open-source conçu pour le traitement de données à grande échelle et à grande vitesse. Il est souvent utilisé pour analyser les données dans un lac de données et comprend une gamme d'outils et de bibliothèques pour travailler avec les données, tels que SQL et des bibliothèques d'apprentissage automatique.
  3. Elasticsearch : Un moteur de recherche et d'analyse couramment utilisé pour indexer et interroger les données dans un lac de données. Il est conçu pour traiter de grands volumes de données et pour fournir des capacités de recherche rapides et flexibles.
  4. Amazon S3 : Un service de stockage basé sur cloud qui est souvent utilisé pour stocker des données dans un lac de données. Il est évolutif, durable et sécurisé, et comprend une série de fonctionnalités qui facilitent la gestion et l'analyse des données à grande échelle.
  5. Tableau : Un outil populaire de veille stratégique et de visualisation des données qui est souvent utilisé pour explorer et analyser les données d'un lac de données. Il permet aux utilisateurs de créer des tableaux de bord interactifs et des visualisations qui peuvent les aider à comprendre des ensembles de données complexes.

L'infrastructure d'un lac de données fait référence au matériel, aux logiciels et aux services utilisés pour construire et gérer un lac de données.

Services utilisés pour construire et gérer un lac de données

Il s'agit généralement des éléments suivants

  1. Les systèmes de stockage distribués, tels que Apache Hadoop HDFS ou Amazon S3, qui sont utilisés pour stocker de grandes quantités de données de manière évolutive et tolérante aux pannes.
  2. Les outils de traitement des données et d'analyse, tels qu'Apache Spark ou Elasticsearch, qui sont utilisés pour effectuer diverses opérations sur les données, telles que le nettoyage, la transformation et l'agrégation.
  3. Les outils de gouvernance et de sécurité des données, tels qu'Apache Ranger ou AWS IAM, sont utilisés pour contrôler l'accès aux données, garantir leur qualité et les protéger contre les accès non autorisés ou les manipulations.
  4. Les outils d'intégration de données et d'ETL, tels qu'Apache NiFi ou Talend, qui sont utilisés pour extraire les données de différentes sources, les transformer dans un format cohérent et les charger dans le lac de données.
  5. Les outils de visualisation des données et de reporting, tels que Tableau ou Qlik, sont utilisés pour explorer et analyser les données dans le lac de données, et pour créer des tableaux de bord et des rapports qui peuvent être partagés avec d'autres.

Le bilan

Le battage médiatique autour de la promesse du big data, du lac de données, des produits de lac de données et des nouvelles technologies désormais disponibles pour exploiter la puissance du site plateforme ne manque pas. Le marché arrivant à maturité, il sera de plus en plus important de commencer par la fin et d'élaborer un plan stratégique qui s'adaptera et se développera au fur et à mesure de l'évolution de vos besoins. Recherchez un fournisseur d'intégration de données moderne qui dispose d'une expérience technique approfondie et étendue dans le nouveau monde, ainsi que d'une expérience pratique des déploiements et des partenariats d'entreprise. Ne vous contentez pas de la même vieille intégration de données lorsque vous élaborez votre vision d'un lac de données d'entreprise pour alimenter les analyses et les informations de la prochaine génération.

Prochaines étapes :

SnapLogic est le leader de l'intégration générative.
Huit exigences en matière de gestion des données pour le lac de données de l'entreprise

Nous recrutons !

Découvrez votre prochaine grande opportunité de carrière.