Le concept OLAP dans l’analyse multidimensionnelle

On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser une analyse décisionnelle. En réalité, SGBD et datawarehouse ont des objectifs différents. Ils stockent les données de manière différentes et font l’objet de requêtes différentes. Ils sont ainsi basés sur deux systèmes différents : OLTP et OLAP.

OLTP

OLTP ( On Line Transaction Processing) est le modèle utilisé par les SGBD. Le mode de travail est transactionnel. L’objectif est de pouvoir insérer, modifier, interroger rapidement et sécuriser la base. Ces actions doivent pourvoir être effectuées très rapidement par de nombreux utilisateurs simultanément.

Chaque transaction travaille sur de faibles quantités d’informations, et toujours sur les versions les plus récentes des données.

OLAP

Les bases OLTP structurées en 2 dimensions ne se prêtent guère aux requêtes décisionnelles.

L’objectif des bases OLTP est de pouvoir répondre rapidement à des réponses simples, exemple : les ventes du produit X.

Mais répondre à des requêtes comme les ventes du produit X par vendeur, par région et par période, sont des requêtes plus complexes dans les bases OLTP.

Ainsi, Edgar Frank  Codd inventeur des bases de données relationnelles, a défini le concept OLAP (On Line Analytical Processing). OLAP se représente comme sur ce schéma sous forme d’un “cube”.

base de données OLAP

Les bases OLAP permettent des requêtes plus complexes afin de faire des analyses selon plusieurs axes, comme les ventes du produit X par vendeur, par région et par période.

Les datawarehouses reposent sur le système OLAP. Ce système travaille en lecture seulement. Les programmes consultent d’importantes quantités de données pour procéder à des analyses. Les objectifs principaux consistent à regrouper, organiser des informations provenant de sources diverses, les intégrer et les stocker pour donner à l’utilisateur une vue orientée métier, retrouver et analyser l’information facilement et rapidement. Cela nécessite de consulter des versions historiques de la base et peut se permettre d’ignorer temporairement les dernières mises à jour.

Ces bases sont souvent d’un ordre de grandeur nettement supérieur à celle des bases OLTP, du fait de la conservation de l’historique.

OLAP vs OLTP

Voici un tableau récapitulatif des différences entre OLTP et OLAP :

Caractéristiques OLTP OLAP
Utilisation SGBD (base de production) Datawarehouse
Opération typique Mise à jour Analyse
Type d’accès Lecture écriture Lecture
Niveau d’analyse Elémentaire Global
Quantité d’information échangées Faible Importante
Orientation Ligne Multidimension
Taille BD Faible (max qq GB) Importante (pouvant aller à plusieurs TB).
Ancienneté des données Récente Historique

 

Séparation physique

Il est important de séparer les bases de production (SGBD) du datawarehouse. Pour des raisons de performances premièrement car les systèmes de production ne sont pas prévus pour répondre efficacement aux requêtes des systèmes d’aide à la décision. De plus les systèmes de production ne conservent pas leurs données, alors qu’un datawarehouse reposent sur des données historiées. De plus un datawarehouse se reposent sur des systèmes de production différents dont les données ne sont pas nécessairement uniformisées.

En plus, Les requêtes décisionnelles, particulièrement complexes par principe, mobilisent abusivement les ressources machines. Lors de leur exécution, elles perturbent les traitements de production (OLTP).

Langage MDX

Le langage MDX « Multidimensional Expressions », est un langage de requête pour les bases de données OLAP analogue au SQL dans les bases de données relationnelles.

Les déclinaisons du concept OLAP

Il existe plusieurs modèles de stockage de bases de données pour implémenter OLAP :

MOLAP – Multidimensional OLAP

La base MOLAP (Multidimensional OLAP) est l’application physique du concept OLAP. Il s’agit réellement d’une structure multidimensionnelle. Les bases MOLAP sont rapides et performantes. Elles proposent des fonctionnalités particulièrement évoluées.

ROLAP – Relational OLAP

La base ROLAP (Relational OLAP) est en fait une base relationnelle organisée pour fonctionner comme une base OLAP. Les bases ROLAP sont bien plus lentes et nettement moins performantes que les bases MOLAP.

HOLAP – Hybride OLAP

Le modèle HOLAP (Hybride OLAP) est hybride entre MOLAP et ROLAP. Il propose de cumuler les avantages des deux modèles: MOLAP et ROLAP. Les données agrégées sont stockées sous formes multidimensionnelles, alors que les données détaillées sont stockées dans des structures relationnelles.

DOLAP – Desktop OLAP

La base DOLAP (Desktop OLAP) est une base OLAP hébergée sur le poste client et qui est très limitée en taille. Cette utilisation est intéressante pour continuer à faire des analyses sur des données de manière nomade et déconnectée