OLAP est mort, vive ...
Derrière cette accroche un peu provocatrice se cache un constat doux-amer pour une technologie que certaines personnes n'hésitent plus à qualifier aujourd'hui de "legacy"
Mais commençons par le début : le pourquoi de l'OLAP (Online Analytical Processing)
Issu des années 90, OLAP et pour être plus précis son implémentation sous forme de cube, est une réponse du système d'information décisionnel proposant d'adresser, entre autres, 2 enjeux des systèmes décisionnels coté restitution :
- les performances : c'est bien beau d'avoir des centaines de millions d'enregistrements dans mon datawarehouse, encore faut-il pouvoir les interroger...
- l'accessibilité des informations à des non-informaticiens : si je suis allergique aux SQL et aux L4G, je fais comment pour accéder à mes données...
Sur l'enjeu de la performance, les cubes de type M-OLAP ou H-OLAP (pour les acronymes : c'est ici) permettent de répondre à cette problématique car ces solutions stockent une partie ou la totalité des résultats susceptibles d'être demandés par les utilisateurs.
Concernant l'accessibilité, qui n'est pas tombé amoureux des fonctionnalités de drill-down/drill-up avec un simple clic quand il a été confronté à son premier cube (je me souviens encore avec nostalgie de mon premier cube SAS...)
Mais qu'en est-il de ces enjeux aujourd'hui?
Ces enjeux n'ont finalement pas pris une ride, mais alors pourquoi ce titre tapageur? Eh bien principalement pour deux raisons :
1. le cube OLAP n'est plus la seule alternative permettant de couvrir les enjeux de performance et d'accessibilité.
Sur la performance, nous retrouvons dans le désordre et plus généralement combinés : les appliances et les architectures MPP (Massively Parallel Processing), de nouvelles typologies de SGBD (le vectoriel, dites associatives ou centrées sur la valeur, NOSql...), de nouveaux matériels (disques SSD) ou approches (in memory) qui proposent des alternatives plus que crédibles à un cube physique et redonnent aujourd'hui ses lettres de noblesse au R-OLAP voir à d'autres types de représentation.
Concernant l'accessibilité, les interfaces des solutions OLAP ont de toute façon été très vite abandonnées au profit de solutions BI classiques ou d'Excel via tout une gamme d'API.
2. Les avantages des cubes OLAP ne priment plus sur ses handicaps. Sans revenir sur des faiblesses originelles qui ont été plus ou moins bien comblées depuis (fraîcheur des données, interfaces utilisateurs...), il demeure un point qui condamne le plus souvent les solutions de cube OLAP par rapport à d'autres approches : la flexibilité.
Eh oui, la création d'un cube nécessite la maîtrise des informations de types dimension ou indicateur le composant. Ainsi, si on souhaite côté utilisateur rajouter des indicateurs ou des dimensions à la volée, le cube OLAP est tout de suite moins serein mais certains peuvent encore s'en sortir (utilisation de fonctionnalités ad-hoc et de recherche contextuelle couplées aux cubes notamment). Mais quand il s'agit de créer un cube sur un besoin non maîtrisé ou nécessitant des explorations sur des périmètres très mobiles avec une bonne partie de données dites locales, alors là on est sur un projet OLAP destiné à partir dans le mur.
Alors quoi un cube OLAP c'est "has been"?
Disons que nous avons affaire à une technologie mature, voire légèrement en déclin caractérisée par ailleurs ces derniers temps, par un nombre d'innovations bien moindres que sur les autres composants d'une chaîne décisionnelle (outils d'intégration, le stockage, les autres types d'outils de restitution).
Aujourd'hui, tous les grands éditeurs de BI proposent leur cube, donc autant l'utiliser lorsque cela fait sens. Cependant des annonces comme celle de Microsoft concernant SSAS (plus d'infos ici) n'encouragent pas forcément vers un investissement tous azimuts sur ce type de solution.
Et pour conclure :
Je propose de compléter mon titre provocateur : "OLAP est mort" du moins l'emploi de cube OLAP dans le décisionnel est aujourd'hui plus restreint, et "**vive..."**malheureusement ou heureusement pour les architectes, il n'existe pas une solution miracle mais plutôt une offre de service décisionnelle diversifiée à construire. Cette offre est aujourd'hui nécessaire, au détriment de la rationalisation, afin d'adresser de façon efficiente les différents besoins portés par les projets décisionnels en pleine diversification (propre à la démocratisation du décisionnel vers d'autres populations d'utilisateurs et à la réduction de la frontière entre le décisionnel et l'opérationnel).