Réplication multi-maîtres

Un article de Wikipédia, l'encyclopédie libre.

La réplication multi-maîtres est une architecture pour la réplication des bases de données permettant aux données d'être stockées sur un groupe d'ordinateurs et mises à jour par n'importe quel membre du groupe. Tous les membres peuvent répondre aux requêtes des clients. Le système de réplication multi-maître est responsable de propager les modifications de données faite par chaque membre et résoudre les conflits provoqués par des modifications concurrentes faites sur des membres différents.

La réplication multi-maîtres peut être comparée avec la réplication maître-esclave où un unique membre du groupe est désigné comme le maître pour certaines données et est le seul nœud autorisé à modifier ces données. Les autres membres désirant modifier les données doivent d'abord contacter le nœud maître. Autoriser un unique maître permet d'obtenir plus facilement la cohérence des données entre les différents membres du groupe, mais est moins flexible que la réplication multi-maîtres.

La réplication multi-maîtres peut aussi être comparée avec le basculement dans les grappe de serveurs où les serveurs esclaves répliquent les données maître pour préparer la bascule dans le cas où le maître ne fonctionnerait plus. Le maître est le seul serveur actif pour les interactions avec le client.

Le but premier de la réplication multi-maîtres est une disponibilité améliorée et des temps de réponse améliorés.

Avantages[modifier | modifier le code]

  • Si un nœud devient indisponible, les autres maîtres continuent à mettre à jour la base de données.
  • Les maîtres peuvent être localisés sur différents sites physiques, par exemple être distribués sur un réseau.

Inconvénients[modifier | modifier le code]

  • La plupart des systèmes de réplication multi-maîtres sont seulement faiblement cohérents, c'est-à-dire paresseusement et asynchrone, violant les propriétés ACID.
  • Les systèmes de réplication hâtifs sont complexes et augmentent la latence des communications.
  • Les problèmes tels que la résolution de conflits peuvent devenir difficiles à résoudre lorsque le nombre de nœuds impliqués et la latence augmentent.

Source[modifier | modifier le code]