01net. web avec Google
Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01men
01net Pro Entreprise informatique
Logiciel
Matériel
FAI
Sécurité
Médias
Droit et conso
Techno
Société
Vu sur le Web
Business
Chat

MySQL s'émancipe du moteur transactionnel d'Oracle

Suite au rachat d'InnoDB par Oracle, MySQL ouvre ses interfaces de programmation de stockage pour encourager ses partenaires à en développer de nouveaux.

envoyer
par mail
imprimer
l'article
Le 12 octobre 2005, les quelque 10 millions d'utilisateurs de la base de données open source MySQL apprenaient avec stupeur qu'Oracle rachetait la technologie InnoDB, le moteur transactionnel le plus utilisé par MySQL, mais développé par un éditeur tiers. Pendant six longs mois, MySQL a tenté de rassurer ses utilisateurs, sans succès.
La conférence annuelle qui regroupait ses utilisateurs, la semaine dernière à Santa Clara en Californie, a été l'occasion pour l'éditeur de tranquilliser, une bonne fois pour toutes, ses clients. MySQL a effectivement ouvert son API de stockage et annoncé la disponibilité prochaine de trois nouveaux moteurs transactionnels ?" alternatives à InnoDB. PrimeBase XT est proposé par l'éditeur éponyme. SolidDB, de Solid Information Technology, sera disponible avant la fin de l'année. Et Falcon est développé en interne par MySQL.
Pour créer Falcon, MySQL a embauché Jim Starkey, le père d'Interbase, reconnu comme l'un des spécialistes mondiaux du domaine. ' Avec le support de MVCC, Falcon va encore plus loin qu'InnoDB. Ce moteur est particulièrement bien adapté aux applications Web 2.0 qui supportent un très gros volume de transactions très rapides, alors qu'InnoDB convient mieux aux transactions longues ', détaille Petter Zaitsev, le spécialiste du domaine chez MySQL.

Bien plus qu'une simple alternative à InnoDB

Plutôt que de répondre simplement à la pression d'Oracle, MySQL a transformé son erreur initiale en une véritable stratégie. Désormais, l'éditeur encourage ses partenaires éditeurs, la communauté open source et ses clients à développer de nouveaux moteurs de stockage. ' Notre architecture facilite le développement de moteurs de stockage parfaitement adaptés à des applications spécifiques. Il serait dommage de s'en priver ', déclare Bertrand Matthelié, responsable marketing Europe de MySQL.
Contrairement à SQL Serveur, de Microsoft, et au SGBD d'Oracle, MySQL est la seule base de données supportant l'utilisation simultanée de plusieurs types de tables et moteurs associés. Une caractéristique qui a largement contribué à son succès. Son API Pluggable Storage Engine offre une couche d'abstraction entre le moteur de stockage et la base de données MySQL. Il est donc possible d'utiliser un moteur de stockage spécifique ou d'en créer un nouveau, sans pour autant devoir modifier le code de son application.
Grâce à cette caractéristique, de nombreux moteurs ont vu le jour ces derniers mois : MySQL cluster (cluster temps réel), MySQL Archive (archivage de données historiques), Federated (une base de données logiques réparties sur plusieurs serveurs physiques), et même un moteur Molap développé par Thinking Networks. L'ouverture de cette API a également permis à certaines entreprises de créer leur propre moteur en quelques mois. C'est notamment le cas de la communauté en ligne Friendster.
Pour structurer le développement de cet écosystème naissant, MySQL lancera bientôt un programme de certification et des outils : livre blanc, tutoriaux, Example (un moteur de démonstration), etc. MySQL souhaite ainsi aider les développeurs à créer leur propre moteur si nécessaire, et guider les utilisateurs dans le choix du moteur existant le mieux adapté à leurs besoins.

Différents types de moteurs pour MySQL

Transactionnel
InnoDB et BerkeleyDB, d'Oracle.
SolidDB, de Solid Information Technology.
PBXT, de Prime Base.
Falcon (nom de code), de MySQL.

Décisionnel
Molap, de Thinking Networks.
OpenOLAP for MySQL.

Autres
MyIsam, Memory, Archive, Federated, Merge, de MySQL.

publicité