MySQL se tourne encore plus vers InnoDB
qui sera utilisé pour les tables systèmes pour bénéficier des propriétés ACID

Depuis le rachat de MySQL par Oracle, le célèbre SGBD a entamé une lente transition de son moteur de base de données, passant du moteur d’origine MyISAM qui est basé sur la méthode ISAM (Indexed Sequential Access Methode) à InnoDB. Cette transition s’est d’ailleurs achevée partiellement par l’intronisation d’InnoDB comme moteur par défaut pour les versions de MySQL 5.5 et plus.

Partiellement, car même si InnoDB est le moteur du SGBD, il n’en reste pas moins que MyISAM est utilisé encore aujourd’hui pour la maintenance des tables du système, celle qui se trouve sous le schéma MySQL. Ce choix est dicté par les bonnes performances du moteur qui sont supérieures à ses concurrents.

Toutefois, ces performances accrues ont un prix, MyISAM ne respecte pas les propriétés ACID (Atomicité, cohérence, isolation et durabilité), ce qui est un sérieux handicap pour l’administrateur. Un scénario typique serait le suivant : l’administrateur décide de révoquer les droits d’un utilisateur, cette décision est suivie d’une coupure d’électricité, résultats : les droits de l’utilisateur n’ont pas été révoqués après la reprise du système.

Pour pallier à cette situation, l’équipe de développement de MySQL a naturellement entrepris d’aller plus loin avec InnoDB qui respecte les propriétés ACID et de travailler sur une prochaine version où les tables du système seront maintenues grâce à InnoDB, cette annonce a été faite par le biais de l’un des membres de cette équipe, en l’occurrence Morgan Tocker, ingénieur chez Oracle.

L’une des principales conséquences de ce futur changement serait alors l’obligation d’installer InnoDB pour toute installation de MySQL et le flag de configuration --skip-innodb ne sera plus valide.

Enfin à noter qu’à l’heure où MySQL se tourne vers InnoDB, son fork MariaDB entreprend une approche agnostique où aucun moteur n’est privilégié.

Source : Blog de Morgan Tocker

Et vous ?

Qu’en pensez-vous ?