|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2006 Messages : 17 ![]() |
Bonjour à tous,
voici le problème que je rencontre: J'ai une base de données qui contient des tables avec +/- 6 millions d'entrées enregistrées et qui accueil chaque minute des nouvelles entrées. La base de données est constamment en travail avec des insertion et des mises à jour de données. Toutes ces requêtes ne posent aucun problème car elle mettent tous un millième de seconde à s'éxecuté, les index ont été correctement fais et optimisés pour que tout aille au mieux. Mon problème: J'ai une interface qui permet de ressortir les informations contenues dans ces tables, sauf que suivant les filtres insérés par les utilisateurs, les requêtes peuvent être très longues et bloquent donc les insert / update. J'ai déjà mis du cache sur pas mal de choses et ça a améliorer les choses par 1000x. Certaines choses ne peuvent pas être mise en cache ou alors le code qui calcul le cache devrait tourner sans cesse (ça résoudrai donc pas le problème. J'ai penser à cette solution: Est t'il possible d'installer deux serveurs MySQL sur un même serveur, de cette façon je pourrais faire une réplique de ma base de données sur ce "second serveur" qui lui ne servirai qu'à lire les données. Pour résumé: - 1er serveur MySQL: insert / update (le + important donc) - 2eme serveur MySQL: de la lecture des infos seulement. Qu'en pensez vous ? D'autres idées ? Merci à tous |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
une nouvelle machine ? faire des clusters ? changer de SGBD ?
mettre les chose sur la même machine ne changerai rien et prendrai même plus de temps.
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Non, je ne pense pas que mettre un deuxième serveur SQL serait une solution viable. Encore qu'avec des tables Federated ça peut être jouable. Mais comme l'a dit Stealth35 ça risque de tout simplement dégrader encore les performances... A étudier donc.
En tout cas, si tu as dans l'idée d'acheter une deuxième plateforme pour faire tourner deux MySQL en cluster, fais très attention à NDBCluster, c'est un vrai piège à con ce bousin, ça pose plus de problèmes que ça n'en résous. Même MySQL est en train de l'abandonner. On peut également imaginer des solution plus sexy comme la mise en place d'un cache mémoire pour PHP avec Redis ou MemCached qui limiterai les lectures physiques sur la base. Ou bien passer à un autre moteur de base de données: - Cassandra (optimisé pour le cluster) - MongoDB - PosgreSQL (se dit efficace pour les larges volumes de données)
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
Copyright © 2000-2012 - www.developpez.com