janvier
2007
Lorsque la volumétrie d’une application atteint des sommets et que les problèmes de performances en viennent à devenir inquiétant, on commence à se dire qu’on aurait pu y penser plus tôt. La réplication est un moyen simple à mettre en oeuvre afin de réduire les baisses de performances. Dans ce blog, je résumerai le principe par quelques règles:
- Une base maître sert à effectuer les modifications de données.
- Une ou plusieurs bases esclaves permettent d’effectuer des requêtes sur les données
- Les esclaves demandent régulièrement à la base master l’envoi des nouvelles mises à jour
Dans un monde parfait, cela fonctionnera parfaitement :). Dans le monde réel, il est primordial de mesurer les impacts qui pourraient découler d’un problème de communication entre les bases maître et esclave. Il est tout à fait possible qu’une application puisse exécuter des mises à jour sur la base master pour ensuite effectuer des select sur un esclave. Si les données du maître n’ont pas été mises à jour sur l’esclave, l’application réagira-t-elle de la bonne façon ? Pour des applications critiques, il faudra donc absolument réussir a détecter les problèmes de réplication au plus tôt ! Les outils peuvent être divers mais dans un premier temps connaître le comportement de la variable Seconds_Behind_Master est une première étape.
Pour poursuivre sur le sujet, voici un blog qui à l’air très intéressant.