Nous vous rassurons tout de suite : une base de données, ça n’explose pas. Personne n’est en danger ici! Ce qui peut exploser en revanche, ce sont les coûts de matériel et de licence, le temps de traitement des données, d’ingestion des données, de requête, etc.!
La source de ces problèmes vient généralement des ressources matérielles et logicielles qui ne sont pas adaptées à la volumétrie de données qu’elles devraient traiter. En effet, lorsqu’on parle de données, les enjeux sont de gérer la variété, la vélocité, et surtout le volume de données qui sont produites par l’entreprise. Plus le temps passe, plus ces 3 « V » prennent de l’ampleur.
Un peu de contexte
Toute entreprise qui se respecte a mis en place des systèmes de gestion de bases de données (SGBD) pour appuyer ses opérations. À partir de là, on a vu apparaître les entrepôts de données (data warehouse) sur lesquels s’appuient les pratiques d’intelligence d’affaires, de rapports, et d’analyses de l’entreprise. L’entrepôt de données est un répertoire intégré, une base qui stocke des données brutes ou transformées venant de multiples sources potentiellement hétérogènes.
Les entrepôts de données diffèrent des bases traditionnelles de par leur performance. L’objectif est de permettre à des utilisateurs d’interroger les données, de les transformer, pour en tirer de la valeur et appuyer les décisions de l’entreprise. C’est la fameuse business intelligence, cette aide à la prise de décision destinée aux gestionnaires de l’entreprise.
Tout cela bien sûr a un coût et c’est ici que les Teradata, Oracle, SAP, HP, IBM, Informatica et autres font la joie de leurs actionnaires. Il faudrait en plus ajouter les outils d’alimentation (Extract, Transform, Load ou ETL), de visualisation de données (data visualization) et d’exploration de données (data mining).
Dans un processus normal, les données sont produites par les systèmes opérationnels qui les stockent dans leurs bases et tables respectives. Ces dernières sont ensuite récupérées et envoyées par les outils d’alimentation (ETL) vers l’entrepôt de données. Ce dernier va généralement traiter, manipuler, nettoyer, transformer les données pour les mettre dans le format pertinent pour les rapports et analyses qu’on réalisera avec divers outils qui permettent d’accéder, d’analyser, et de visualiser les données stockées dans l’entrepôt.
Tout ce beau système finit par être cher, mais indispensable. Si c’est bien fait, la rentabilité surpasse l’investissement parce que les gestionnaires peuvent appuyer leurs décisions et efforts sur des faits concrets, ce qui est généralement mieux que l’intuition seule.
Là où ça coince
Toutes ces opérations accaparent une partie des ressources dont dispose l’entrepôt de données, RAM, CPU, bande passante, etc. Lorsque les activités d’une entreprise sont stables, les ressources sont normalement suffisantes. Mais lorsque les activités s’accélèrent, c’est là qu’il y a un risque de mauvaises performances.
Prenons l'exemple d'une entreprise de vente au détail qui ouvre une nouvelle succursale, se lance dans le commerce en ligne et fusionne ensuite avec un concurrent. Toutes ces activités accélèrent l’utilisation des bases de données opérationnelles et mettent donc plus de pression sur l’entrepôt de données. On observe trois phénomènes qui se dégagent d’un accroissement de cette activité :
1- Les délais sont inadéquats
Il n’est pas rare de voir des traitements de transformations qui prennent du temps à s’effectuer sur les entrepôts de données, parce que le volume de données est grand ou parce qu’il n’y a pas assez de puissance. Ceci explique qu’en moyenne, 60 % de la CPU est utilisé pour les activités d’ETL, ce qui n’en laisse pas beaucoup pour les activités d’analyse et les requêtes sur ces données. C’est donc impossible d’avoir de la prise de décision en temps réel car on n’est pas en mesure de traiter les données en temps réel, ce qui est un désavantage.
2- L’évolution est complexe
Généralement, les entrepôts de données sont conçus pour des données structurées, on peut donc oublier tout ce qui est semi-structuré tel que les logs, les données de l’internet des objets, de géolocalisation, de réseaux sociaux, multimédias, etc. Même parmi les données structurées internes à l’entreprise, on simplifie parfois l’intégration de ces dernières en les résumant, en les agrégeant, parce que le modèle est trop compliqué. Cela fait malheureusement perdre une certaine profondeur aux données, ce qui est handicapant pour les analyses.
3- Les coûts s’accroissent
Les modèles de licences coûtent cher et plus l’entreprise ajoute de la puissance, ajoute du matériel, de l’espace disque, plus elle paie de frais pour maintenir ses activités. On ne parle même pas nécessairement de modernisation ou d’upgrade, on est simplement dans le maintien des processus d’entreposage des données suite à l’accroissement de l’activité; ce n’est pas vraiment une valeur ajoutée.
Bon, ce sont des petits désagréments, mais au final ça fonctionne correctement dans la plupart des entreprises. Après tout en informatique, la règle d’or c’est if it ain’t broke don’t fix it. C’est clair que dans la plupart des cas, les bases de données ne sont pas brisées, mais elles sont loin d’être efficaces et efficientes ce qui est inacceptable en informatique.
Une bonne solution
Une bonne solution qui a fait ses preuves dans le monde de l’analytique est ce que l’on appelle l’optimisation d’entrepôt de données (enterprise datawarehouse (EDW) optimization). Il existe aujourd’hui plusieurs technologies qui peuvent décoincer ces désagréments et optimiser les entrepôts de données. Parmi ces solutions on retrouve entre autres les éditeurs de solution Hadoop tel qu’Hortonworks, un partenaire de Novipro.
Hadoop est un framework applicatif libre (open source) qui permet le stockage et le traitement de données de n’importe quels volume et format, de façon distribuée sur un ensemble de machines (un cluster de serveurs). C’est généralement la technologie de référence lorsqu’on parle de Big Data bien qu’il y en ait une foule d’autres qui peuvent permettre l’optimisation d’entrepôt de données. Hortonworks offre une version complète et stable de l’ensemble des logiciels de l’écosystème Hadoop, la Hortonworks Data Platform (ou HDP pour les intimes).
Ce que permet ce genre de technologie c’est d’adresser ces petits désagréments et même d’aller au-delà :
1- Réduire les temps de traitement
Les transformations sur les données ne se font pas directement sur l’entrepôt, mais plutôt avant d’y entrer. L’avantage c’est que la puissance de l’entrepôt est dédiée en grande majorité à l’accès aux données et aux requêtes des utilisateurs sur ces données mises en forme. Les utilisateurs peuvent donc aussi se permettre dans une certaine mesure d’explorer les données, de jouer avec, sans trop se soucier s’ils ont assez de puissance pour y arriver, ce qu’on appelle des requêtes Adhoc, autant sur l’entrepôt de données que directement sur la plateforme Big Data. Il est aussi tout à fait possible de faire de l’analyse, des rapports, et des alertes en temps réel ce qui peut avoir une valeur incalculable pour une entreprise qui doit prendre rapidement des décisions et s’ajuster face à une situation.
2- Réduire la complexité d’intégration
La beauté d’une technologie telle qu’Hadoop est qu’il n’y a pas de limites à ce que l’on peut stocker et traiter comme données. Il est donc possible d’intégrer des données externes ou au format moins structuré sans se casser la tête avec l’intégration dans un entrepôt assez rigide. Si les données s’avèrent à être pertinentes, il sera facile de les mettre dans un bon format et de les intégrer par la suite dans l’entrepôt. Il en va de même pour les données internes; plus besoin de se demander si une donnée est vraiment utile à intégrer dans l’entrepôt. On la stocke brute sur Hadoop et on la rend disponible rapidement aux analystes qui pourront l’explorer aisément.
3- Réduire les coûts
Un entrepôt qui est moins sollicité, qui a moins besoin de puissance parce qu’il ne passe pas son temps à intégrer les données, est un entrepôt qui coûte moins cher. Les éditeurs d’EDW facturent en effet selon le nombre de CPU, le nombre d’instances, la quantité de données stockées, ou autre. Dans le cas où l’entreprise est facturée en fonction de la quantité de données stockées, une pratique courante est de décharger l’entrepôt de ses données historiques ou non utilisées (près de 70 %) sur Hadoop. On ne prive donc pas les analystes de leur accès à ces données et on garde l’espace et de l’entrepôt pour des données fraiches qui sont utilisées régulièrement. C’est ce qu’on appelle l’archivage actif.
4- Supporter l’évolution des besoins d’analyse
Qui dit mégadonnées dit Data Science, Machine Learning, Deep Learning, intelligence artificielle, etc. Ce sont toutes des disciplines qui nécessitent une puissance de calcul et de traitement, beaucoup de données, et l’accès à des outils et langages informatiques qui permettent l’analyse de ces données. La grande majorité des outils et logiciels du grand monde du Big Data, soit les outils de type ETL, de visualisation de données, et d’analyses statistiques, sont équipées de connecteurs pour lire des données stockées sur Hadoop ce qui facilite l’intégration.L’optimisation ici est un projet informatique d’économie de coûts, mais c’est aussi un avantage potentiel pour les unités d’affaires. Il faut toujours garder en tête qu’on doit impérativement avoir un retour sur investissement et/ou répondre à un besoin d’affaires.
Dans l’échelle d’évolution de la numérisation de l’entreprise, nous en sommes aux balbutiements, mais c’est le meilleur premier pas, une valeur sure, un quick win, et même s’il n’y a pas d’utilisation d’affaires, au moins on améliore les opérations TI et en plus on fait sauver des coûts à l’entreprise.
Il ne faut surtout pas négliger une foule d’autres facteurs ou tâches à faire pour mettre en place ce genre de système. Bien que ce ne soit pas le sujet de ce billet, il ne faut pas oublier tout ce qui tourne autour de la gouvernance des données, de la sécurité, de la formation et de la sensibilisation des utilisateurs, la gestion du changement, les besoins de leadership, de collaboration, d’organisation, et plus encore.
NOVIPRO peut vous aider à vous lancer dans cette transformation graduelle et maîtrisée qu’est l’optimisation de vos entrepôts de données. Nous pouvons vous proposer d’entrée de jeu une solution à la fine pointe de la technologie grâce à nos partenariats avec Hortonworks, l’éditeur de référence pour les plateformes Hadoop, SAS et IBM ce qui vous assure une approche experte sur les sujets de mégadonnées. Mais avant de proposer une solution, nous nous faisons un devoir d’évaluer de façon neutre et transparente vos besoins afin de vous proposer une technologie qui apportera un réel rendement sur l’investissement.
Nos équipes d’experts se démarquent de par leur maîtrise des différentes couches qui composent un système d’information : le matériel, les systèmes d’exploitation, le logiciel et son utilisation. Cela se traduit par nos solutions d’affaires, nos solutions technologiques, et notre plateforme infonuagique. Nous pouvons également vous accompagner dans le déploiement et l’utilisation d’une solution telle qu’Hortonworks. N’hésitez pas à communiquer avec nous !