MariaDB vs MySQL pour Drupal 6?

8

Je me demande si c'est une bonne idée de convertir une grande base de données D6 d'un site communautaire (avec 80% de lecture, 20% d'écriture et environ 1300 qps, en utilisant le moteur MyIsam) de Mysql en MariaDB?

MariaDB semble hautement souhaitable:

MariaDB est un serveur de base de données qui offre une fonctionnalité de remplacement sans rendez-vous pour MySQL. MariaDB est construit par certains des auteurs originaux de MySQL, avec l'aide de la communauté plus large de développeurs de logiciels libres et open source. En plus des fonctionnalités de base de MySQL, MariaDB offre un riche ensemble d'améliorations de fonctionnalités, y compris des moteurs de stockage alternatifs, des optimisations de serveur et des correctifs

Cependant, j'aimerais entendre des expériences de première main de collègues drupallers sur les gains de performances attendus. Je sais que MariaDB utilise le moteur de stockage XtraDB (InnoDB amélioré) par défaut. En fait, mon site a considérablement ralenti une fois que j'ai déplacé la base de données Mysql vers le moteur InnoDB, donc je ne suis pas certain des gains de performances supposés.

J'aimerais également connaître les mises en garde (modules incompatibles possibles, etc.) de la conversion vers MariaDB.

Merci

alfish
la source
4
À mon humble avis, je pense personnellement que le passage à MariaDB ou à tout autre moteur de base de données est sans importance. Les requêtes coûteuses seront toujours des requêtes coûteuses. Si vous n'avez pas de stratégie de mise en cache statique et persistante fiable en place, quel que soit le fournisseur de base de données que vous utilisez, votre site est en panne (et je parle d'une expérience personnelle ici sur certains sites plutôt gros). Je pense que l'optimisation de votre couche de mise en cache avec l'API de cache de Drupal , éventuellement avec un cache Memcached et un vernis à l'avant, ira beaucoup plus loin que le simple échange du fournisseur de base de données.
barista amateur
BTW, n'a pas posté ce commentaire comme réponse parce que je serais toujours intéressé de voir si quelqu'un répond avec des repères. Cependant, je dis toujours que même si ces benchmarks ont prouvé que MariaDB était 2x plus rapide, le site est toujours en panne sans une bonne stratégie de mise en cache. Just sayin '
barista amateur
Eh bien, vous avez absolument raison sur l'efficacité des différentes stratégies de mise en cache, et j'utilise la plupart d'entre elles. Ce qui m'inquiète ici, c'est la partie base de données de l'histoire de la performance.
alfish

Réponses:

3

MariaDB est la voie à suivre.

Je peux juste dire mon anecdote.
Depuis longtemps, j'ai remarqué que mysql est le goulot d'étranglement de mon site. Il y a environ une semaine, sur un D6 occupé (+ 2500 qps), je suis passé de MySQL 5.5 à MariaDB 10 après avoir lu que MariaDB utilise, entre autres améliorations, `` xtradb '' qui est hautement optimisé pour la mise à l'échelle par rapport à innodb. De plus, j'ai vu que MySQL 5.6, qui est censé embarquer bon nombre des mêmes améliorations, n'est toujours pas disponible dans le référentiel Debian (sans parler du fait qu'Oracle, le nouveau propriétaire de mysql, a été critiqué comme détournant de ses promesses open source). Il était également rassurant que Drupal.org utilise également MariaDB depuis 2010 .

J'ai donc pris la décision audacieuse d'abandonner MySQL. La transition a été incroyablement fluide. MariaDB est un véritable remplaçant. Je viens d'ajouter des dépôts MariaDB 10 (générés par le site Web MariaDB) à mon Debian 6 et j'ai installé MariaDB. Et le tour est joué, MariaDB s'occupe du reste. Rien d'autre ne devait être changé.

Depuis lors, j'ai remarqué une amélioration significative des performances de la base de données avec moins de charge et aucun plantage en raison de mauvaises requêtes.

Levox
la source
+1 pour les décisions audacieuses. Comme le dirait le capitaine Sisko "FORTUNE FAVORISE L'AUDIT !!!" : youtube.com/watch?v=rsIpdCo2SIM
RolandoMySQLDBA
8

CAVEAT: Ce commentaire est uniquement basé sur MySQL et non sur Drupal.

J'ai personnellement travaillé avec Percona Server et MySQL, pas avec MariaDB pour le moment. Percona prend en charge MariaDB, Drizzle, Amazon RDS et d'autres produits MySQL .

J'ai appris à Percona Live NYC que Percona obtient la dernière version de MySQL et injecte 30 000 lignes de C / C ++ qui est unique à ses améliorations de performances. MySQL (eh, Oracle) essaie de suivre ses propres améliorations d'InnoDB.

À moins que votre site Web Drupal ne soit très fréquenté, il n'y a pas de différence de performance décente que vous puissiez ressentir ou voir. Cependant, si vous avez un trafic élevé et que vous souhaitez comparer MySQL, Percona et MariaDB, j'ai publié un article dans le DBA StackExchange sur la façon de procéder .

RolandoMySQLDBA
la source