|
|
SGBD : la poussée de l'Open Source
|
|
|
p.1p.2p.3
SGBD OPEN SOURCE Les bases de données libérées ! Par Yann Serra - Copyright L'Informaticien, tous droits réservés
L’utilisation des bases de données se démocratise. Mais ni le bloggeur, ni la PME ne peuvent payer les dizaines de milliers d’euros que coûte la licence d’une solution historique, taillée pour une banque ou une compagnie de transport. La conquête des logiciels libres ne fait que commencer…
Vous souhaitez référencer des utilisateurs, des clients, des articles, des produits à vendre ? Vous souhaitez leur attribuer des paramètres tels des coordonnées, des quantités, des prix ? Et vous souhaitez pouvoir mettre les uns en relation avec les autres à un instant T ? Alors, vous avez besoin d’une base de données et, plus particulièrement, du moteur qui sert à la manipuler. Nommé système de gestion de base de données relationnelle – ou SGBDR, mais l’on accepte plus simplement serveur de base de données –, celui-ci constitue le troisième tiers de l’infrastructure qui anime la net-économie, après le serveur Web et le serveur d’applications. Son marché pèse désormais une quinzaine de milliards de dollars par an et il se répartit entre des produits propriétaires, contractuels, et d’autres Open Source, d’appoint.
Des chiffres ? Hélas, personne n’est capable d’en donner de précis, car les études à grande échelle ne prennent en compte que les ventes de licences et non les téléchargements gratuits des logiciels libres. Pour 2005, le cabinet Gartner estime ainsi que les solutions propriétaires dominent presque exclusivement les bases de données, le tiercé de tête révélant Oracle avec 48,9 % de parts, IBM DB2 avec 21,4 % et Microsoft SQL Server avec 16,8 %. MySQL, PostgreSQL, MaxDB, Ingres et Firebird, les plus répandus des SGBDR Open Source, pèseraient ensemble à peine 1 %. A contrario, MySQL AB, l’entité en charge de la commercialisation de MySQL auprès des entreprises, avance qu’il existe un rapport d’un pour mille entre les copies achetées de son logiciel et celles téléchargées gratuitement bien que tout de même en production. Si les dix millions d’installations fonctionnelles qu’il revendique s’avèrent réelles, cela signifie que le seul MySQL aurait d’ores et déjà détrôné le leader Oracle en termes de volume.
Comment fonctionne un SGBDR ?
Les serveurs de base de données tirent plus parti de processeurs en parallèle, plutôt que de processeurs individuellement performants. Le serveur de base de données est un démon classique qui écoute un port du système d’exploitation hôte pour capturer les requêtes SQL entrantes. Celles-ci sont envoyées à partir d’un autre endroit du réseau par le moteur d’exécution d’une application, soit un serveur d’applications (JEE, .Net) ou un interpréteur (PHP, Perl, Python, etc.). Il est à noter que chaque SGBDR écoute un port différent (3306 pour MySQL, 5432 pour PostgreSQL, etc.), il n’existe pas de standard. Pour sa part, l’application est soit un outil métier (progiciel, site web…), soit une interface destinée à créer et administrer une base de données (on pense notamment à phpMyAdmin pour MySQL, ou encore phpPgAdmin pour PostgreSQL). Alternativement, l’utilisateur peut lancer manuellement un SGBDR, à partir d’un Shell, avec le nom d’un script « .sql » en paramètre afin d’exécuter les commandes SQL que ce dernier contient. Cela se montre utile pour effectuer des traitements qui ne nécessitent pas l’interactivité d’une application externe.
Les commandes SQL s’opèrent sur des listes de données que l’on appelle des tables. Le but du jeu est de créer le contenu des tables et d’en récupérer des informations précises selon certains critères. Le cas échéant, on peut temporairement engendrer des tables intermédiaires pour la commodité des recherches et même les matérialiser à des fins ultérieures (on les appelle des « vues »). La qualité d’un SGBDR se juge notamment sur sa capacité à bien gérer les répercussions d’une opération, dont l’ensemble s’appelle une « transaction » (par exemple ajouter un utilisateur, ce qui augmente le nombre d’abonnés, ce qui change la date du dernier accès à leur liste, etc.).
Les tables et leurs index sont stockés sur disque sous la forme de fichiers avec une répartition et un format qui n’obéissent pas, là non plus, à un standard (MySQL, par exemple, en utilise même de plusieurs sortes, selon qu’il doit répondre plus efficacement à une problématique : InnoDB, MyISAM…).
Du point de vue matériel, il s’agit d’avoir une machine plus capable de traiter les requêtes simultanément (des processus, à l’échelle du système d’exploitation) que rapidement. La solution classique correspond à un serveur multiprocesseur avec, en haut de gamme, les mainframes iSeries d’IBM (jusqu’à soixante-quatre processeurs ; ces machines n’existent d’ailleurs quasiment que pour faire tourner DB2). Mais, en ce qui les concerne, les SGBDR Open Source fonctionnent le plus souvent sur Linux, voire Windows, lesquels sont peu optimisés au-delà de huit processeurs. Pour monter en charge, les entreprises préfèrent donc multiplier les serveurs au sein d’un cluster – on parle de base de données distribuées. Afin de pallier la latence des accès disques dans cette configuration, certains SGBDR optent pour le stockage d’un bout de la base sur chacun des nœuds. C’est notamment la solution adoptée par MySQL.
Des études plus locales éclairent davantage la réalité du marché. IDC observe ainsi que 30 % des six cents PME ouest-européennes de plus de cent personnes qu’il a interrogées ont déployé un SGBDR Open Source. Mieux, une enquête interne du club même des utilisateurs Oracle révèle que 37 % de ses clients ont installé des SGBDR Open Source soit dans le cadre d’un progiciel (10 % des cas), soit pour enrichir un site Web public (32 % des cas), soit pour accompagner un environnement de développement (31 % des cas), soit à des fins de test (27 % des cas). La percée des serveurs de base de données libres n’est guère étonnante chez les utilisateurs de solutions propriétaires, dans le sens où la majorité de leurs copies en production tournent par dessus Linux (60 % d’entre elles selon IDC) et qu’il existe des packages de produits Open Source qui simplifient à l’extrême leur installation sur ce système. On pense notamment au bundle populaire LAMP, lequel permet de déployer en un tournemain toute l’infrastructure logicielle nécessaire à un organe applicatif utilisable à distance – besoins métier, sites Web marchands ou toute autre activité qui se doit de centraliser des données et d’en gérer l’accès extérieur. LAMP est l’acronyme du système Linux (pour faire tourner l’ensemble), du serveur Web Apache (pour répondre aux requêtes des utilisateurs), du SGBDR MySQL et des langages PHP, Perl ou Python (pour exécuter les applications).
Parce que les bases de données se démocratisent
L’ère des bases de données de plusieurs téraoctets a vécu. Désormais, les petites structures veulent leur solution d’appoint. Les bases de données ne sont plus le pré carré des seules banques et autres compagnies de transport ; désormais, même les plus petites entreprises – celles qui n’ont pas les moyens d’investir des dizaines de milliers d’euros dans un logiciel – en font usage. L’exemple extrême de la démocratisation des bases de données est celui des blogs, une mode populaire qui n’a pu exister que parce que l’infrastructure du moindre site Web personnel contient un SGBDR. En l’occurrence, il s’agit dans la très grande majorité des cas d’un MySQL installé gratuitement.
Les premiers à s’être intéressés aux serveurs de bases de données Open Source sont les hébergeurs. Sachant qu’ils mettent à disposition sur Internet des sites Web qui ne génèrent pas forcément de trafic permanent – surtout s’il s’agit de sites personnels –, ils doivent rentabiliser leur équipement en faisant tourner plusieurs sites en même temps sur la même machine. LAMP, suite légère capable de fonctionner en multithread et multi-utilisateur, s’est imposée. Et par là même, MySQL.
À ce stade, il convient de préciser un point capital. L’adoption de MySQL – et dans une moindre mesure celle de son concurrent PostgreSQL – n’a pas tant été conditionnée par sa gratuité que par ses très bons résultats sur des bases de données de taille moyenne, c’est-à-dire de quelques gigaoctets. Le ténor des solutions propriétaires, Oracle Database 10g, a fait la preuve de son épatante efficacité lorsqu’il s’agit de manipuler de très grosses banques d’informations dont la taille atteint ou dépasse le téraoctet.
En revanche, nombre de benchmarks démontrent que le produit Open Source MySQL affiche de bien meilleures performances s’il est question de travailler sur des quantités de données deux cents fois moins importantes. Et c’est justement parce que ces dernières ont tendance à devenir plus nombreuses que les SGBDR Open Source menacent aujourd’hui de ravir les premières places du marché, tout comme les distributions Linux ont déjà détrôné les différentes incarnations propriétaires d’Unix.
De l’application au SGBDR : les composants nécessaires
Puisque chaque SGBDR affiche des particularités bien à lui quant au formatage des requêtes, chaque serveur d’application ou interpréteur de langage doit disposer d’un « driver » expressément adapté pour la base de données qu’il cible. Il est du devoir de chaque éditeur – ou mainteneur – d’un serveur de base de données de proposer lui-même ces drivers. Si l’application tourne au-dessus de .Net, il faudra installer le driver noté ODBC, si elle tourne au-dessus d’un JEE (Java), ce sera le driver JDBC et si elle est écrite dans un langage autonome, il faudra en télécharger un spécifique qui prend la forme d’un module à recompiler avec l’interpréteur du langage. Ceci fait, un programme destiné à piloter une base de données inclura dans ses variables les requêtes SQL qu’il désire effectuer (par exemple « $requete = ‘SELECT id,prix FROM exemplairesLinformaticien’; »), puis les enverra à la base de données au moyen d’instructions spéciales interprétées par le driver. Il s’agit par exemple du générique « SqlCommand ($requete) » sous .Net ou du spécifique « mysql_query($requete) » si l’on s’adresse à MySQL depuis un langage autonome, tel PHP. Il est à noter qu’une base de données travaille avec des tables (listes) et que leur manipulation n’a rien à voir avec celle des objets hiérarchisés dans les langages de programmation. Aussi, par commodité, il est possible de doter son moteur d’exécution d’une couche d’abstraction qui traduira en temps réel les instructions natives de manipulation d’un objet en requêtes SQL. Il s’agit notamment des fameux modules JDO, EJB3 ou encore Hibernate de JEE. Pour en avoir une liste complète, langage par langage, on pourra se référer à l’adresse http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software.
|
Valider un SGBDR Open Source en entreprise
Pour les hébergeurs, soucieux de rentabiliser leur infrastructure, la – relative – gratuité et la légèreté de MySQL l’ont imposé comme une évidence. Reste que le débat qui oppose Open Source et propriétaire est davantage politique que technique : les entreprises susceptibles d’utiliser des outils tels que les serveurs de base de données réclament surtout la garantie de leur fonctionnement ou, dit autrement, qu’un responsable se désigne pour prendre en charge le moindre problème. À ce jeu, les myriades de membres qui forment les communautés d’utilisateurs de tel ou tel SGBDR Open Source sont d’une aide bénévole précieuse, mais ils n’ont contractuellement aucun devoir de support. C’est pour résoudre ce dilemme que de véritables éditeurs se sont bâtis autour de la double notion de services (conseil, installation, formation…) et de support (mises à jour clé en main, dépannages…).
Il en va ainsi de l’entreprise suédoise MySQL AB qui assure la représentation commerciale du SGBDR Open Source éponyme, notamment par l’intermédiaire de filiales, dont une en France. Sans parler de l’achat véritable d’une licence d’exploitation (ce qui reste possible si un cadre juridique le nécessite), la souscription payante à un support revient à acquérir une mouture « éprouvée » du logiciel (une version expressément compilée pour une machine donnée et généralement antérieure à celle librement téléchargeable). On s’écarte quelque peu de la philosophie initiale des logiciels libres puisque, pour que la garantie fonctionne, les utilisateurs n’ont pas le droit de modifier le code source. Il n’empêche, la dynamique de développement en amont reste. Et pour 495 euros par an et par serveur, la souscription à MySQL Network est nettement moins salée que les 31 400 euros par processeur pour un Oracle Database Enterprise Edition 10g.
MaxDB, également commercialisé par MySQL AB, et Ingres, devenue société indépendante de Computer Associates qui conserve une participation importante, ont suivi après coup le modèle de MySQL, à savoir pénétrer les entreprises au moyen d’une version fermée mais garantie, portée par la dynamique d’une version Open Source qui paraît en parallèle. PostgreSQL n’appartient quant à lui à aucune entité commerciale, mais certaines l’ont décliné dans leur catalogue et Sun en a même fait le SGBDR officiel de son système Solaris 10. En revanche, Firebird a eu la malchance de connaître un destin inverse : il s’agit d’une déclinaison uniquement Open Source et sans support commercial du serveur de base de données propriétaire InterBase de Borland. Après un éphémère succès en début de carrière, le nombre de ses copies en production ne cesse désormais de s’effriter.
Faites enfin migrer votre base de données grâce aux solutions Open Source
Qu’on se le dise : il est tout simplement impossible d’utiliser à partir d’un SGBDR les fichiers générés par un autre. Même entre deux copies d’un même serveur de bases de données, cela ne fonctionne pas forcément si les versions, les systèmes d’exploitation hôtes ou encore les moteurs de stockage (InnoDB, Isam, MyIsam…) ne sont pas les mêmes. Pis, les produits propriétaires ne proposent même pas de fonctions d’export natives et offrent, au mieux, de passer par un outil de type ETL (Extract, Transform and Load), à plus de 100 000 euros la licence, pour importer des données étrangères. Heureusement, le monde de l’Open Source apporte au problème une solution plutôt fort maligne. Des SGBDR comme MySQL, PostgreSQL ou Ingres disposent en effet de commandes capables d’extraire le contenu d’une base dans un potentiellement volumineux script SQL (il s’agit respectivement de mysqldump, pg_dump et copydb) qu’il suffit de donner à exécuter à un autre SGBDR pour générer à nouveau la base de données dans les bons formats de fichier. Ces commandes disposent même d’une option « --compatible= » pour engendrer des scripts SQL qui prennent en compte les particularités de certains produits propriétaires. Toujours dans le monde de l’Open Source, des développeurs indépendants ont entrepris de faire l’inverse, à savoir exporter dans un script SQL exploitable par des SGBDR libres les bases de données crées par les produits propriétaires. Citons, entre autres, ora2pg (http://www.samse.fr/GPL/ ora2pg/) pour passer d’Oracle à PostgreSQL, ou à oracledump (http://www.bennyvision.com/~ddkilzer/projects/
oracledump/) pour faire de même vers MySQL. Enfin, précisons que les systèmes d’exploitation peuvent ou non différencier les majuscules des minuscules dans les noms de fichiers. Pour que vos bases de données soient autant exploitables par un SGBDR qui tourne sous Linux qu’un autre sous Windows, pensez à toujours les nommer avec des minuscules.
Une montée en puissance qui ne laisse pas indifférents les acteurs historiques
Preuve de la montée en puissance des serveurs de base de données Open Source, les opérations financières que les grands acteurs historiques trament en arrière plan. Ainsi, le capital de MySQL AB est désormais entre les mains de l’éditeur de progiciels SAP, du fondeur Intel et du pro-Linux Red Hat. De son côté, IBM noyaute plus stratégiquement la mouvance Open Source avec la base de données Java Cloudscape qu’il a récupérée lors du rachat d’Informix en 2001 et dont il a offert le code source à la fondation Apache, à la tête du serveur Web le plus populaire. Cette dernière a transformé Cloudscape en Apache Derby, l’an passé, et entend bien en faire un produit majeur. Simultanément, IBM s’est rapproché de Zend Technologies, éditeur principal du monde PHP, pour que celui-ci dote la célèbre base de données IBM DB2 d’un moteur d’exécution particulièrement optimisé sur le célèbre langage. On ne saurait mieux tenter de déstabiliser MySQL. Quoique… Il y a effectivement pire : Oracle vient quant à lui de racheter le middleware InnoDB, à savoir le moteur de stockage dont se sert MySQL pour formater ses bases transactionnelles – c’est-à-dire celles ou les opérations peuvent avoir des conséquences en cascade. Accessoirement, InnoDB est l’une des composantes qui expliquent les excellentes performances de MySQL.
Enfin, pour contrer la gratuité des SGBDR Open Source, Microsoft et Oracle ont tous deux lancé cette année une version « Express Edition » à zéro euro de leur serveur de base de données, respectivement SQL Server 2005 et Oracle Database 10g. Ces moutures ont pour limite de n’exploiter qu’un seul cœur de processeur, 1 Go de Ram et 4 Go d’espace disque au maximum.
SQL, une histoire de famille plus qu’un standard
Les SGBDR les plus répandus ont pour point commun de se piloter avec le jeu de commandes SQL (Structured Query Language). Inventé par IBM dans les années 70 et normalisé depuis 1986, SQL est un langage avant tout déclaratif (mots clés SELECT, INSERT, UPDATE, FROM, WHERE, ORDER BY, GROUP BY, etc.) qui a intégré un soupçon de procédures au fil des mises à jour du standard (boucles FOR, conditions IF/THEN/ELSE, etc.).
Mais le modèle proposé est tellement basique tout en prenant en compte des dérivés rarement utiles, que chaque SGBDR a pris l’initiative de plus ou moins enrichir ou tronquer les règles avec des extensions propriétaires. Hélas, celles-ci compliquent infiniment le portage d’un programme d’une base vers l’autre.
Par exemple, à l’identique des grands SGBDR propriétaires, PostgreSQL ajoute un véritable langage procédural. À l’inverse, MySQL, que ses auteurs revendiquent de garder simple, n’intègre les procédures (appelées ici « stockées ») et les déclencheurs (ou « trigger », pour lancer une opération annexe lorsqu’une donnée est mise à jour) de la révision SQL-99 du standard que depuis… cette année ! On pourra consulter la – très longue – liste des différences syntaxiques entre les principaux SGBDR à l’adresse http://en.wikipedia.org/wiki/Comparison_of_SQL_syntax.

