Posté par Greg .
En réponse à la dépêche MySQL Proxy.
Évalué à 7.
Si je peux me permettre quelques conseils ;)
Tu peux répliquer toute la DB, juste quelques DB, ou encore seulement des tables.
Plus tu répliques de données, moins tes slaves seronts efficaces pour répondre aux requetes de lectures, et plus ils risquent de prendre du délais de réplic (d'après mon expérience c'est exponentiel :( le slave qui prend du délais devient tres vite innaccessible)
Mais attention aux parametres de config "replicate-ignore-table" qui permettent de ne pas répliquer toutes les tables, MAIS si une requête d'écriture impliquant des tables ignorées apparait, la réplic est cassée.
Exemple typique, tu réplic les tables A, B, C et tu ignores D. Une requete de ce genre va planter la réplic:
UPDATE B SET champ=1 WHERE D > 0;
Pour revenir à mysql proxy, il va etre possible dans les versions futures de changer dynamiquement la liste des slaves. Donc avec un programme tiers, on peut récupérer les délais de réplic de tous les slaves, et appliquer un algorithme pour ajouter/supprimer des slaves de mysql proxy ....
[^] # Re: Retour d'expérience en production
Posté par Greg . En réponse à la dépêche MySQL Proxy. Évalué à 7.
Tu peux répliquer toute la DB, juste quelques DB, ou encore seulement des tables.
Plus tu répliques de données, moins tes slaves seronts efficaces pour répondre aux requetes de lectures, et plus ils risquent de prendre du délais de réplic (d'après mon expérience c'est exponentiel :( le slave qui prend du délais devient tres vite innaccessible)
Mais attention aux parametres de config "replicate-ignore-table" qui permettent de ne pas répliquer toutes les tables, MAIS si une requête d'écriture impliquant des tables ignorées apparait, la réplic est cassée.
Exemple typique, tu réplic les tables A, B, C et tu ignores D. Une requete de ce genre va planter la réplic:
UPDATE B SET champ=1 WHERE D > 0;
Pour revenir à mysql proxy, il va etre possible dans les versions futures de changer dynamiquement la liste des slaves. Donc avec un programme tiers, on peut récupérer les délais de réplic de tous les slaves, et appliquer un algorithme pour ajouter/supprimer des slaves de mysql proxy ....