|
|
mysql master master : réplication maître à maître
Liens sponsorisés
Actualités
Voici une compilation des sources d'information sur ce sujet :
La réplication MySQL maître à maître (souvent en mode actif-passif) est une solution populaire pour les compagnies qui veulent supporter des traffics croissants. La plupart d'entre elles réalisent des solutions...
Ce tutorial décrit comment configurer une réplication MySQL de maître à maître. Nous devons assurer la réplication de serveur pour obtenir la haute disponibilité. Dans mon cas, j'ai besoin de...
La partie difficile dans une réplication est l'initialisation des données sur l'esclave. La récupération des données, qu'elle se fasse via le système ou bien directment en commande MySQL, impose un lourd travail d'exportation au maître.
Keith Murphy vous propose une astuce, pour ajouter un second esclave à un maître : utilisez le second esclave pour prendre les données ET le point de réplication. Une fois les données lues sur cet esclave, reportez le nouvel esclave sur le maître, avec le point de réplication obtenu de l'autre esclave.
Lisez le billet pour connaître toutes les commandes.
Un problème courant de la réplication MySQL est le lag, ou encore le retard entre le serveur maître et les serveurs esclave. La réplication est asynchrone, et les deux peuvent finalement être séparé d'une durée variable.
Dries Buytaert propose plusieurs approches pour gérer ce retard, à défaut de le corriger.
1. Exécuter les requêtes sur le maître, sauf en lecture seule
2. Passer en réplication synchrone (cluster MySQL, patch Google)
3. Utiliser un équilibreur de charge, ou un proxy
4. Utiliser le partitionnement et le sharding
5. Réécrire l'application pour qu'elle gère ce retard
6. Utiliser le modèle media wiki, où on teste le retard, et on attend qu'il se résorbe
Baron Schwartz vient de mesurer la vitesse de réplication de MySQL. À la milli-seconde, il a mesuré le temps que prend une architecture MySQL à faire passer les informations du maître à l'esclave. Cette opération n'est pas immédiate, puisqu'il faut que le maître note les requêtes dans le log binaire, que ce dernier soit envoyé à l'esclave, et que finalement, les requêtes soient aussi exécutées sur l'esclave.
Au final, Baron trouve que MySQL assure la réplication entre 200 et 300 millisecondes, ce qui est pas mal du tout. Cela donne aussi une idée des délais minimals de réplication que l'on peut attendre d'une architecture, puisque dans son test, le temps de réplication n'inclut aucun transfert réseau ni charge secondaire sur le serveur. How fast is MySQL replication? (0 visite)
La réplication MySQL est une technique pour multiplier la puissance d'un serveur : les données et les opérations sont répliquées, c'est à dire copiées vers des serveurs esclaves, qui agissent...
Lors de la mise en place d'une réplication, il faut modifier son application PHP pour diriger les lectures sur les esclaves et les écritures sur le maître. On y arrive souvent en passant par une couche intermédiaire qui fait la distribution. Avec MySQL Proxy, cette couche peut se faire de manière transparante pour l'application.
Un script LUA sur MySQL Proxy va distribuer correctement les transactions et écritures vers le maître, et les autres requêtes vers les esclaves. MySQL Proxy est aussi capable de surveiller tout un pool d'esclaves, et de répartir les requêtes sur les esclaves qui fonctionnent (par opposition à ceux qui sont inaccessibles).
Voici les prochaines fonctionnalités que la réplication MySQL devra supporté, tel que recensé dans un sondage sur le futur de cette technologie :
Vérifications en ligne que le maître et l'esclave sont en ligne : 45.4%
Réplication muli-source: réplication depuis plusieurs maîtres vers un esclave: 36.3%
Application multi-threadées des données sur l'esclave pour améliorer les performances ; 29.2%
Résolution de conflit : détection précoce que les lignes ne sont pas répliquées
: 21.0%
Réplication semi-synchrone : les transactions sont copiées vers un esclave avant archivage : 20.3%
En substance, pour combattre le retard de réplication, il est recommandé de réduire la taille des requêtes. C'est à dire, ne pas lancer de modifications importantes qui risquent de prendre beaucoup de temps. Update, delete, insert (sur le maître), ou group by, select (sur l'esclave) : tout ce qui prend trop de temps, va pénaliser la réplication.
Une des raisons à garder en tête est que le maître va exécuter toutes les requêtes de réplications en mode simultané (les utilisateurs lancent des requêtes concurrentes), alors que les esclaves vont les exécuter en mode séquentiel : les requêtes sont passées par le log binaire, et sont mises les unes après les autres. Ainsi, trois updates distincts qui travaillent sur différentes données durant 5 secondes, mettront 5 secondes sur le maître, et en fait 15 secondes sur l'esclave (nonobstant les accélérations possibles lié aux tâches non-liées).
Le 'Query Chopping' ou découpage de requêtes, semble être l'arme à adopter pour ne pas surcharger la réplication. Plus de requêtes, mais moins longtemps. Les partitions seront sûrement une arme aussi. Fighting MySQL Replication Lag (0 visite)
Comment est-ce possible? Un esclave avec plusieurs maîtres? En fait, le nom de cette architecture n'est pas exactement ce qu'elle implique. Nous allons créer un anneau de réplication entre les...
Le plus gros parasite de la réplication est le retard (replication lag) : c'est le fait que les esclaves soient en retard sur le maître. Pour certaines applications, ce n'est pas un gros problème, mais pour d'autres, comme celles qui utilisent la base de données pour stocker les sessions, c'est plus difficile à accepter.
Peter Zaitsev identifie les sources de retards sur une architecture de réplication : la charge de l'esclave (qui doit servir les lectures en plus de rattraper les écritures), les verrous (qui bloquent tous les requêtes, y compris le thread de réplication), les longues requêtes (qui ennuient tout le monde).
Au final, il est recommandé d'inclure dans l'application des systèmes qui s'adaptent à ce retard, plutôt que de faire planter l'application. Managing Slave Lag with MySQL Replication (0 visite)
MySQL Replication Manager est une interface Web pour surveiller une architecture maître esclave. Elle permet simplement de lancer le maître et l'esclave, de gérer les logs et de surveiller l'état de fonctionnement. Il vous faut bien sûr les droits d'administration.
Ce n'est pas la première tentative pour avoir une interface graphique qui permet de gérer en un coup d'oeil l'état de fonctionnement d'une réplication. Et cela sera certainement utile à beaucoup d'entre nous, à défaut d'être complet ou de permettre la resynchronisation des tables en un clic. :) MySQL Replication Manager screenshot and screencast (0 visite) MySQL Replication Manager (0 visite) MySQL Replication Manager.pl (0 visite)
Jan Kneschke publie un tutoriel pour le proxy MySQL, destiné à séparer les requêtes SQL en fonction de leur impact : les écritures vont directement sur le maître, tandis que les lectures vont uniquement sur les esclaves. Cela permet de mettre en place une architecture de réplication sans modifier le code source de l'application amont (PHP ou autre) : le proxy MySQL se charge de faire la répartition entre les différents noeuds de l'architecture.
Dans le deuxième volet du tutoriel, Jan s'intéresse à des couples de requêtes classiques, comme les insertions avec colonne auto_increment, ainsi qu'à la mesure du lag de réplication.
Le retard de réplication remonte à une origine simple : le maître peut traiter les modifications de données en parallèle, puisque c'est comme cela qu'elles lui sont fournies. L'esclave, lui, doit les exécuter séquentiellement, car elles sont toutes consignées dans le log binaire avant de lui être fournie.
Tant que la réplication ne sera pas capable de dépasser cette limite, le retard de réplication sera une réalité à combattre tous les jours. A commencer par ne pas mettre le machine la plus puissante comme maître, ce qui aura tendance à lui faire prendre de l'avance. MySQL Slave Delay Explained And 7 Ways To Battle It (0 visite)
Google propose un mode de réplication semi-synchrone, pour améliorer les capacités des esclaves de prendre la place du maître quand ce dernier tombe. La retouche est publiée sur le site de...
Autres actualités
- Tutorial de réplication maître-maître pour MySQL
- Réplication multi-maître pour MySQL
La réplication MySQL est une technique pour multiplier la puissance d'un serveur : les données et les opérations sont répliquées, c'est à dire copiées vers des serveurs esclaves, qui agissent...[...]
- Réplication multi-maître avec MySQL
- Google apporte sa pierre à MysQL
Lukas Smith rapportait que Google propose un mode de réplication semi-synchrone, pour améliorer les capacités des esclaves de prendre la place du maître quand ce dernier tombe. Le patch est...[...]
- Les nouveautés de la réplication MySQL
sont mises aux votes. La réplication étant très populaire, et les projets d'améliorations étant très nombreux, les auteurs de la réplication ont mis en place un vote pour établir des...[...]
- Rostropovitch, le maître de musique
Maître du violoncelle et citoyen du monde, anti-apparatchik et défenseur des libertés, il s'est éteint vendredi matin. Il avait 80 ans.[...]
- MySQL : "Nous voulons être maître de notre destin"
- Le Lego Master a créé un Master Chief
Juste à temps pour la sortie en fanfare d’Halo 3 demain, l’artiste et maître es Lego Nathan Sawaya a créé un buste de Master Chief, qui est selon lui l’objet le plus demandé par ses [...]
- Tel chien, tel maître
Si vous croisez dans la rue un chien menaçant, il y a de bonnes chances pour que son maître le soit aussi.[...]
- MySQL Table Checksum 1.1.0 publié
MySQL Table Checksum 1.1.0 apporte de nombreuses améliorations, parmi lesquelles la plus importante est une nouvelle méthode pour s'assurer que l'esclave a les mêmes données que le maître. Au lieu...[...]
- Natation - Paris : Maître derrière Nystrand
Le Français David Maître est monté vendredi sur la deuxième marche du podium de la finale du 50m nage libre de l’Open de Paris à la Croix-Catelan.[...]
- Zoé attend son nouveau maître
«ZOÉ, une bonne pâte, craintive mais équilibrée... ». Sophie Quentin, la directrice du refuge SPA de Compiègne, présente Zoé, femelle rottweiler de 2 ans à l'histoire peu commune. Alors qu'elle se tro[...]
- El Grande cherche un maître
El Grande, 3 ans, cherche un maître. Il est gentil et propre. Ce beau berger allemand vous sera toujours fidèle. ...[...]
- Flo rachète les tavernes « Maître Kanter »
Le groupe de restauration Flo (Hippopotamus, Bistro Romain, Tablapizza), contrôlé par Albert Frère, continue son expansion. Le PDG Dominique Giraudier a annoncé mardi le rachat des tavernes de « Maît[...]
- Rugby - Le retour du maître
Derrière Brock James, de retour dans le XV clermontois contre Mont-de-Marsan, chaque Auvergnat veut gagner sa place pour les demies.[...]
|
|
|
Formation au referencement
Formation au référencement par les spécialistes en référencement de Ranking Metrics : conférence le matin, atelier pratique l'après-midi.
|
|
|