I. Etude comparative des différentes SGBD sur le marché
◊ Les SGBD libres disponibles
Les SGBD se singularisent dans le monde du logiciel libre. En effet, les logiciels libres sont rarement
concurrents. Il existe des logiciels libres aux fonctionnalités proches mais le public visé est en général
différent. Les SGBD libres font donc un peu office d’exception en proposant plusieurs logiciels proches en
terme de fonctionnalités et visant un public similaire.
Nous allons, dans un premier temps, examiner les SGBD libres principalement du point de vue des systèmes sur
lesquels ils peuvent être utilisés et surtout de la taille de base visée pour l'entité M2L.
◊ MySQL
MySQL, dont la dernière version stable sortie à l'heure où ces lignes sont écrites est la version 5, est
certainement la base de données libre la plus connue. Elle est en effet la plus présente dans les entreprises en
terme de part de marché. Offrant l'avantage d'être facilement configurable pour les petites bases (moins de
cinq minutes pour installer un serveur), elle supporte l'utilisation de grosses bases contenant des millions de
lignes. La gestion des grappes (clusters) est présente mais encore fortement limitée (l'ensemble du contenu des
tables doit être présent en mémoire vive). Cette architecture (toutes les données en mémoire vive) offre
certes un temps de réponse minimum, mais impose une forte contrainte. La version 5.1, réduira cette contrainte
en imposant uniquement les index en mémoire centrale.
MySQL possède plusieurs systèmes d'écriture des données. Les systèmes de fichiers sont MyIsam, InnoDB,
BDB, etc. Les fonctionnalités supportées, comme les clés étrangères ou les transactions, sont différentes en
fonction du système de fichier choisi. Dans cette étude, nous considèrerons uniquement le système de fichier
InnoDB qui assure les fonctionnalités présentées précédemment.
MySQL fonctionne sur les systèmes suivants :
Linux
Unix: Solaris, HP-UX, AIX, SCO
BSD: FreeBSD
Apple: Mac OS
Windows
Novell: NetWare
◊ MaxDB/SAP DB
Le SGBD MaxDB est développé par MySQL AB. Les fonctionnalités sont relativement proches de celles de la
version 5 de MySQL. Certaines fonctionnalités, comme les déclencheurs (triggers), qui auparavant n'étaient
présentes que dans MaxDB, ont été portées dans MySQL. Cette importation de fonctionnalités de MaxDB dans
MySQL est encore plus marquée dans la version 5.1en cours de développement. Il semble que, dans un futur plus
ou moins proche, la fusion des deux produits sera une réalité. MaxDB supportent les grappes.
La liste suivante est un résumé des principales différences entre MaxDB et MySQL :
MaxDB ne fonctionne pas sur toutes les plates-formes supportées par MySQL
MaxDB supporte les procédures stockées. Avec MySQL, les procédures stockées sont implémentées en
version 5. Max DB supporte aussi les déclencheurs (triggers), lesquels sont en partie implémentés dans
MySQL 5 comme nous le verrons. MaxDB contient un débogueur pour les langages utilisés dans les
procédures stockées. Il peut déclencher des sous-programmes imbriqués en cascade, et supporte les
déclencheurs multiples sur action et par ligne.