• Aucun résultat trouvé

2.4 Les systèmes décisionnels

3.1.2 Stocker

Dans la figure2.4, les zones de stockages des données sont matérialisése par les composants : ODS, Entrepôt de données et magasins de données. Pour ces trois différentes zones, des solutions logicielles existent.

À la naissance de l’informatique, plusieurs modèles de stockage de l’information sont explorés, comme les modèles hiérarchique ou réseau. Mais c’est finalement le modèle relationnel qui l’emporte dans les années 1970 car c’est lui qui permet de mieux assurer le contrôle de l’intégrité des données, grâce à un modèle théorique puissant et simple.

Par ancienneté, mais aussi parce que cela reste encore le système de stockage le plus répandu ce sont les systèmes de gestion de bases de données relationnelles ou RDMS5

qui stockent les données provenant des systèmes sources pour le système décisionnel. Les acteurs les plus présents sur le marché sont IBM, Oracle et Microsoft.

Comme première solution et évolution dans le stockage des données du système décisionnel nous

Figure3.5: Tableau de comparaison des bases de données NoSQL [16]

trouvons les logiciels de stockage dit propriétaires, appelés aussi des "appliance" [74]. Une "appliance" décisionnelle intègre par conception les éléments matériels, serveur, stockage, mémoire mais aussi modé- lisation des données et gestion de l’ensemble des données. L’appliance Teradata [74] est l’une des plus anciennes appliances décisionnelles, qui est toujours leader sur son marché (voir figure3.4). On y trouve à ses côtés des acteurs majeurs du marché des plateformes analytiques (autre nomination du Gartner pour regrouper les acteurs du marché des appliances décisionnelles) tels qu’IBM, Oracle ou Microsoft.

Les bases de données de type NoSQL6

font elles aussi, depuis les année 2000, parties des modes de stockages possibles pour un système décisionnel.

NoSQL signifie Not Only SQL et non pas No SQL, il s’agit de compléments aux SGBDR pour des besoins spécifiques et non de solutions de remplacement. Carlo Strozzi a utilisé le terme NoSQL ou Not Only SQL en premier en 1998 pour désigner la base de données relationnelle "Open Source" qu’il a développée et qui ne disposait pas d’une interface SQL comme ses homologues. Carlo Strozzi a proposé par la suite

6. En informatique et en bases de données, NoSQL désigne une famille de systèmes de gestion de base de données (SGBD) qui s’écarte du paradigme classique des bases relationnelles. L’explicitation du terme la plus populaire de l’acronyme est Not only SQL (« pas seulement SQL » en anglais) même si cette interprétation peut être discutée.

de changer le terme NoSQL en NoRel pour non-relationnelles, vu que ce mouvement a convergé avec le temps vers les bases de données non-relationnelles uniquement. En 2009, le terme NoSQL a été réintroduit par Eric Evans à une échelle plus large, décrivant les nombreuses bases de données s’opposant à la notion relationnelle et possédant les caractéristiques suivantes :

— Elles sont toutes compatibles avec les systèmes distribués ; — Elles sont de type Open Source ;

— Elles sont de type non-relationnel.

NoSQL est un type spécifique de bases de données, permettant de stocker et de récupérer les données après restructuration, en utilisant des techniques différentes de celles connues dans les bases de données relationnelles. Les développeurs de nos jours ont tendance à utiliser ce type de bases de données pour la simplicité de leur implémentation et leur évolutivité sans limite (horizontalement, à travers de nouvelles colonnes). On distingue quatre catégories de bases de données NoSQL :

— La base orientée clé-valeur. Sur le principe d’un dictionnaire dont la porte d’entrée est le mot, les bases orientées clé-valeur vont accéder à une valeur de données unique. Cela peut être un "compte client" pour valider un panier sur un site en ligne. En plaçant ces données en mémoire, ces bases sont recherchées pour leur vitesse d’exécution. En revanche, elles ne permettent pas de faire des requêtes multicritères sophistiquées.

