OLTP et OLAP sont des catégories de traitement de données, le premier dédié aux systèmes opérationnels et le second aux systèmes décisionnels. Nous allons les découvrir et positionner par rapport à elles le concept de Big Data.

Définitions

Online Transaction Processing (OLTP)

Catégorie de systèmes de traitement de données visant à gérer en temps réel des requêtes potentiellement concurrentes à des fins de gestion d’un système opérationnel.

Dans l’exemple de la chaîne de supermarchés Quiventou, le système OLTP est le système d’information opérationnel de l’entreprise. Il sert à gérer le métier de l’entreprise : l’état des stocks, les commandes, la gestion des caisses et des achats, les ressources humaines, la comptabilité. En OLTP les requêtes sont concurrentes, car tous les processus se déroulent en même temps : de nouveaux stocks arrivent, des produits en sortent au fil des achats etc. La base est très sollicitée par beaucoup de monde, principalement en écriture. Cependant les requêtes sont plutôt simples : une modification de stock, la validation d’une transaction d’achat etc.

Lecture OLTP : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 3-6, 12-15

Lecture OLTP : Star Schema. Christopher Adamson. page 4, chapitre 2

Online Analytical Processing (OLAP)

Catégorie de systèmes de traitement de données visant à répondre à des requêtes multi-dimensionnelles sur les données à des fins d’analyse.

Dans l’exemple de la chaîne de supermarchés Quiventou, le système OLAP est le système d’information décisionnel de l’entreprise. Il sert à piloter l’entreprise pour produire des données sur les performances des processus : y a-t-il trop de stock ? Un produit donné s’est-il bien vendu ? Quel est l’âge moyen des consommateurs qui achètent des pots pour bébés etc. En OLAP les requêtes sont complexes et multi-dimensionnelles. En effet, la question sur les stocks pourrait devenir “Y a-t-il trop de stock en janvier sur les chocolats dans les supermarchés de région parisienne ?” ou encore “Y a-t-il eu trop de stock sur l’année 2019, sur la ville de Paris tout produits confondus ?”.

Lecture OLAP : Star Schema. Christopher Adamson. pages 4, 53-56

Big data

Ensemble des technologies pouvant gérer des volumes très importants de données (au-delà de la centaine de To).

Comparaison des approches

Caractéristiques OLTP OLAP Big Data
Objectif Contrôler et exécuter les tâches métier fondamentales Donner les informations pour la prise de décisions stratégiques Opérationnel et/ou décisionnel
Données Mises à jour en temps réel, elles reflètent les processus en cours Historisées, résumées, intégrées et multi-dimensionnelles Structurées ou non-structurées
Conception Normalisée Non normalisée avec une modélisation dimensionnelle Non normalisée avec un modèle par clé-valeur, document ou graphe
Interrogations Simples et retournant un faible nombre de lignes Complexes avec de nombreux agrégats Complexes avec de nombreux agrégats mais le résultat peut ne pas être consistent
Mise à jour Transactions Batch de rafraichissement Propagation sur plusieurs nœuds
Taille Faible (du Go au To) Importante (du To à la centaine de To) Très importante (au-delà de la centaine de To)

Le positionnement de l’OLAP et du Big Data fait débat depuis de nombreuses années. Lors de l’essor du Big Data nombreux pensaient que les technologies OLAP allaient disparaître. De fait ce n’est pas le cas ou pas vraiment …

Les technologies OLAP reposent sur le principe d’une bonne connaissance des besoins utilisateurs et d’une structuration des données permettant un accès quasiment instantané à des rapports qui ont été pré-calculés.

Les technologies Big Data reposent sur le principe de stocker une masse de données et de pouvoir répondre à n’importe quelle question qui n’aurait pas été imaginée auparavant. Ces technologies ont quelques inconvénients :

  • le système distribué sous-jacent ne garantit pas la cohérence des données (les mises à jours récentes peuvent ne pas avoir encore été prises en compte).
  • toutes les technologies “Big Data” ne se valent pas pour calculer efficacement des agrégats numériques et l’OLAP reste un bon choix
  • vouloir tout stocker pour ensuite questionner a un coût à la fois en ressources pour le stockage mais ensuite humain car il ne s’agit que de repousser le moment où il faut faire des choix … et avec des données faiblement structurées cette étape peut devenir compliquée.

Finalement on se dirige vers un modèle hybride : la modélisation dimensionnelle est une bonne façon de structurer les données de manière logique mais la couche physique est gérée par des technologies big data performantes pour faire des agrégats numériques et couplées avec des systèmes d’indexation performants. On couple ainsi le meilleur des deux mondes.

En résumé