Le 27/08/2011 14:39, Pierre-Henry Muller a écrit :
L'application que le client fait développer ne comporte pas de mécanisme pour faire du split des requêtes, les développeurs ont dit que c'était compliqué et que ça couterait cher à développer, du coup c'est au niveau système qu'il faut trouver une solution. Sachant que le serveur le plus costaud ne suffira pas à tenir la charge sql et qu'après une consultation mysql cluster n'est pas adapté à ce type de base et de vue, la réplication est donc la seule possibilité pour augmenter les capacités.
Salut,
tu peux aussi leur fournir le preg_match qui va bien que j'ai cité précédemment :
preg_match("/^([\r\n\t ]+)?(SELECT|USE|SET|CALL (stats)?|DESCRIBE|(CREATE|DROP) TEMPORARY TABLE|()/i", trim($query), $r);
Sinon pour résumer il n'y a pas de solutions existantes. Si on s'abstrait de la partie auth/sécurité, alors un script LUA qui va bien pourrait bien faire l'affaire. Pour la partie sécurité, c'est quelque chose de couteux en terme de CPU/latence et donc une partie qui saute de plus en plus, la sécurité est gérée en amont. Drizzle par exemple a déplacé cette partie dans un plugin.