— La base orientée documents. Évolution des bases clé-valeur, les moteurs orientés documents n’as- socient plus une clé à une valeur mais à un document dont la structure reste libre. Pour cela, ils s’appuient sur le très populaire format d’échange de données Json (JavaScript Object Notation). Les bases orientés documents sont souvent saluées pour la souplesse de leur structure.

— La base orientée colonnes. Contrairement aux moteurs orientés documents à la structure libre, les bases en colonnes stockent les données par colonnes. Cette structure permet en outre d’ajouter plus facilement une colonne à une table. Ces bases sont plébiscitées pour leur capacité à monter en charge et à accueillir une forte volumétrie de données.

— L’index inversé. Popularisé par le moteur de recherche de Google, les index inversés sont représentés dans le tableau3.5 par ElasticSearch. Basésur la bibliothèque d’indexation open source Lucene et le format Json, ElasticSearch permet de structurer les données à la manière d’une base orientée documents tout en profitant d’excellentes capacités de requêtage.

Le tableau 3.5 synthétise et compare les différentes bases de données NoSQL et leurs principaux avantages. Selon les besoins en terme d’architecture (la vitesse, la volumétrie, la recherche multicritères, par exemples) la sélection s’orientera vers l’une ou l’autre des grandes familles de base NoSQL.

On peut citer aussi le NewSQL, qui est un stockage distribué et potentiellement entièrement en mémoire et pouvant être requêté classiquement par une interface SQL. NewSQL est tiré du monde NoSQL mais reste différent. Comme NoSQL il s’agit d’une nouvelle architecture logicielle qui propose de repenser le stockage des données. Elle profite des architectures distribuées, des progrès du matériel et des connaissances théoriques depuis 35 ans. Mais contrairement à NoSQL elle permet de conserver le modèle relationnel au cœur du système. Dans ses travaux Hashem [27] présente le modèle de données NoSQL et sa dérivée NewSQL, en termes d’architecture, d’avantages et de limitations. D’après ses travaux, cette technologie reste encore peu usitée dans les systèmes décisionnels.

De la même façon, sans vouloir être exhaustifs, nous pouvons aussi citer les bases de données de type graph (i.e orientées objet utilisant la théorie des graphes, donc avec des nœuds et des arcs) qui peuvent elles aussi être exploitées comme moyen de stockage des données.

D’autres modes de stockage, dont Apache Hadoop7, sont eux aussi utilisés. Nous y consacrons

une section (3.6) dans ce chapitre. Le mode "dans les nuages" (Cloud) est aussi un mode de stockage possible pour les systèmes décisionnels, même si techniquement il va être basé sur une ou plusieurs des technologies que l’on énumère dans ce paragraphe.

Les architectes d’information ont donc à disposition plusieurs modes de stockages possibles pour la conception du système décisionnel : RDMS, NoSQL, Apache Hadoop, Les nuages, etc. Ces modes ne sont pas exclusifs, peuvent tout à fait cohabiter entre eux, c’est d’ailleurs l’évolution la plus importante dans les systèmes décisionnels : l’hybridation des modes de stockages.

On va pouvoir en effet adapter exactement le support de stockage de données du système décisionnel aux exigences fonctionnelles et non fonctionnelles en terme d’architecture. On peut donc imaginer un ODS sur un support Apache Hadoop, avec un entrepôt de données sur un SGBD relationnel et des magasins de données utilisant des bases NoSQL, dans les nuages et sur des appliances. La figure 3.6 donne une illustration de ce que ce mode de stockage hybride peut donner sur une architecture décisionnelle.

L’évolution technologique des modes stockages permet aux architectures des systèmes décisionnels d’évoluer et de s’adapter aux différents formats de données désormais disponibles, offrant ainsi de nou- velles possibilités d’extraction d’information à ses utilisateurs. Pour en tirer parti les logiciels permettant de délivrer cette information doivent eux aussi évoluer. Le paragraphe suivant expose ces évolutions autour de la visualisation, l’analyse et l’exploration des données dans les systèmes décisionnels.

7. Hadoop est un framework libre et open source écrit en Java destiné à faciliter la création d’applications distribuées et échelonnables permettant aux applications de travailler avec des milliers de nœuds et des pétaoctets de données

Figure3.6: Système décisionnel avec une architecture hybride des stockages.