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![]()
Partager