Banière du site

[koala01.free.fr]->Tutoriaux->Initiation aux base de données ->OLAP Vs OLTP

Image d'imprimante   image d'enveloppe

4.1 OLAP ? OLTP ? kessako ?

Il y a moyen de classer toutes les bases de données que l'on rencontre en deux grandes catégories, selon que l'on prévoie d'utiliser les bases de données principalement à des fins d'analyse ou, au contraitre, à des fins de mises à jour des données.

Selon le cas, on parlera d'une base de données OLAP (acronyme de On Line Analytical Process, ou, si vous préférez en français Processus d'Analyse En Ligne) ou, au contraire, d'une base de données OLTP (acronyme de On Line Transactional Process, ou, si vous préférez en français, Processus de Transaction En ligne)

Le choix du type de base de données sera effectué dés la conception.

fleche haut

4.2 Les bases de données OLAP

Les base de données OLAP sont, comme le terme l'indique, destinées avant tout à l'analyse des données qu'elles contiennent.

Leur but indirect sera d'être en mesure d'accéder rapidement aux informations, et ce même si le nombre d'informations à traîter est très important.

Pour accélerer l'accès aux données, la base sera conçue avec une forte redondance des données et de (très) nombreux index.

Bien souvent (même si ce n'est absolument pas obligatoire) les tables seront composées de très nombreux champs.

fleche haut

4.3 Les bases de données OLTP

A contrario, les bases de données OLTP seront prévues pour faciliter les transactions, c'est à dire, les ajouts, modifications et suppressions de données.

Pour facililiter au mieu les transactions, les informations seront traîtées avec un minimum de redondance et avec aussi peu d'index que possible.

Les tables seront composées d'un nombre de champs aussi faible que possible, et, autant que faire se peut, on évitera les champs susceptibles de rester vides.

fleche haut

4.4 Quel type choisir?

Il ne faut pas être grand clerc pour se rendre compte que, si un distingo est fait entre ces deux grands types de bases de données, c'est que des différences majeures les séparent, et, visiblement, pas seulement du point de vue de leur conception.

Les bases de données de type OLAP permettront, certes l'accès plus rapide à leurs données, mais en retour, seront beaucoup plus compliquées à mettre à jour, ne serait-ce que parce que la modification d'une valeur peut très bien provoquer la modification de plusieurs enregistrements d'une même table, voire même, provoquer la modification de plusieurs enregistrements de plusieurs tables.

Du fait de la forte redondance des données que l'on risque fort de rencontrer, du nombre élevé de champs et du nombre tout aussi élevé d'index, les bases de données de type OLAP prendront bien souvent beaucoup plus de ressources (espace disque et ressources mémoire/système) que les bases OLTP.

Cette utilisation de beaucoup de ressource se jusifie néanmoins quand on veut pouvoir disposer "rapidement" d'une information précise noyée dans une base de données (très) importante.

Les bases de données de type OLTP, quant à elles rendront les modifications des données extrèmement rapide, du simple fait qu'elle ne s'appliquera le plus souvent que sur une seule table, et souvent que sur un seul enregistrement.

Il faut bien se comprendre sur la signification du terme "base de données (très) importante".

Si, pour le commun des mortels, envisager avoir ne serait-ce que quelques milliers d'enregistrements ou d'informations peut parraître énorme, ce n'est encore rien comparé à certains systèmes auxquels nous pouvons être confrontés tous les jours sans même nous en rendre compte.

Pensez par exemple au nombre journalier de payements effectués par voie de carte banquaire, et aux retraits d'argents aux différents distributeurs automatiques effectués dans un pays (rien qu'en Belgique, il n'est pas rare de voir des millions de transactions sur la journée)… Soixante ou cent mille transactions ne représentent encore qu'une goutte d'eau dans cet océan de transactions.

Le système qui les prend en charge reste malgré tout de type OLTP.

Ces transactions banquaires seront ensuites réintroduites dans un système de type OLAP pour pouvoir les analyser par rapport aux années précédentes.

Bien sûr, il est impensable d'avoir une base de données dans laquelle aucune recherche ne sera effectuées, tout comme il est impensable d'en avoir une dans laquelle aucune mise à jour ne serait faite.

Cependant, une des questions à se poser pour le choix du type de base de données est clairement «Vais-je passer plus de temps à observer les données pour en tirer des conclusions, ou, au contraire, vais-je passer plus de temps à modifier les données? ».

Si, déjà, la réponse tend vèrs la seconde possiblité, vous pourrez vous diriger clairement vèrs la création d'une base de données OLTP.

Ce sera systématiquement le cas dés que votre base de données sera destinée à gérer au quotidien un stock, des commandes, des clients et des fournisseurs, un forum ou un livre d'or.

Si, par contre, la réponse tend vers la première solution, il restera encore à se poser la question de savoir si l'importance de la base de données justifie réellement l'utilisation d'un système OLAP.

En effet, le gain de temps obtenu lors d'une recherche sur un champs indexé n'est réellement observable que dans le cas de bases de données (très) importantes, et reste négligeable même dans le cas d'une base de données contenant quelques milliers d'enregistrements, et sans doute sans aucune mesure avec la perte de temps qui sera induite lors de la mise à jour.

De manière générale, à part le cas pour lequel vous souhaîteriez créer une base de données ayant pour but d'analyser la production, les importations ou exportaitons au niveau national sur plusieurs années ou d'analyser les résultats d'une société très importante, le type OLTP semble souvent être un choix correct.

image d'imprimante   image de mail   fleche haut

Evaluation donnée par les visiteurs
Cette page a été évaluée 16 fois et a obtenu une moyenne de bien expliquée
Mon appréciation sur la compréhensibilitéde cette page est:
  • incompréhensible
  • mal expliquée
  • compréhensible, sans plus
  • bien expliquée
  • très bien expliquée

fleche haut

[koala01.free.fr]->Tutoriaux->Initiation aux base de données ->OLAP Vs OLTP

Copyright (©) 2005 (Philippe Dunski)

Ce cours est libre, vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU publiée par la Free Software Foundation (version 2 ou bien toute autre version ultérieure choisie par vous).

Ce cours est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE, ni explicite ni implicite, y compris les garanties de commercialisation ou d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU pour plus de détails.

Cependant, l'auteur apprécierait grandement que vous lui fassiez part de toute modification apportée à son contnu

Vous pouvez le contacter par mail à l'adresse koala01@free.fr

Vous pouvez trouver une adaptation française de la licence GNU/GPL à l'URL http://www.linux-france.org/article/these/gpl.html