Bonjour,
HandlerSocket est un nouveau plugin MySQL, développé pour dena.jp (plus gros site de jeux en ligne au Japon) : http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-fo...
En gros: permet d'accéder au moteur Innodb directement, sans passer par les couches SQL: sécurité, parsing, open/close tables... 1.78x plus rapide que Memcached, alors que les données sont persistantes, il doit aussi être plus rapide que Sphinx ou que certains serveurs NoSQL.
L'utilisation de ce plugin apporterait un gain lors de SELECT sur clefs: WHERE id=N, id IN (1,2,3...) ou même sur des ranges. Il existe depuis peu une version PHP de l'API, sous forme d'extension PECL : http://mysqldba.blogspot.com/2010/12/handlersocket-mysqls-nosql-php-and.html
J'aimerais connaitre vos avis sur ce plugin, et encore mieux un retour d'expérience en prod autre que dena.jp.
On 27/12/10 16:49, Greg wrote:
Bonjour,
HandlerSocket est un nouveau plugin MySQL, développé pour dena.jp (plus gros site de jeux en ligne au Japon) : http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-fo...
En gros: permet d'accéder au moteur Innodb directement, sans passer par les couches SQL: sécurité, parsing, open/close tables... 1.78x plus rapide que Memcached, alors que les données sont persistantes, il doit aussi être plus rapide que Sphinx ou que certains serveurs NoSQL.
L'utilisation de ce plugin apporterait un gain lors de SELECT sur clefs: WHERE id=N, id IN (1,2,3...) ou même sur des ranges. Il existe depuis peu une version PHP de l'API, sous forme d'extension PECL : http://mysqldba.blogspot.com/2010/12/handlersocket-mysqls-nosql-php-and.html
J'aimerais connaitre vos avis sur ce plugin, et encore mieux un retour d'expérience en prod autre que dena.jp.
Dès que tu as un jeu de données trop important (ça dépend de ta ram), tu retombes sur des perfs équivalentes (puisque c'est ton disque qui va limiter).
C'est ce que j'ai constaté en faisant des tests donc aucune raison d'aller jusqu'à de la prod.
Le 27/12/2010 16:51, Arnaud a écrit :
Dès que tu as un jeu de données trop important (ça dépend de ta ram), tu retombes sur des perfs équivalentes (puisque c'est ton disque qui va limiter).
C'est ce que j'ai constaté en faisant des tests donc aucune raison d'aller jusqu'à de la prod.
OK mais la 1ère chose à faire quand on a des soucis de perfs en InnoDB ou sur un RDBMS en général, c'est s'assurer que les index tiennent en RAM. Là, c'est plus l'étape suivante...
On 27/12/10 17:07, Greg wrote:
Le 27/12/2010 16:51, Arnaud a écrit :
Dès que tu as un jeu de données trop important (ça dépend de ta ram), tu retombes sur des perfs équivalentes (puisque c'est ton disque qui va limiter).
C'est ce que j'ai constaté en faisant des tests donc aucune raison d'aller jusqu'à de la prod.
OK mais la 1ère chose à faire quand on a des soucis de perfs en InnoDB ou sur un RDBMS en général, c'est s'assurer que les index tiennent en RAM. Là, c'est plus l'étape suivante...
C'est un retour d'expérience hein :) Et mon expérience me dit aussi de me méfier des outils magiques, surtout quand tu veux jouer avec beaucoup de données (je parle en centaines de giga).
Après, rien que ce que les articles disent et que tu cites "1.78x plus rapide que Memcached", ça devrait poser un problème logique. On peut traduire par "avec HandlerSocket, mon disque est plus rapide que ma RAM".