# Traitement analytique en ligne

En informatique, et plus particulièrement dans le domaine des bases de données, le traitement analytique en ligne (anglais online analytical processing, OLAP) est un type d'application informatique orienté vers l'analyse sur-le-champ d'informations selon plusieurs axes, dans le but d'obtenir des rapports de synthèse tels que ceux utilisés en analyse financière. Les applications de type OLAP sont couramment utilisées en informatique décisionnelle, dans le but d'aider la direction à avoir une vue transversale de l'activité d'une entreprise.
Ce type d'application s'oppose au traitement de transactions en ligne (anglais online transaction processing abr. OLTP) qui s'inscrit dans un système opérationnel, c'est-à-dire destiné aux métiers de l’entreprise pour les assister dans leurs tâches de gestion.

## Genèse

Ce terme a été défini par Edgar Frank Codd en 1993 au travers de douze règles que doit respecter une base de données si elle veut adhérer au concept OLAP :
* Vue conceptuelle multidimensionnelle
* Transparence
* Accessibilité
* Constance des temps de réponses
* Architecture client-serveur
* Indépendance des dimensions
* Gestion des matrices creuses
* Accès multi-utilisateurs
* Pas de restrictions sur les opérations inter et intra dimensions
* Manipulation aisée des données
* Simplicité des rapports
* Nombre illimité de dimensions et nombre illimité d'éléments sur les dimensions
Ce concept a été appliqué à un modèle virtuel de représentation de données appelé cube ou hypercube OLAP qui peut être mis en œuvre de différentes façons.

## Principes
### Primitives

L'hypercube OLAP donne accès à des fonctions d'extraction de l'information (pour visualisation, analyse ou traitement), et à des fonctions de requête en langage MDX (comparable à SQL pour une base de données relationnelles). Les résultats d'une requête sont principalement lus en 2 dimensions maximum (tableau).
* Rotate (ou Pivot) : sélection du couple de dimensions qui formera le résultat de la requête,
* Slicing : extraction d'une tranche d'information,
* Scoping (ou Dicing) : extraction d'un bloc de données (opération plus générale que le slicing),
* Drill-up : synthèse des informations en fonction d'une dimension (exemple de drill-up sur l'axe temps : passer de la présentation de l'information jour par jour sur une année, à une valeur synthétique pour l'année),
* Drill-down : c'est l'équivalent d'un « zoom », opération inverse du drill-up,
* Drill-through : lorsqu'on ne dispose que de données agrégées (indicateurs totalisés), le drill through permet d'accéder au détail élémentaire des informations (voir notamment les outils H-OLAP).

## Déclinaisons

Il existe plusieurs déclinaisons semblables à des pilotes qui permettent d'adapter le stockage des données à différents types de base de données pour implémenter le concept OLAP.

### Multidimensional OLAP (MOLAP)

Le MOLAP est un OLAP optimisé pour l'analyse multidimensionnelle par le fait qu'il est fondé sur un entrepôt multidimensionnel.
C'est une forme d'hypercube multidimensionnel qui permet de représenter les données sous la forme d'un croisement de n dimensions, ces dimensions pouvant être plus ou moins denses, caractérisant ainsi la densité ou sparsité du cube.
Board International, Essbase, IBM TM1, Jedox Palo, icCube server, Infor Alea, Microsoft Analysis Services, Oracle OLAP , QUANTRIX sont quelques exemples de produits utilisant des bases MOLAP.

### Relational OLAP (ROLAP)

Dans le monde de l'informatique décisionnelle, le ROLAP est une technique de modélisation et de stockage des données fondée sur une structure relationnelle. Elle tire parti des ressources déjà existantes (licences, ressources matérielles...) et, à ce titre, ne requiert pas l'investissement complémentaire d'une base multidimensionnelle.
Exemples de moteurs R-OLAP : Microsoft Analysis Services, Oracle 10g, MetaCube d'Informix, Mondrian de Pentaho et DSS Agent de MicroStrategy.

### Hybrid OLAP (HOLAP)

Le HOLAP est un Hybride entre le MOLAP et le ROLAP.
La structure multidimensionnelle d'un hypercube est utilisée pour les données agrégées. Lorsque l'accès à un niveau de détail élémentaire plus fin est nécessaire, des tables relationnelles classiques sont utilisées : c'est le mécanisme du drill through.
Exemple de moteur HOLAP : Oracle OLAP, Microsoft Analysis Services.

### Spatial OLAP (SOLAP)

Plate-forme visuelle supportant l'exploration et l'analyse spatio-temporelle faciles et rapides des données selon une approche multidimensionnelle à plusieurs niveaux d'agrégation via un affichage cartographique tabulaire ou en diagramme statistique.
L'idée sous-jacente est que la représentation des données ne doit plus être tabulaire comme c'est le cas pour les bases de données relationnelles. On doit être capable de présenter les données sous la forme que l'on souhaite.
L'Université Laval maintient une chaire sur S-OLAP. Il existe aussi un site spécialement consacré aux technologies SOLAP : spatialbi. Plusieurs références sur l'état de l'art en SOLAP sont publiées dans Les origines du terme « SOLAP » ou la petite histoire d’une grande idée !
Plusieurs solutions combinent l'intelligence d'affaires et les SIG afin de composer une plateforme SOLAP, par exemple Oracle OBIEE, IBM-Cognos et ESRI, SAP et ESRI, etc. Une veille de ces technologies est publiée sur le Blog d'Intelli3 Le marché des logiciels géodécisionnels

### Desktop OLAP (DOLAP)

Le DOLAP est un mode de fonctionnement consistant à récupérer en local une partie d'une base de données multi-dimensionnelle. Cette utilisation est intéressante pour continuer à faire des analyses sur des données de manière nomade et déconnectée.

## Utilisation

À l'origine utilisés pour une analyse instinctive d'informations, les hypercubes OLAP peuvent être couplés avec des systèmes data mining et ainsi analyser, prédire et simuler plus « strictement » les informations.
Les entreprises génèrent ce type de structure par synchronisations massives d'informations (ETL) à partir de systèmes de gestion de base de données relationnelle de type datamart, datawarehouse ou parfois même transactionnel selon l'architecture qu'ils ont choisie pour leur système d'information décisionnel.
La restitution d'informations se fait à l'aide de simples requêtes en langage MDX (Multidimensional Expressions), d'Executive Information System (EIS), d'applications spécialisées (logiciels d'entreprise), ou dans un tableur (muni d'un plugin de navigation).

### Exemple

À titre d'illustration, il est possible d'analyser le chiffre d'affaires d'une entreprise dans les quatre dimensions suivantes :
* Géographie : continent > pays > région > département > ville
* Temps : année > trimestre > mois > semaine > jour
* Gamme de produits : gamme > type > famille > référence
* Organisation : département > secteur > responsable > vendeur
La hiérarchie donnée en exemple pour chaque dimension est découpée en niveaux. "Europe" serait un membre du niveau "Continent" de la dimension "Géographie".