|
MySQL, le leader
Crédité de dix millions de copies en production, MySQL est le SGBDR Open Source le plus répandu, surtout dans le monde de l’hébergement où son code léger, multi-thread, multi-utilisateur et packagé tombe à pic. MySQL AB, l’entité suédoise qui l’a créé il y a une dizaine d’années et qui assure aujourd’hui sa carrière commerciale, revendique fièrement de contribuer à faire fonctionner les sites Web publics de Nokia, Alcatel, Wikipedia (encyclopédie qui référence près d’un million et demi d’articles rien que dans sa version anglaise), PriceGrabber.com (comparateur de prix), C-Net (presse High-tech), Slashdot (50 millions de pages vues par jour) et même Google (pour le module AdWords) ! Parmi ses autres clients, on dénombre Airbus, la NASA (qui a converti une base Oracle en MySQL), DaimlerChrysler, la RATP, des universités, des centres de recherche et même des banques.
Ses points forts
MySQL bénéficie d’un environnement utilitaire très riche (interfaces d’administration, modules de compatibilité, moteurs de stockage variés…) et se trouve distribué dans des « packages » idéalement prêts à l’emploi (LAMP pour Linux, WAMP pour Windows…). D’utilisation simple, il peut se targuer d’être très bien connu des développeurs. Il affiche des performances record sur les petites bases (en dessous de 5 Go) et accepte de fonctionner sur un cluster pour traiter les plus grosses (dans ce cas, chaque nœud dispose d’un morceau de la base sur son disque dur, celle-ci n’est pas centralisée sur un SAN).
Ses points faibles
Face à ses deux plus sérieux concurrents en Open Source que sont PostgreSQL et Ingres, MySQL est celui qui implémente le moins de fonctions SQL. Pour tout dire, sa dernière version 5.0 ne prend toujours pas en compte les prérogatives du standard SQL:2003 et commence à peine à supporter les déclencheurs (SQL-99) ou les procédures stockées. Ainsi, la variété des types de données qu’il indexe est pour le moins rudimentaire. Dans ces conditions, il reste encore peu imaginable de faire migrer une base de données complexe créée sur un SGBDR historique vers MySQL. Par ailleurs, les performances décroissent significativement avec l’augmentation du volume de données. On note enfin que deux des moteurs dont il se sert, InnoDB et BerkeleyDB, sont récemment passés dans le giron d’Oracle et qu’on ne sait pas quel sort ce concurrent leur réserve…
• Version : 5.0 sortie cette année • Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires • Site : http://www.mysql.com/products/database/
MaxDB, grand frère de MySQL
Créé en 1977 en Allemagne, MaxDB aura connu de nombreux propriétaires et patronymes avant de devenir un SGBDR Open Source sous la tutelle de SAP et MySQL AB.
Ses points forts
Pourquoi MySQL AB s’encombre-t-il d’un second serveur de base de données ? Tout simplement parce que MaxDB présente deux avantages par rapport à son petit frère. D’une part, il est taillé sur mesure pour accompagner les progiciels qu’édite SAP ; D’autre part, il a fait, lui, la preuve de pouvoir manipuler des téraoctets de données sans coup férir, vingt-quatre heures sur vingt-quatre et sept jours sur sept. Accessoirement, il dispose d’une suite d’outils d’administration, tant graphiques que textuels, très complète.
Ses points faibles
MaxDB ne respecte que le minimum syndical des prérogatives du standard SQL1992 et ne propose de drivers que pour les principaux langages de programmation (.Net, JEE, PHP, Perl et Python). De toute manière, il ne s’envisage guère en dehors des progiciels de SAP.
• Version : 7.6 sortie en 2005 • Fonctionne sur : Linux, Windows et Unix propriétaires • Site : http://www.mysql.com/products/maxdb/
PostgreSQL, le challenger
Publié en licence BSD, PostgreSQL a été créé il y a une quinzaine d’années sous le nom de Postgres par l’auteur d’Ingres (Michael Stonebraker), bien que les deux produits concurrents ne partagent aucune ligne de code. Abandonné en 1993, il est repris l’année suivante par des étudiants de l’université de Berkeley qui lui ajoutent l’interprétation du langage SQL. Devenu PostgreSQL en 1996, sa carrière a longtemps vivoté grâce au seul bouche à oreille, du fait qu’aucune entité commerciale ne le sponsorisait auprès des entreprises. Face au succès grandissant de MySQL, les éditeurs Pervasive Software et EnterpriseDB ont finalement décidé de lui ouvrir les portes de l’entreprise en 2005. Simultanément, le constructeur Sun décidait d’en faire le SGBDR officiel de son Unix Open Source Solaris 10.
Ses points forts
PostgreSQL a pratiquement toutes les fonctions d’un SGBDR propriétaire. Il supporte notamment un vaste choix d’index, ce qui le rend plus versatile (par exemple s’il faut stocker des images) et même plus rapide (avec l’index inversé, lorsque les informations sont référencées avec un nom qui commence toujours par les mêmes lettres). Il est par ailleurs le seul SGBDR Open Source à disposer d’un langage procédural PL/pgSQL qui, outre de démultiplier ses possibilités d’analyse (boucles, conditions), a le bon goût de ressembler comme deux gouttes d’eau à celui d’Oracle (PL/SQL). Enfin, avec Solaris 10, ils présentent ensemble une alternative fort intéressante à LAMP.
Ses points faibles
Le fait qu’il n’ait été que tout récemment bien intégré à Windows est certainement le paramètre qui a le plus nuit au succès de PostgreSQL. Ce problème est désormais résolu, bien que l’environnement logiciel reste moindre que celui de MySQL sur cette plate-forme. Il existe néanmoins phpPgAdmin, l’équivalent du célèbre outil d’administration Web phpMyAdmin pour MySQL. On retrouve le principal défaut de MySQL, à savoir des performances qui se dégradent avec la croissance du volume. Les solutions de travail en cluster en sont pour leur part encore à un état embryonnaire.
• Version : 8.1 sortie cette année • Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires • Site : http://www.postgresql.org/
Ingres, il revient de loin pour être numéro un
Mis au point dans les années 70, sur la base de travaux de recherche publiés par IBM, Ingres a été le premier serveur de base de données relationnel pour systèmes Unix. Sujet d’étude à l’université de Berkeley, il a servi de point de départ au développement de quantité de SGBDR phares, parmi lesquels HP NonStop SQL, Sybase ASE et Microsoft SQL Server. Devenu lui-même un produit commercial – et propriétaire – dans les années 80, il est racheté en 1994 par Computer Associates, puis confié en 2005 à une filiale dédiée, Ingres Corporation. Mais cette année, rebondissement : il repasse sous licence GPL !
Ses points forts
Ultra mature et bénéficiant du support commercial de Computer Associates, le Ingres redevenu tout juste logiciel libre s’affiche comme le concurrent absolu de MySQL. Bien plus fonctionnel et tout aussi svelte que son concurrent, il est par ailleurs compatible avec les moteurs Oracle CFS et IBM DLM pour un meilleur rendement sur clusters.
Ses points faibles
Paradoxalement, Ingres est certainement le moins connu des SGBDR Open Source chez les développeurs. En cause, son valeureux statut de précurseur universitaire a été totalement annihilé par une carrière qui était, il y a encore quelques mois, uniquement commerciale. L’arrivée en fin d’année d’une distribution Linux « Icebreaker », expressément taillée pour déployer Ingres sur un serveur, changera peut-être les mentalités.
• Version : 2006 II - 9.0, sortie cette année • Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires • Site : http://www.ingres.com/
Firebird, il n’a pas encore tout dit
En 2000, Borland a soudainement l’idée de distribuer son SGBDR InterBase 6 en Open Source. Il se ravise un an plus tard en refaisant passer InterBase 6.5 en logiciel propriétaire. Dans ce laps de temps, un groupe de développeurs indépendants récupère le code public pour produire FireBird, une version améliorée du produit sous licence Mozilla – assimilée, en tout cas. Au début, surfant sur la notoriété d’InterBase, le succès est au rendez-vous, le laboratoire d’études Gartner allant même jusqu’à le créditer en 2003 de deuxième SGBDR Open Source le plus utilisé dans le monde après MySQL. Mais, faute d’offre professionnelle pour apporter des garanties aux entreprises, l’élan s’essouffle chez les utilisateurs. Les développeurs, eux, n’ont en revanche rien perdu de leur fibre créatrice.
Ses points forts
Firebird est techniquement d’avant-garde. Pour commencer, il est l’un des rares à implémenter les prérogatives de SQL:2003, la dernière révision en date du standard SQL qui, entre autres, définit un stockage des données au format XML. Ensuite, il gère un type de données NONE qui revient à des informations « transparentes » pour appliquer un masque sur une base. Enfin, sa dernière version a été réécrite pour prendre spécifiquement en compte les threads Posix natifs, afin d’atteindre des performances potentiellement record.
Ses points faibles
Le plus gros problème de Firebird reste qu’il n’y a personne pour le vendre aux entreprises. Sa tutelle a tellement peu de charisme qu’il a même failli se faire dérober son patronyme en 2003, lorsque Mozilla avait eu l’idée d’appeler son nouveau navigateur Firebird. Il aura fallu attendre un an pour que celui-ci soit finalement rebaptisé Firefox.
• Version : 1.5, sortie en 2005, plus de nombreuses pré-versions 2.0 sorties cette année • Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires • Site : http://www.firebirdsql.org/
Et les autres...
En marge de MySQL, PostgreSQL, Ingres, MaxDB et Firebird, trois autres SGBDR Open Source promettent de faire bientôt l’actualité. Développé depuis 2004 par la fondation Apache, Derby (http://db.apache.org/ derby/) a plus d’un atout dans son sac. Pour commencer, il repose entièrement sur Java et se greffe de manière optimale au serveur d’application JEE. Ensuite, il bénéficie d’ores et déjà d’un double support commercial et non des moindres : IBM et Sun le proposent à leur catalogue, respectivement sous le nom d’IBM Cloudscape et de Sun Java DB. Ses seuls défauts ? Avoir les mêmes limites que MySQL en ce qui concerne l’implémentation de SQL et, sorti de Java, n’avoir que des connexions pour les langages PHP ou Perl.
Plus modeste, SmallSQL (http://www.smallsql.de/), à un an d’existence à peine, est en LGPL et adresse également Java, mais sur la machine personnelle de l’utilisateur ! Revendiquant de ne dépenser que 200 ko de Ram, il s’inscrit comme le moteur de base de données que tout un chacun peut intégrer dans le code de sa propre applet. S’agirait-il de la solution ultime pour faire entrer des SGBDR dans des appareils embarqués comme les PDA et autres téléphones mobiles ?
Enfin, OpenLink Virtuoso est la déclinaison Open Source toute récente – depuis avril dernier – du produit commercial Virtuoso Universal Server. Conçu en Finlande en 1998 pour les traitements massivement parallèles, celui-ci peut travailler sur des bases de 32 To. Il fonctionne sur toutes les plates-formes, se pilote en Java, .Net et PHP, reconnaît SQL ainsi que des dialectes concurrents (SPARQL…), travaille en XML et apparaît sur le papier comme une machine de guerre pour détrôner Oracle. En revanche, ne lui demandez surtout pas d’être assez léger pour équiper un simple site Web !
|
|
|
|
|