Mysql est un SGBD très pratique pour des bases de données

January 8, 2018 | Author: Anonymous | Category: Ingénierie, Informatique, Databases
Share Embed Donate


Short Description

Download Mysql est un SGBD très pratique pour des bases de données...

Description

Projet Informatique Partie Base de Données

BOUCHEROT Kevin - BOUCHER Aymeric - CAMHAJI Timothée - VIBET Frederic

SOMMAIRE





Première partie

3-8

I. Etude comparative des différentes SGBD sur le marché

3-5

II. Choix sgbd en fonction de l'entité M2L

6

III. protection des données

6

IV. Synthèse et choix de la SGBD

7-9

Deuxième partie

I. Modèle Conceptuel de Données (MCD), Modèle Physique de Données (MPD)

9

9

2

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.

3

MaxDB fonctionne sur les systèmes suivants :  Linux  Windows ◊

INGRES

INGRES (la dernière version : INGRES 2006) est un SGBD relationnel qui vient d’entrer dans le monde du libre. Cette base de données est d’une installation simple et supporte les bases allant de quelques lignes à une taille demandant l’utilisation d’une grappe (cluster). Elle respecte la norme SQL-92 avec beaucoup d’extensions propriétaires. Les transactions simples et distribuées sont ainsi implémentées. INGRES fonctionne sur les systèmes suivants :  Linux  Unix: Solaris, HP-UX, AIX, OpenVMS  Windows ◊

PostgreSQL

Autre grand nom de la base de données libre, PostgreSQL, dont la version actuelle est la 8.1, est une base de données relationnel objet (Possibilité de stocker des objets dans la base). Le SGBD supporte une grande partie de la norme SQL et offre les fonctionnalités des bases de données modernes comme les requêtes complexes, les clés étrangères, les déclencheurs, les vues. Il supporte aussi l’objet relationnel dont les extensions sont spécifiées dans la norme PostgreSQL fonctionne sur les systèmes suivants:  Linux  Unix  Windows

◊ Les SGBD en progression



Berkeley DB

Racheté par Oracle, cette base est présente dans d’autres produits comme par exemple MySQL grâce à une implémentation pensée pour l’intégration. De par la façon dont Berkeley DB stocke les informations (Clé, Valeur stockée avec les types de l’application), elle est le choix idéal pour les requêtes prédéterminées portant sur des données mouvantes tandis que les SGBD traditionnels sont plus performants sur les requêtes dynamiques portant sur des données statiques. OpenLDAP, un serveur libre d’annuaire, utilise cette base car la structure Clé/Valeur donne de meilleures performances. Ce produit est décliné en deux versions :  la version de base  une version optimisée pour Java, utilisée par exemple par Sun dans certains de ses  produits Berkeley DB fonctionne sur les systèmes suivants :  Linux  Windows  Et sur tous les systèmes supportant JAVA.

4



Firebird

Ce challenger de MySQL, en terme de part de marché, est l'étoile montante dans le firmament des SGBD libres. La dernière version stable à l'heure où ces lignes sont écrites est la version 1.5, la version 2.0 étant encore en bêta. Les bases de données supportées par Firebird vont de la petite base ne contenant que quelques lignes à de bases de taille importante en comportant plusieurs millions. Firebird 2 possède un grand nombre de nouvelles fonctionnalités. Parmi celles-ci, les tables temporaires alimentées par requête (derived table), une augmentation de la taille maximale des tables, une gestion améliorée des index supprimant la limite de 252 octets, une amélioration de l'optimisation des requêtes et le support des sauvegardes incrémentales à chaud. La liste des fonctions supplémentaires qui seront présentes dans la version 3 est longue. Parmi celles-ci, l'amélioration du support de la norme SQL : le SGBD supportera les requêtes récursives, la notion de schéma et même les grappes (clusters). Firebird fonctionne sur les systèmes suivants :  Linux  Unix: Solaris, HP-UX  BSD: FreeBSD  Apple: Mac OS  Windows ◊

Apache DB

Le projet Derby est une base de données entièrement écrite en Java. Ce SGBD ne supporte pas la gestion des droits utilisateurs, ni complètement les jointures externes ou encore les déclencheurs, il ne peut donc pas être pris en compte dans ce comparatif. Derby fonctionne sur les systèmes suivants :  Linux  Windows  Et sur tous les systèmes supportant JAVA. ◊

HypersonicSQL

HypersonicSQL est un SGBD écrit en java. Il respecte l’ensemble des critères énoncés comme les transactions, les déclencheurs, la gestion des droits des utilisateurs. Par contre, il ne supporte pas les grappes (clusters). HypersonicSQL fonctionne sur les systèmes suivants :  Linux  Windows  Et sur tous les systèmes supportant JAVA. ◊

PicoSQL

PicoSQL est un SGBD écrit dans le but de pouvoir être facilement installé et d’utiliser peu de mémoire. Il supporte les transactions et même les vues en mise à jour. Malheureusement, la gestion des déclencheurs ainsi que celle des droits des utilisateurs ne sont pas encore présentes. PicoSQL fonctionne sur les systèmes suivants :  Linux  Windows

5



Daffodil DB

