Projet, Base de Données Département de Génie Industriel SI SCO 3ème année « Génie Industriel» Année Universitaire 2002 / 2003 COMPARATIF SGBD: MySQL - ORACLE – PostgreSQL SOMMAIRE I. Règles de Comparaison ..................................................................................................2 II. MySQL ...........................................................................................................................3 1. Respect des grands principes des SGBD ....................................................................3 2. Performances ..............................................................................................................3 3. Coût ............................................................................................................................3 III. Oracle..............................................................................................................................4 4. Respect des grands principes des SGBD ....................................................................4 5. Performances ..............................................................................................................4 6. Coût ............................................................................................................................4 IV. PostgreSQL.....................................................................................................................5 7. Respect des grands principes des SGBD ....................................................................5 8. Performances ..............................................................................................................5 V. Conclusion ......................................................................................................................8 SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 1 sur 8 Une fois le cahier des charges réalisé et les caractéristiques de notre base de données bien ciblées, il nous reste à définir le logiciel de création de la base de données avant de passer à l’implémentation du système. Nos connaissances sur les bases de données nous a tournés très clairement vers un combat entre trois logiciels très puissants : MySQL, qui est un choix de base de données relationnelle, Oracle, qui s’apparente davantage à un logiciel de création de base de données orientées objet et PostgreSQL qui apparaît comme une solution intermédiaire relationnelleobjet. Le but de ce comparatif est de lister les principales caractéristiques des trois logiciels afin de choisir le logiciel qui nous servira de support pour la création de la base de données SISCO. I. Règles de Comparaison Nous allons essayer d’argumenter un choix entre MySQL, Oracle et PostgreSQL, sachant que les critères essentiels attendus pour un SGBD sont : Respecter les grands principes des SGBD : langage SQL standard, sécurité des données/confidentialité. Les performances : le temps de réponse aux requêtes doit être « acceptable ». Coût du produit et licence associée. SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 2 sur 8 II. MySQL 1. Respect des grands principes des SGBD SQL Standard ! Non Le langage SQL est incomplet et non standard. Entre autres : . Pas de requêtes imbriquées. . Pas de vue. . Pas de gestion de l’intégrité référentielle (foreign key, …). . Les déclencheurs, les procédures, les fonctions n’existent pas. . Absence des opérateurs ensemblistes (union, ...). Les outils d’utilisation de MySQL sont relativement dispersés et de nombreux logiciels (tous accessibles librement sur internet) sont nécessaires. Sécurité des données, confidentialité D’après la documentation un système de fichier de log existe, mais doit être géré complètement à la main par l’administrateur (déclenchement et sauvegarde). Un utilitaire « mysqldump » permet de sauvegarder la base périodiquement, c’est à l’administrateur de le gérer (création d’un fichier de type texte contenant les ordres sql de création de la base et de chargement des données). La gestion des utilisateurs se fait de façon traditionnelle via le langage SQL, incluant la notion de « host » pour gérer les accès clients, locaux et distants. 2. Performances D’après la littérature, les performances de MySQL sont bonnes, sachant qu’il s’agit principalement d’application de consultation de données. La pose judicieuse d’index sur les attributs d’une table est importante. Penser à utiliser régulièrement l’utilitaire « myisamchk » pour recompacter les données dans les fichiers physiques de la base, surtout suite à une grosse mise à jour. On peut également noté que les bases de données MySQL sont assez peu évolutives et que MySQL s’adresse davantage à des bases de données simples. Pour l’interfaçage et la création de sites web, PhpMyAdmin permet une gestion de MySQL via le langage Php. Une formation sera donc nécessaire pour le gérant de la base de données. Concernant l’utilisation future du logiciel, un seul utilisateur est possible en mise à jour (ce qui pourrait engendrer des problèmes d’organisation pour la scolarité), et cette application est uniquement une application de consultation (essentiellement génération de pages web dynamiques). De plus la prise en main des logiciels n’est pas évidente. Enfin il faut remarquer le manque de compatibilité avec le logiciel Apogé. 3. Coût MySQL est un logiciel libre, il n’y a donc aucun problème de licence utilisateur. A noter également qu’il est possible de trouver bon no mbre de manuels, didacticiels et autres aides en ligne via l’internet. SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 3 sur 8 III. Oracle 4. Respect des grands principes des SGBD SQL Standard ! Les standards SQL sont dans l’ensemble assurés. Malgré tout l’apport d’un logiciel tel Oracle trouve toute son importance dans la création de bases de données orientées objet (également via UML) et semble quelque peu surdimensionnée par rapport à l’utilisation qu’il en serait faite. Sécurité des données, confidentialité Au niveau de l’administration, ORACLE est complexe et nécessite une formation minimum d’une semaine pour un futur administrateur (cours DBA). En contre partie cela permet une gestion pointue de l’organisation physique de la base et des droits d’accès des utilisateurs. 5. Performances Oracle s’adresse aux bases de données complexes, avec des données sensibles, ne supportant pas la perte de données suite à un crash machine et restauration de la base, nombreux utilisateurs en mise à jour simultanée. Oracle est également très performant concernant la gestion des utilisateurs connectés, les temps d’accès... en revanche une si grande performance entraîne forcément une importante complexité de mise en oeuvre et d’installation. Il apparaît ainsi la nécessité d’un gérant à part entière de la base de données future (avec une formation adéquate). En outre, le temps nécessaire à l’installation, sa complexité et le manque de formation sous Oracle que nous avons suivi exigerait l’appel à une société de service extérieure à l’école afin d’en réaliser l’intégration (d’où un coût important). L’avantage de Oracle est une compatibilité totale avec Apogée. 6. Coût C’est là le plus gros défaut d’Oracle. Il s’agit sans nul doute du meilleur SGBD mais le prix peut s’avérer rédhibitoire, car s’élève à environ 100 000 Euros rien que pour la licence, à cette somme doit être ajoutés les différents frais d’installation et de formation sur le système. SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 4 sur 8 IV. PostgreSQL 7. Respect des grands principes des SGBD SQL Standard ! PostrgeSQL honore quasiment toutes les constructions SQL ( y compris le s sous-requêtes, les transactions, les fonctions, les types définis par l’utilisateur, les contraintes, les déclencheurs). Il se place dans la catégorie des SGBD relationne -objet par des notions de classe et d’héritage et est utilisable par de nombreux langages tels que Java, C/C++, Perl, Tcl, Python, PHP. Sécurité des données, confidentialité Un mécanisme de Write Ahead Log permet de maintenir la base dans un état cohérent. La sauvegarde automatique de la base est possible périodiquement par un utilitaire intégré. La gestion des utilisateurs se fait de façon traditionnelle à l’exception près que les mots de passe utilisateurs se retrouvent en clair dans une table du catalogue système. La notion de « groupes » est également appliquée. 8. Performances Les p erformances de PostgreSQL sont analogues à celles de MySQL, les temps de réponse sont corrects.Un utilitaire permettant d’optimiser les requêtes après un grand nombre de mises à jour est disponible, ce dernier permet également de compacter les différentes données de la base. Comme il a été dit précédemment, l’interface avec la base de données elle -même peut se faire grâce à plusieurs langages : Java, C/C++, PHP ce qui multiplie les possibilités offertes et l’adaptabilité du SGBD sur de nombreux supports. L’installation de PostgreSQL et la création d’une base se fait très rapidement et sans réelle difficulté grâce aux documentations libres de droit que l’on peut se procurer facilement. En revanche une faiblesse est à noter : La gestion de l’espace disque qui est loin d’être optimale. Un même serveur PostgreSQL peut gérer plusieurs bases de données. Taille Maximum d’une base : Pas de limite Taille Maximum d’une table : 64 Tera Octets sur tout OS Taille Maximum d’un attribut : 1 Go Nombre de colonnes dans une table : 1600 Nombre max d’index dans une table : Pas de limite SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 5 sur 8 Graphiques de performances : Ci après quelques graphiques mettant en avant les performances comparées d’Oracle et de MySQL : SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 6 sur 8 SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 7 sur 8 V. Conclusion ORACLE : Bases de données complexes, avec des données sensibles, ne supportant pas la perte de données suite à un crash machine et restauration de la base, nombreux utilisateurs en mise à jour simultanée. De plus il est à prendre en compte le problème du coût des licences et une formation est indispensable pour les DBA. MYSQL : Bases de données simples, un seul utilisateur en mise à jour, uniquement application de consultation (essentiellement génération de pages web dynamiques). Le coût est zéro et pas besoin de formation spécifique. PostgreSQL : Solution « Hybride » de par son approche relationnelle et objet. Ce système apparaît également comme un bon compromis entre les versions de MySQL, libre mais incomplète, et Oracle, complète, puissante mais très coûteuses. Supporte une perte de données suite à un crash machine. SI SCO Comparatif SGBD Version 2 16/12/2002 LC, LG Page 8 sur 8