Articles recents
Approche du stockage et de la manipulation de données par SGBD Oracle, SQL Server, MySQL et Ms Access
- Obtenir le lien
- X
- Autres applications
Par
Pierrot Mukendi Ngalamulume, Cédrick Muamba Muya
Résumé
Dans cet article, il est question de faire une étude comparative entre différents systèmes de gestion de base de données en se basant sur la manière de stocker et de manipuler les données, pour permettre aux concepteurs de faire un choix judicieux d’un SGBD selon le besoin exprimé par l’entreprise, sa taille (petite, moyenne ou grande entreprise) et sa capacité financière. Cette étude est basée sur les critères tels que : les outils d’administration, la capacité de stockage, le prix du logiciel, le temps de réponse ainsi que la performance.
Introduction
Les bases de données ont pris aujourd’hui une place essentielle dans l’Informatique, plus particulièrement en gestion. Au cours des trente dernières années, des concepts, méthodes et algorithmes ont été développés pour gérer des données sur mémoires secondaires ; ils constituent aujourd’hui l’essentiel de la discipline « Bases de données ». Cette discipline est utilisée dans de nombreuses applications. Il existe un grand nombre de Systèmes de Gestion de Bases de Données qui permettent de gérer efficacement de grandes bases de données. Les bases de données constituent donc une discipline s’appuyant sur une théorie solide et offrant de nombreux débouchés pratiques.
Le système qui assure la gestion de base de données est dit Système de Gestion de Base de Données, objet de notre étude. Plusieurs Systèmes de Gestion de Base de Données sont disponibles sur le marché, choisir un d'entre eux n'est pas une chose facile, on peut facilement dire je veux travailler avec celui-ci ou travailler avec celui-là mais le plus difficile est comment opérer son choix ? Notre objectif est de mettre en œuvre une comparaison réelle entre des différents SGBD pour aider les concepteurs à bien choisir un SGBD qui leur convient selon le besoin présenté par une entreprise. Pour atteindre cet objectif, nous avons mené une étude comparative entre quatre Systèmes de Gestion de Base de Données en nous basant sur les critères suivants : Outils d'administration, capacité de stockage, prix et performances.
1. Généralités sur les Systèmes de Gestion de Base de Données
1.1. Définitions
Une base de données est un ensemble structuré de données enregistrées sur des supports accessibles par l’ordinateur représentant les informations du monde réel et pouvant être interrogées et mise à jour par une communauté utilisateur.
Le logiciel qui gère une base de données s'appelle un Système de Gestion de Base de Données. On le désigne généralement par son sigle SGBD (DBMS en anglais, pour Data Base Management System). C’est un ensemble des programmes jouant le rôle d’interface entre l’utilisateur et les bases de données c’est-à-dire, il permet à l’homme d’utiliser les différentes fonctionnalités de la base de données (création, mise à jour, stockage, consultation, …). Ou encore un logiciel permettant de concevoir et de gérer les bases de données.
Le SGBD de deuxième génération dite SGBDR marque une évolution importante de la mécanique de rapprochement de l’information. À la suite de recherche au centre d’IBM San José, E.F. CODD propose en 1970 une théorie rigoureuse pour l’élaboration d’un modèle de données constitué de relation c’est-à-dire le tableau à deux dimensions, la première volonté du modèle relationnel fut d’être un modèle ensembliste simple (Foucret, 2003).
Dans le milieu professionnel, on retrouve principalement des SGBDR client/serveur même si les solutions en fichiers partagés ont eu leur heure de gloire et sont encore utilisées dans certaines applications. L'apparition de SGBDR client/serveur gratuits a fortement contribué à populariser ce modèle ces dernières années. Le modèle client/serveur nécessite généralement la présence d'un serveur, qui traite les requêtes transmises par le client et lui retourne le résultat. Dans ce comparatif nous avons choisi 4 SGBD : deux sont free, les deux autres sont payants, un opensource et les trois autres non. Deux font partie des produits lourds et deux des légers (Hainaut, 2000).
1.2. Systèmes de gestion des bases des données
1.2.1. SGBD SQL Server
Produit par Microsoft, SQL Server est un Système de Gestion de Base de Données Relationnelles. Le stockage, la manipulation et l'analyse de ces données se font au sein de son moteur de bases de données. Ce service permet la réalisation de nombreuses applications, requêtes, et transactions, notamment grâce au langage T-SQL (Transact-SQL).
Parmi les avantages de SQL Server nous citons : Administration aisée; fonction d'audit évoluée; indépendance entre les diverses bases, facilitant l'intégration de plusieurs applicatifs dans une même instance; une des bases les plus performantes sous Windows en configuration par défaut; Optimiseur statistique enrichi à flux tendu; langage T-SQL très convivial, intégration de CLR; gestion de l'indexation textuelle ; niveau de SQL très près de la norme SQL et implémente presque toutes les possibilités de SQL; Services Web et Support XML; Ordonnanceur intégré; Compression des données et des sauvegardes.
Malgré tous ses avantages, le SQL Server a des inconvénients: distributions fortement liées au système d'exploitation; jungle des versions, mais fonctionnalités cantonnées dans les éditions Enterprise, Développer et Standard; mono-plateforme (MS Windows); depuis la version 2005, plus de prise directe sur les tables système (remplacées par de vues système); toujours pas de cluster (hormis en actif-passif, en se basant sur le cluster OS); pas certifié SQLJ, pas d'intégration Java, orientation C# ; pas de contraintes d'unicité multi null.
1.2.2. SGDB Oracle
Oracle, édité par Oracle Corporation (qui édite également MySQL) est un SGBDR payant. Son coût élevé fait qu'il est principalement utilisé par des entreprises. Oracle gère très bien de grands volumes de données. Il est inutile d'acheter une licence oracle pour un projet de petite taille, car les performances ne seront pas déférentes de celles de MySQL ou d'un autre SGBDR. En revanche, pour des projets conséquents (plusieurs centaines de Go de données), Oracle sera bien plus performant. Par ailleurs, Oracle dispose d'un langage procédural très puissant (du moins plus puissant que le langage procédural de MySQL).
Comme tout SGBD nous indiquons quelques avantages d'Oracle: richesse fonctionnelle; fonction d'audit évolué; Row Level StorageSecurity (RLSS): permet de ne faire apparaître que certaines lignes des tables pour un utilisateur/une application donnée; parallélisme, caches nommés, haute disponibilité; procédures stockés en PL-Sql (langage propriétaire Oracle, orienté ADA) ou... en JAVA (depuis la version 8.1.7) ce qui peut s'avérer utile pour les équipes de développement; assistants performants via OracleManagerServer, possibilité de gérer en interne des tâches et des alarmes; gestion centralisée de plusieurs instances; concept unique de retour arrière (Flashback); pérennité de l'éditeur : avec plus de 40 réglages fins dans la mesure où l'on connait suffisamment le moteur, presque tout est paramétrable; accès aux données système via des vues, bien plus aisément manipulable que des procédures stockées; services Web, support XML; ordonnanceur intégré; compression des données et des sauvegardes; support technique Orion extrêmement riche et fourni.
Les inconvénients d'Oracle sont les suivants : prix élevé, tant au point de vue des licences que des composants matériels (RAM, CPU) à fournir pour de bonnes performances; administration complexe, liée à la richesse fonctionnelle; fort demandeur de ressources, ce qui n'arrange rien au point précité, Oracle est bien plus gourmand en ressource mémoire que ses concurrents, ce qui implique un investissement matériel non négligeable; méta-modèle propriétaire, loin de la norme; gestion des verrous mortels mal conçue (suppression d'une commande bloquante sans roll back); une quantité des bugs proportionnels à la richesse fonctionnelle, surtout sur les dernières versions; gestion erratique des rôles et privilèges (pas possible de donner des droits sur des schémas particuliers sans passer par leurs objets, désactivation des rôles lors d'exécution de packages...); pas de type auto-incrément déclaratif, les séquences ne peuvent être déclarativement dédiées à une table spécifique (risque de mélange); nombreuses failles de sécurités liées à l'architecture elle-même.
1.2.3. SGBD MySQL
Le MySQL est un SGBDR qui utilise le langage SQL, et fait partie de plus utilisés. Sa popularité est due en grande partie au fait qu'il s'agit d'un logiciel Open Source, ce qui signifie que son code source est librement disponible et que quiconque qui en ressent l'envie et/ou le besoin peut modifier MySQL pour l'améliorer ou l'adapter à ses besoins. Une version gratuite de MySQL est par conséquent disponible. À noter qu'une version commerciale payante existe également.
Les avantages de MySQL sont comme suit :Solution très courante en hébergement public; très bonne intégration dans l'environnement Apache/PHP; open Source, bien que les critères de licence soient de plus en plus difficiles à supporter, version cluster depuis la version 4; ordonnanceur et partitionnement dès la version 5.1; facilité de déploiement et de prise en main; plusieurs moteurs de stockage adaptés aux différentes problématiques, configurable au niveau table; multi plate-forme Linux, Windows, OSX, Unix, etc.
Les principaux inconvénients sont : ne supporte qu'une faible partie des standards SQL-92; support incomplet des triggers et procédures stockées; assez peu de richesse fonctionnelle; manque de robustesse avec de fortes volumétries; pas d'héritage de table; pas de vue matérialisée; cluster par clonage de base c’est-à-dire impact prépondérant sur la volumétrie.
1.2.4. MS Access
MS Access ou Microsoft Access est un logiciel édité par Microsoft (comme son nom l'indique...), par conséquent, c'est un logiciel payant qui ne fonctionne que sous Windows. Il n'est pas du tout adapté pour gérer un grand volume de données et a beaucoup moins de fonctionnalités que les autres SGBDR. Son avantage principal est l'interface graphique intuitive qui vient avec le logiciel.
Les principaux avantages sont : très puissants et très ludique, il apporte un grand nombre d'outils pour réaliser des outils de reporting de données. Possibilité de s'en servir comme interface sur une base SQLServer ou connecté à une (des) liste(s)WSS; il contient une grande série d'outils de conversion de données, pour récupérer ou exporter depuis presque n'importe quel format vers n'importe quel format; les macros permettent à des néophytes de se lancer dans une forme allégée de l'automatisation; quantité d'assistants dirigeant l'utilisateur vers une première solution; forte intégration à la suite MicrosoftOffice/VBA, déjà fortement répandue en entreprise; possibilité de développer des applications Runtime évitant ainsi l'achat massif de licences Access sur numéraire.
Les principaux inconvénients sont : le moteur JET étant un moteur fichier il est gourmand en ressources réseau et ne convient pas pour les applications distantes ; le système de verrouillage des enregistrements peut induire des messages d'avertissements si deux utilisateurs cherchent à écrire simultanément dans une même page de données, la consultation est par contre multiutilisateurs ; mono-plateforme (MS Windows); n'implémente pas complètement les normes SQL. Certaines options permettent néanmoins de passer du SQL-Access à une écriture conforme à la norme ANSI92, mais elles sont peu connues et peu utilisées ; la plaie du DBA en entreprise : son utilisation ouverte aux débutants risque de laisser fleurir une kyrielle d'applications/de base de données sans contrôle au sein de l'entreprise.
2. Comparaison des SGBD : Oracle, SQL Server, MySQL, Ms Access
Dans cette partie, nous présentons le matériel utilisé, la description de la base de données, les étapes de migration de la base données vers les différents SGBD, le comparatif, les performances et enfin le résultat obtenu.
2.1. Configuration du matériel utilisé (Hardware)
La configuration de l’ordinateur sur lequel le comparatif a été effectué est comme suit :
- Type : Laptop (ordinateur portable) ;
- Système d'exploitation : Windows 7 édition Familial Premium;
- Fabricant : ASUSTeK Computer Inc;
- Modèle : ASSUS Notebook Series;
- Evaluation: 4.5 Indice de performance Windows ;
- Processeur : Intel (R) Pentium(R) CPU B950 @ 2.10GHz 2.10 GHz ;
- Mémoire installée (RAM) : 4.00 Go ;
- Type du système : système d'exploitation 64 bits.
2.2. Description de la base de données
Notre étude a été effectuée sur la base de données des cartes grises faite sous MS SQL Server 2008, comportant 24 tables en totalité. Nous citons ci-dessous une liste des tables de la base de données :
Table Carrosserie : contient 4 champs et 147 enregistrements, Carrosseries des véhicules ;
Table Carte : contient 68 champs et 251568 enregistrements, c'est la table comportant le maximum d'informations concernant les véhicules et leurs propriétaires ;
Table Commune : contient 4 champs et 53 enregistrements, les communes ;
Table Fonction : contient 4 champs et 41 enregistrements, Les fonctions des propriétaires ;
Table GAGE: contient 4 champs et 1099 enregistrements, Les informations sur les gages des véhicules;
Table Genre: contient 3 champs et 27 enregistrements, Une liste des genres des véhicules;
Table HISTO: contient 53 champs et 413247 enregistrements, L'historique des propriétaires des véhicules ;
Table Marque: contient 4 champs et 1050 enregistrements, Les marques des véhicules;
Table Modif_avc: contient 17 champs et 27028 enregistrements, La modification des caractéristiques des véhicules ;
Table Modif_Std: contient 24 champs et 25398 enregistrements, La modification des informations des propriétaires;
Table Nuldisp: contient 2 champs et 611 enregistrements, Les numéros d'immatriculation de chaque année par catégorie;
Table NumSerAnnule: contient 7 champs et 6777 enregistrements, Les numéros de série des cartes grise annulées ;
Table OPP_MAT: contient 7 champs et 4214 enregistrements, Oppositions sur les véhicules par matricule ;
Table OPP_TS: contient 9 champs et 827 enregistrements, Oppositions sur les véhicules par type et numéro de série;
Table Permis: contient 27 champs et 82 enregistrements, Permissions des utilisateurs;
Table Poste: contient 2 champs et 908 enregistrements, Les postes de saisie autorisée pour chaque utilisateur;
Table PVmine: contient 3 champs et 6499 enregistrements, Les informations desPV de mine;
Table Quittance: contient 3 champs et 10 enregistrements, Les montants des quittances;
Table SUP_CARTE: contient 34 champs et 7024 enregistrements, Liste des cartesgrise supprimées;
Table SUP_DUP: contient 6 champs et 590 enregistrements, Liste des cartes griseduplicatas supprimées;
Table SUP_FC: contient 9 champs et 7783 enregistrements, Liste des fiches decontrôles supprimées;
Table SUP_OM: contient 6 champs et 1165 enregistrements, Les oppositions parmatricule annulées.
Table SUP_OTS: contient 7 champs et 13 enregistrements, Les oppositions partype et numéro série annulées;
Table SUP_VG: contient 7 champs et 7963 enregistrements, Liste des gages annulés;
2.3. Migration vers les autres SGBD
Notre projet a pour sujet la comparaison entre les SGBD choisis (MS SQL Server, Oracle, MySQL et MS Access) comme il est mentionné auparavant, alors on a fait une migration de la même BDD vers les 3 autres SGBD, pour déterminer les performances de chacun de ces SGBD en tenant compte du type du hardware utilisé et les requêtes choisies pour l'interrogation de la BDD, pour aboutir à la fin à de résultat d'évaluation concret.
2.3.1. Migration de la BDD de SQL Server vers MS Access
Nous avons fait une importation des données à partir de SQL Server vers MS Access à l'aide de l'outil de l'importation dans MS Access.
Les étapes à suivre sont :
- Migration de la BDD de MS SQL Server vers MS Access
- Migration de la BDD de MS SQL Server vers MS Access
- Migration de la BDD de MS SQL Server vers MS Access
- Migration de la BDD de MS SQL Server vers MS Access
- Migration de la BDD SQL Server vers MS Access
- Migration de la BDD SQL Server vers MS Access
- BDD des cartes grises sous MS Access
2.3.2. Migration de la BDD de SQL Server vers Oracle
La Migration a été faite avec un utilitaire ESF Data base Migration Toolkit sous les étapes suivantes :
- Migration de la BDD SQL Server vers Oracle
- Migration de la BDD SQL Server vers Oracle
- Migration de la BDD SQL Server vers Oracle
- Migration de la BDD SQL Server vers Oracle
- Migration de la BDD SQL Server vers Oracle
2.4. Comparatif
2.4.1. Tableau 1: Outils d'administration
SGBD |
Oracle |
SQL Server |
MySQL |
MS Access |
Outils d'administration |
Puissants mais la console d'administration n'est pas assez simple |
Le plus simple à utiliser mais ne fonctionne que sous NT |
Facile à utiliser sous plusieurs plates-formes |
Simple à utiliser mais ne fonctionne que sous Windows |
2.4.2. Tableau 2: Prix
SGBD |
Oracle |
SQL Server |
MySQL |
MS Access |
Prix |
Payant, chère Par rapport aux petites entreprises environ 95000$ |
Les versions payantes environ12692$ |
Gratuit et opensource |
Environ 31.26$ |
2.4.3. Tableau 3: Capacité de stockage
SGBD |
Oracle |
SQL Server |
MySQL |
MS Access |
Capacité de stockage |
Un stockage supérieur à 16 To |
524 Po |
Entre 2 Go et 4 Go tous dépend du système d'exploitation |
2 Go moins l'espace nécessaire aux objets système |
2.4.4. Performances
La comparaison s'est fait à travers un ensemble de requêtes simples et autres massives pour avoir les différents temps de réponse de chaque SGBD.
Tableau 4: Sélectionner tous les noms, prénoms, dates de naissances des propriétaires ayant des véhicules de marque "PEUGEOT"
SGBDs |
Oracle |
SQL Server |
MySQL |
MS Access |
Syntaxe |
Select nom, prenom, daten from carte where marque=" PEUGEOT" |
Select nom, prenom, datenfrom carte where marque="PEUGEOT" |
Select nom, prenom, daten from carte where marque = "PEUGEOT" |
SELECT nom, prenom, daten FROM dbo_CARTE where marque="PEUGEO" |
Nbre d'enregistrements retournés |
18326 |
18326 |
18326 |
18326 |
Temps de réponse |
2 sec |
2 sec |
3 sec |
3 sec |
Tableau 5: Sélectionner tous les enregistrements de la table carte où la date d'établissement des cartes grises est limité entre le 02/01/2017 et 30/10/2017
SGBD |
Oracle |
SQL Server |
MySQL |
MS Access |
Syntaxe |
Select * from CARTE where dateetab >"02.01.2017 "and dateetab <"30.10.2017 " |
Select * from carte WHERE (dateetab BETWEEN CONVERT (DATETIME, "2017-01-02 00 :00 :00", 102) AND CONVERT (DATETIME, "2017-10-30 00 :00 :00", 102)) |
select * from carte where dateetab between "2017-01-02"and "2017-10-30" |
SELECT dbo_CARTE.* FROM dbo_CARTE WHERE (((dbo_CARTE. dateetab)># 1/1/2017# And (dbo_CARTE. dateetab)<# 10/31/2017 #)) |
Nbre d'enregistrements retournés |
51484 |
51484 |
51484 |
51484 |
Temps de réponse |
2 sec |
8 sec |
3,45 sec |
3 sec |
2.5. Résultat obtenu
Le comparatif réalisé nous a permis de tirer quelques résultats sur l'utilisation de ces4 SGBD qui sont :
- Oracle : Connu par le leader des SGBD c'est le SGBD adéquat aux grandes entreprises malgré son prix élevé mais sa capacité de stockage et ses outils de sécurité de données sont importants. En théorie, le stockage d'Oracle est illimité mais en pratique il peut être supérieur à 16 To mais utiliser Oracle nécessite des grandes compétences à l'installation et à l'administration.
- SQL Server : c'est un SGBD très puissant, robuste avec une interface ergonomique et facile à utiliser, sa capacité de stockage des données est aussi importante mais il est dédié aux entreprises utilisant le Système d'exploitation Windows seulement.
- MySQL : c'est le plus populaire au monde avec sa vitesse supérieure, sa fiabilité et facilité d'utilisation, son point fort est d'être gratuit et peut être utilisé même par les débutants dans le domaine.
- MS Access : c'est le SGBD convenable pour les petites applications, sa capacité de stockage est limitée mais sa rapidité est très remarquable.
Conclusion
L’objectif de cette étude étant de faire un comparatif concret sur les SGBD parmi les plus connus dans le monde informatique, en se basant sur des critères bien définis (outils d’administration, prix, capacité de stockage, performances), qui restent des facteurs de témoignage sur les performances de chacun d’entre eux. Il faut dire aussi que le travail n'était pas facile, notamment la migration de la base de données et l'installation de certains SGBD citons l'oracle à titre d'exemple. En fin, on ne peut pas dire qu'un SGBD est meilleur que l'autre, le choix dépend des besoins et des moyens de chaque utilisateur (entreprise)
Bibliographie
Carrez, C. (1990). Des structures aux bases de données. Paris : Dunod.
Cattell, R. (2002). Base de données orientées-objets. Paris : Eyrolles.
Chiadmi & Cohen, A. (2000). Gestion en mode Asynchrone de la duplication dans les bases de données réparties. Paris : Eyrolles.
Chris-J. (2004). Introduction aux bases de données. Paris : Vuibert.
Foucret, A. (2003). NoSQL, Une nouvelle approche du stockage et de la manipulation des données. Paris : Smile Livres Blancs.
Georges, G. (2003). Base de données. Paris : Eyrolles.
Georges, G. (2000). Bases de données objet et relationnelles. Pari : Eyrolles.
Hainaut, J.L. (2000). Bases de données et modèles de calcul. Paris : Dunod.
Lentzner, R. (2004). SQL 3 Avec Oracle, MySQL, Microsoft SQL Server et Access. Paris : Dunod.
Nacer Boudjilida (2014). Gestion et administration des bases de données, Applications à Sybase et Oracle, Paris : Dunod.
Raynal, M. (1992). Synchronisation et état global dans les systèmes répartis. Paris : Eyrolles.
Soutou, C. (2005). Apprendre SQL avec MySQL. Paris : Eyrolles.
- Obtenir le lien
- X
- Autres applications
Commentaires
Enregistrer un commentaire