Ce message a été modifié 2 fois.
Dernière modification : 9 juillet 2014
à 17:59 par
Fabe.
Ce message a été modifié 1 fois.
Dernière modification : 9 juillet 2014
à 18:01 par
Guybrush.
Guybrush si je veux vraiment faire du beau relationnel avec toutes ces subtilités, je partirai sur Postgresql plutôt que Mysql/MariaDB, même équipé d'InnoDB.C'est respectable mais pas indispensable : InnoDB fait ça très bien, dans de très nombreux cas (à l'aise, 99% des cas)
GuybrushSi je n'avais pas un ORM pour interagir avec la db, c'est clair que j'aurai opté pour autre choseUn ORM est fait pour abstraire la modélisation relationnelle au développeur objet, pas pour la rendre défaillante. Les relations inter-entités dans le modèle objet doivent être modélisées sous forme de clé étrangère dans ta BDD, tous les ORMs font ça très bien. Le plan d'exécution des requêtes est très souvent basé sur ces contraintes.
FabeDe plus, ton ORM ne sera peut être pas à terme le seul composant de ton application à accéder à la BDD.Rien ne m'empêchera de changer de moteur à ce moment.
FabeEn bref, je veux bien que vous n'ayez pas envie d'utiliser les transactions ou les contraintes d'intégrités, encore que vu ce que ça coûte, c'est un peu dommage. Par contre, je ne vois toujours pas l'intérêt d'une migration InnoDB > MyISAM, dans le sens où tous les prétendus avantages de simplicité sont compensés par des grosses défaillances ailleurs . Rien que le table-level lock, c'est dévastateur pour les perfs (un update tourne sur une table, tous les selects qui touchent à cette table sont bloqués).Les contraintes d'intégrité sont imposées par l'ORM, qui, en tant que seul composant accédant à la database pour l'instant (j'anticipe ta question passée, oui c'est tordu ), est suffisant. Cela dit, j'ai parlé de migration InnoDB -> MyISAM simplement parce que j'y voyais un gain de performances. Dans l'absolu, Lexpage repose déjà en MyISAM (sauf pour Piwik qui a créé ses tables en InnoDB). Je ne compte à priori pas changer cela lors de la migration des données du Lexpage (à part que ce sera Aria plutôt que MyISAM) puisque cela me convient pour l'instant. Sauf si, d'ici là, je trouve des informations qui montrent que l'overhead d'un autre engine (XtraDB, par exemple, il me semble que c'est "l'InnoDB de MariaDB") est négligeable.
FabeInnoDB c'est pas spécialement une artillerie lourde, c'est juste un moteur de stockage qui fait son boulotPour de petites db avec une faible concurrence, il me semble (de mémoire) qu'on parlait presque d'un facteur 2 sur de simples lookups de PK.
TchouAprès, on est tous d'accord, tout dépend du besoin. Et héberger la lexpage est loin d'être un truc complexe.Clairement. Le site offre finalement peu de fonctionnalités, peu d'accès concurrent, et les requêtes sont assez usuelles et simples. Cela dit, de ce que j'ai pu voir, Aria et XtraDB proposent des performances relativement proches, même dans un environnement faiblement sollicité. Je pense donc opter pour ce dernier pour mes premiers tests.
TchouUn facteur 2 entre myISAM et innoDB dans certains cas ?De ce que j'ai trouvé, c'est principalement sur des petits systèmes à faible concurrence, et ce serait plutôt de l'ordre de 20% que de 200% Cela dit, et j'ai pu en faire l'expérience dans le cadre de ma thèse, faire un vrai benchmark pour une base de données, c'est vraiment, vraiment, vraiment pas facile
1996-2024 — Lexpage v4 — GPLv3 (sources)
page générée le 22 décembre 2024 à 20:46:37