Qu'est-ce que l'OLAP ?

David Alvarez Debrot
David Alvarez Debrot
February 12, 2024

L'OLAP (traitement analytique en ligne) n'est ni une technologie, ni un langage (contrairement à SQL ou Java). Cet article explore les différentes considérations liées à l'utilisation ou à la non-utilisation d'une technologie basée sur OLAP.

TABLE DES MATIÈRES
Un point de vue d'artiste sur OLAP
OLAP
Analyses
Gestion des produits
Tout

OLAP (Online AnaLytical Processing) est un concept permettant de réaliser une analyse multidimensionnelle rapide des données (MDA), permettant l'examen de données à partir de plusieurs dimensions. Cela permet des calculs complexes, des analyses de tendances et une modélisation sophistiquée des données.

Il est important de préciser que OLAP n'est ni une technologie, ni un langage (contrairement à SQL ou Java). OLAP est un concept/une méthode permettant d'organiser les données dans une certaine structure afin de faciliter l'analyse multidimensionnelle. Le terme « outil OLAP » fait référence à des plateformes telles que ICCube et Microsoft Analysis Services (SSAS), qui fournissent l'infrastructure nécessaire à la création de structures de données OLAP.

Pourquoi utiliser l'Olap ?

Le fonctionnalités principales d'OLAP sont :

Multidimensionnel: transforme des données complexes en concepts commerciaux structurels et intuitifs, ce qui facilite l'analyse des données selon différentes dimensions (par exemple, le temps, la géographie, le produit).

  • Analyse: agrégation de données telles que somme, minimum, maximum, moyenne, vecteur, etc. Supporte les analyses avancées telles que les méthodes statistiques, les régressions, les algorithmes, etc.
  • Performances de requêtes rapides: Optimisé pour la lecture et l'analyse de données multidimensionnelles.
  • Analyse ad hoc: les utilisateurs peuvent effectuer des requêtes spontanées à la volée pour explorer les données sans avoir besoin de rapports ou de tableaux de bord prédéfinis.

Schéma ou modèle

Avant d'effectuer une analyse OLAP sur vos données, vous devez d'abord créer un modèle ou un schéma à partir de vos sources de données ou de votre entrepôt de données. Les sources de données les plus courantes sont les bases de données SQL, mais il peut s'agir de données provenant de n'importe quelle source (par exemple, fichiers plats, IoT, Google Analytics). L'objectif est de transformer les données de la nomenclature technique en termes spécifiques à un domaine qu'un utilisateur professionnel peut facilement utiliser, c'est-à-dire une sémantique.

Les Dimensions sont une catégorisation de vos données. Les dimensions typiques sont le pays, les personnes, l'âge, le produit et la couleur. Les dimensions peuvent être hiérarchiques, par exemple dans une dimension temporelle avec des années, des trimestres et des jours, ou dans une dimension géographique avec un continent, une région, un pays et une ville.

Les Mesures sont des mesures qui peuvent être agrégées sous forme de somme, de minimum, de maximum, de moyenne (par exemple, le montant des ventes, les températures).

Une fois le schéma défini, les utilisateurs peuvent désormais commencer à interroger les données. Faites glisser et déposez les dimensions et les mesures pour générer des informations, telles qu'un tableau indiquant le continent, l'année et le montant des ventes. C'est ce qu'on appelle découpage en dés (choisissez des valeurs spécifiques de plusieurs dimensions pour créer un sous-cube) :

Un example de découpage
Qu'est-ce que OLAP : exemple de découpage de tableaux

La capacité d'afficher des informations agrégées dans chaque cellule est connue sous le nom de enrouler (rollup). Bien que des milliers de ventes puissent avoir lieu en Afrique en 2018, seules les informations résumées ou agrégées sont affichées.

Le filtrage du tableau ci-dessus, par exemple pour un produit donné, est appelé Découpage (slice) (choisissez une valeur unique pour une dimension afin de créer un sous-cube).

Forage vers le bas (drilldown), le contraire de Forage vers le haut (rollup), permet d'entrer dans les détails d'un continent ou d'une année, en tirant parti de la structure hiérarchique de la dimension. Le résultat final ressemblera à ceci :

Un example de forage vers le bas
Qu'est-ce que OLAP : exemple d'exploration d'un tableau

Le Forage vers le Haut et vers le Bas, ainsi que Découpage, constituent la base des interactions OLAP.

Les outils de Business Intelligence (BI) peuvent servir de clients à un serveur OLAP et fournir le résultat visuel (au moyen de graphiques et de filtres) des requêtes OLAP.

La vue des dimensions dans l'axe et des valeurs dans les cellules est la raison pour laquelle vous pouvez considérer OLAP comme un cube. Mais il s'agit d'un vue conceptuelle, pas physique.

Comment fonctionne l'OLAP ?

Nous pouvons utiliser un exemple très simple. En tant que données d'entrée, nous avons un tableau avec quelques colonnes :

Une table excel avec des données brutes
Qu'est-ce que OLAP : exemple de table de saisie

Lors du calcul des ventes pour l'Asie en 2018, OLAP filtrera le tableau pour toutes les lignes avec l'Asie et 2018. Sur ce sous-tableau filtré, agrégez la mesure de la valeur attendue, somme des ventes (500+500 = 1000). Pour ceux qui connaissent SQL, cela ressemble à un grouper par opération.

Il s'agit d'un exemple très simple, car les solutions OLAP prennent en charge l'agrégation et les calculs avancés, notamment les analyses statistiques, de régression, de comparaison et de classement. Des solutions plus avancées permettent aux dimensions elles-mêmes d'être des transformations mathématiques.

Langages de requête OLAP

Contrairement aux bases de données relationnelles qui utilisent SQL, OLAP ne possède pas de langage de requête standardisé.

Cependant, en 2001, Microsoft a publié MDX qui signifie MmultidDimensionnel Expression. Il s'agit d'un langage utilisé par différents outils qui prennent en charge l'OLAP. Excel est un exemple de client utilisant MDX. Un tableau croisé dynamique Excel peut être connecté à un serveur prenant en charge MDX via Protocole XMLA.

Les autres outils ne prenant pas en charge MDX auront leur propre langue qui pourra être traduite en SQL. Si vous êtes intéressé par MDX, vous pouvez lire ceci Présentation en douceur de MDX.

Types d'OLAP

MOLAP (OLAP multidimensionnel) : le système charge les données sous-jacentes dans une structure interne. Cette structure peut être un fichier sur disque ou une structure en mémoire. Cela fournit des réponses rapides avec un temps de chargement égal à celui de la mémoire/du système de fichiers. L'avantage d'avoir cette structure distincte est que les requêtes accèdent aux données dans ce système interne, et non directement aux sources de données. Cela signifie que les requêtes analytiques, qui peuvent être assez lourdes, ne ralentissent pas les serveurs de production.

ROLAP (OLAP relationnel) : le système effectuera l'analyse directement dans la source de données relationnelle sous-jacente, une base de données compatible SQL. Cela fournit une réponse plus lente et n'a pas la puissance analytique et la flexibilité de MOLAP, mais il n'est pas nécessaire de charger les données et de nécessiter des ressources locales telles que de la mémoire ou de l'espace disque. Les outils transforment les requêtes des utilisateurs finaux en SQL, puis les exécutent sur la base de données de production.

HOLAP (OLAP hybride) : combine MOLAP et ROLAP, ce qui présente des défis techniques en raison de la complexité de l'intégration des deux modèles.

Le OLAP d'icCube

icCube est basé sur une base de donnée colonnaires en mémoire et élimine plusieurs des contraintes qui rendaient les Cubes Multidimensionnels (Cubes OLAP) intensifs en resources et rigides, tout en préservant la compatibilité avec les normes du secteur dans le monde des rapports et des analyses.

Voici quelques-unes des contraintes levées par ICCube :

Plus besoin de restructurer les données dans un schéma en étoile ou en flocon de neige, ce qui est compliqué à réaliser au niveau de la source.

  • Sortir des associations triviales de type clé (par exemple, plusieurs-à-plusieurs, plage).
  • Cartographie via un couche sémantique.
  • Les catégories permettent d'introduire de nouvelles dimensions à la volée afin de simplifier le processus de modélisation.
  • Membres de dimension qui sont des calculs (par exemple, convertissent la température en degrés Celsius ou calculent une moyenne mobile).
  • Aucune pré-agrégation n'est requise (toutes les agrégations sont calculées à la volée).
  • Langage MDX+ (support fonctionnel, extensions orientées objet et de nombreuses nouvelles fonctions d'assistance).
  • Interface client pour gérer les schémas, le déploiement et le chargement.

Quand ne pas utiliser OLAP ?

OLAP est conçu comme un système en lecture seule, ce qui le distingue des systèmes transactionnels tels que les bases de données relationnelles (DBMS) ou Traitement des transactions en ligne (OLTP) plateformes. Contrairement aux outils destinés aux data scientists, OLAP n'est pas optimisé pour effectuer des calculs approfondis sur de vastes ensembles de données.

Étapes Suivantes

Maintenant que vous avez une compréhension théorique de base de ce que sont les hypercubes OLAP et de ce que signifie l'analyse multidimensionnelle, nous vous recommandons de consulter notre autre article de blog vous donnant quelques exemples pratiques d'OLAP ainsi que de consulter notre introduction douce à MDX dans notre documentation..