InnoDB

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

InnoDB est un moteur de stockage pour le SGBDR MySQL, il est inclus d'origine dans toutes les distributions fournies par MySQL AB. Son principal avantage par rapport aux autres moteurs de stockage de MySQL est qu'il permet des transactions ACID (Atomiques, Cohérentes, Isolées et Durables), ainsi que la gestion des clés étrangères (avec vérification de la cohérence).

InnoDB est devenu un produit d'Oracle Corporation, qui a acquis Innobase Oy en octobre 2005[1]. Le logiciel est sous double licence : il est distribué sous la GNU General Public License, mais des licences commerciales sont vendues pour des développements qui intégreraient InnoDB à des logiciels propriétaires (ce que la GPL ne permet pas)[2].

Toutes les bases de données sont stockées au même endroit. Par défaut dans le fichier ibdata1 qui, sous les systèmes de type unix, se trouve généralement dans /var/lib/mysql/ . Il est également possible d'utiliser plusieurs fichiers ou même d'utiliser directement une ou plusieurs partitions sur le disque en mode RAW.

Ce moteur de base de données utilise aussi deux fichiers de logs, d'habitude ib_logfile0 et ib_logfile1. Les fichiers de définitions de table .frm sont également dans un dossier au nom de la base comme pour MyISAM.

Les fichiers données de InnoDB ne peuvent pas être facilement sauvegardés par copie de fichiers, il en résulterait très probablement une corruption des données. Il est possible de le faire si le serveur est arrêté mais pas autrement. Remarquez que les fichiers de logs et les .frm sont importants et ne doivent pas être ignorés.

Depuis sa version 5.5, MySQL utilise InnoDB comme moteur par défaut[3],[4].

Depuis la version 5.6, une extension "memcached" au moteur InnoDB permet un accès aux données via une interface du type NoSQL permettant d'accélérer les performances. Non seulement les données sont accessibles en lecture et écriture avec les requêtes SQL classiques, mais il est possible d'y accéder de façon plus simple à l'aide d'une syntaxe du style "@@get key" évitant l'interprétation d'une requête par le parseur [5].

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) « Oracle Announces the Acquisition of Open Source Software Company, Innobase », Oracle (consulté le 2008-07-31)
  2. (en) « Licensing MySQL and InnoDB », InnoDB.com (consulté le 2008-07-31)
  3. (en) MySQL 5.5: InnoDB as Default Storage Engine sur blogs.innodb.com, 19 septembre 2010
  4. (en) « MySQL 5.5: Performance and Scalability Unleashed! » (ArchiveWikiwixArchive.isGoogleQue faire ?). Consulté le 2013-04-12 sur Oracle's MySQL Blog, 9 novembre 2010
  5. Oracle NoSQL to InnoDB with Memcached