Daffodil DB et One$DB, sa version libre et gratuite, contiennent les mêmes fonctionnalités. Entièrement écrit en Java, ce SGBD est basé sur la norme SQL-99. Pour information, l’objet relationnel n’est pas implémenté dans Daffodil DB. One$DB fonctionne sur les systèmes suivants :  Linux  Windows  Et sur tous les systèmes supportant JAVA. ◊

SQLite

SQLite est une petite librairie C qui gère un SGBD sans configuration. Le manque de fonctionnalités importantes, comme les déclencheurs, les jointures externes, les clés étrangères ainsi que l’inexistence de la gestion des droits utilisateurs (Grant et Revoke), fait que ce SGBD ne sera pas l’objet d’une étude approfondie.

II. Choix sgbd en fonction de l'entité M2L

◊ Pour l'entité M2L, nous avons regroupé les points les plus important afin que la base de donnée soit parfaitement exploitable. Voici les quelques règles à respecter pour le choix de notre SGBD : 

Le volume des données va augmenter considérablement (chaque base va faire entre 2 et 10Go)



Accessibilité des données à plusieurs personnes simultanément en lecture et écriture et via un site web.



Le système doit assurer la fiabilité des données : la possibilité d’exécuter des transactions4 doit être présente. Le système doit offrir la possibilité à plusieurs utilisateurs de manipuler les données concurremment, c'est-à-dire qu'il doit gérer des utilisateurs différents et verrouiller les enregistrements. Le système doit assurer la confidentialité des données par l'existence d'une gestion des droits utilisateurs.

 

III. protection des données ◊ La sécurité d'une base dépend principalement de la définition des droits de chaque utilisateur. Il est cependant possible de se prémunir contre certains types d'attaques dirigées vers un SGBD par l'utilisation d'un pare-feu (firewall) ou des éléments réseaux empêchant l'écoute des communications, comme les commutateurs (switches). Maintenir à jour le SGBD et le système d'exploitation en installant les mises à jour de sécurité est indispensable afin de supprimer les risques dus aux failles. Dans tous les cas, la définition des droits des utilisateurs est primordiale. Ils définissent quels utilisateurs ont quels droits sur quels objets et sécurise le SGBD contre toute manipulation malencontreuse. L’écriture de programmes, ou mieux de déclencheurs (Trigger), peut aider à vérifier l’intégrité des données.

6

IV. Synthèse et choix de la SGBD



Tableau comparatif des SGBD

Avantages

Inconvénients

- Grande base de donnée. Pour plus de 200Go et plus 300 utilisateurs, les écarts de performances sont visibles par rapport à d’autre SGBD Oracle

- richesse fonctionnelle - tout est paramétrable. - Service web

- prix élevé: environ 45000€ pour un serveur - Administration complexe - gourmand en ressource mémoire - certains bug

Très puissant

MySQL

- Gratuit open source

- Ne convient pas pour de grosses bases de

- Simple d’installation et d’utilisation

données

-Fonctionnel rapidement

- sécurité moyenne

- bonne intégration dans l’environnement Apache/PHP

- pas de sauvegarde à chaud

- Service Web

- peu de richesse fonctionnelle - Disponible seulement sur Windows

SQL Server

- Administration aisée

- Mono-plateforme (MS windows)

- Une des bases les plus performantes sous Windows

- Depuis la version 2005, plus de prise directe sur

-Services Web

les tables système (remplacées par de vues

-Support XML

système)

- Supporte les 4 niveaux d’isolation transactionnelle de la norme - Il peut être plus « coûteux » de parcourir les SQL

pages d’index que d’analyser la table dans son

- Compression des données

intégralité. - Pas de java, oientation C#



Résumé du tableau    

Les 3 SGBD incluent le service web SQL Server est mono plateforme, on peut donc l’éliminer Au niveau de la performance, Oracle prend le dessus par rapport à MySql Cependant, au niveau du prix, cela ne fait aucun doute que MYSQL est plus abordable qu’Oracle du fait qu’il est libre.

 Nous avons décidé d'exploiter le logiciel MYSQL, en effet celui ci correspond au mieux à l'attente des utilisateurs et c'est celui qui correspond au mieux à notre cahier des charges.

7

Mysql est un SGBD très pratique pour des bases de données moyennes et donc très adaptée pour cette base de donnée qui fait entre 2 et 10Go. La différence de performance avec Oracle sera nulle. De plus MySQL est très simple à installer et la prise en main est facile . La migration de la base access vers la base mysql s’est déroulée sans problème majeur grâce au logiciel bullzip. De part sa gratuité, et en comparaison avec oracle (45000€ environ) et mysql serveur (4000€), on peut dire que c’est la plus abordable. De plus son espace de stockage est largement suffisant pour la base de donnée de ce projet (3 tables) puisque ce SGBD peut fournir jusqu’à 4 gigas par table ( cela est donc suffisant pour les 2 à 10 gigas de bases de données). On peut donc dire que mysql est le SGBD le plus adapté à notre projet et le moins coûteux en considérant le rapport qualité prix.

8

I. Modèle Conceptuel de Données (MCD), Modèle Physique de Données (MPD) ◊ MCD

◊ MPD

9

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF