par
Hubert Roksor » 17 oct. 2007, 11:00
Là encore, tout dépend des requêtes. Est-ce que ces requêtes se font sur des vues ? Est-ce que ces requêtes utilisent beaucoup de sous-requêtes ? Auquel cas, l'optimiseur de MySQL ne vous suffira pas si vous n'avez pas optimisé ces cas à la main.
D'ailleurs, tu dis avoir de nombreuses requêtes complexes... mais sur quel SGBD ont-elles été développées ? De plus, comment fonctionne cet algorithme complexe pour la pertinence des recherches ? Ça me semble étrange d'implémenter un tel algorithme en SQL et j'ai bien peur que les performances soient mauvaises. Si je devais monter un gros site, je m'orienterais plutôt vers
Sphinx, qui est très très rapide et tout à fait pertinent d'après ce que j'ai pu voir (bien meilleure pertinence que le FULLTEXT de MySQL).
La meilleure façon pour toi de savoir si MySQL tiendra le coup c'est de le vérifier par un générateur de requêtes comme ab (Apache) ou httperf. D'un autre côté, si vous avez des problèmes de performance c'est au niveau de l'application qu'il faudra les régler, je doute que changer de SGBD changera quoi que ce soit.
Si vous utiliser une DB sur un gros multi-CPU/multi-core, il vous faudra impérativement utiliser une version récente de MySQL, qui ont reçu des patches de performance pour ce type de configuration.
Là encore, tout dépend des requêtes. Est-ce que ces requêtes se font sur des vues ? Est-ce que ces requêtes utilisent beaucoup de sous-requêtes ? Auquel cas, l'optimiseur de MySQL ne vous suffira pas si vous n'avez pas optimisé ces cas à la main.
D'ailleurs, tu dis avoir de nombreuses requêtes complexes... mais sur quel SGBD ont-elles été développées ? De plus, comment fonctionne cet algorithme complexe pour la pertinence des recherches ? Ça me semble étrange d'implémenter un tel algorithme en SQL et j'ai bien peur que les performances soient mauvaises. Si je devais monter un gros site, je m'orienterais plutôt vers [url=http://www.sphinxsearch.com/]Sphinx[/url], qui est très très rapide et tout à fait pertinent d'après ce que j'ai pu voir (bien meilleure pertinence que le FULLTEXT de MySQL).
La meilleure façon pour toi de savoir si MySQL tiendra le coup c'est de le vérifier par un générateur de requêtes comme ab (Apache) ou httperf. D'un autre côté, si vous avez des problèmes de performance c'est au niveau de l'application qu'il faudra les régler, je doute que changer de SGBD changera quoi que ce soit.
Si vous utiliser une DB sur un gros multi-CPU/multi-core, il vous faudra impérativement utiliser une version récente de MySQL, qui ont reçu des patches de performance pour ce type de configuration.