Qu'est-ce qu'une réplication multimaître?
La réplication multi-maîtres est une technique utilisée par le logiciel de gestion de base de données. Ainsi, de nombreux utilisateurs peuvent utiliser et mettre à jour plusieurs copies d'une même base de données stockée sur différents ordinateurs de manière décentralisée. Lorsqu'une modification est apportée à une base de données utilisant la réplication multimaître, cette modification est transmise à tous les autres ordinateurs du réseau afin que toutes les copies de la base de données utilisée soient mises à jour. Parmi les avantages d'une configuration de réplication multimaître, citons les sauvegardes redondantes et une architecture décentralisée dans laquelle les mises à jour des copies d'une base de données peuvent être conservées même si l'un des ordinateurs du réseau cesse de fonctionner. Sans un seul système maître attribué, comme c'est le cas dans l'architecture maître-esclave, les modifications et les commandes administratives permettant de contrôler la base de données peuvent être émises à partir de l'un des terminaux multi-maîtres du réseau au lieu de s'appuyer sur un seul terminal physique. La plus grande complication pouvant survenir avec l'utilisation d'un système de réplication multimaître consiste à mettre à jour tous les systèmes assez rapidement pour que les données restent synchronisées à tout moment sur le réseau.
Le terme "multi-maître" provient de la méthode plus élémentaire de réplication maître-esclave, dans laquelle un seul terminal est désigné comme maître. Dans une situation maître-esclave, un seul maître est capable de mettre à jour les informations sur les disques esclaves. Un système de réplication multi-maîtres a plusieurs systèmes désignés comme maîtres et chaque maître peut uniquement être responsable de lui-même ou peut être responsable d'un certain nombre d'ordinateurs appelés groupe de réplication. Avec plusieurs maîtres, tout système maître peut initier une modification de tous les autres systèmes maîtres, entraînant potentiellement des interactions de réseau très complexes dans des systèmes de très grande taille.
Il existe deux formes de réplication multi-maîtres, la première étant la réplication synchrone. La réplication synchrone fonctionne en mettant à jour en temps réel toutes les copies d'une base de données chaque fois qu'une modification est apportée. Cela supprime la plupart des situations pouvant survenir lorsque les données ne sont pas synchronisées sur le réseau, mais crée un volume de trafic réseau considérable et peut nécessiter une grande quantité de puissance de traitement pour être implémentée dans un système plus grand. Pour ces raisons, la réplication synchrone est principalement utilisée dans les réseaux sur lesquels il n’ya que quelques ordinateurs maîtres.
Le deuxième type de réplication multimaître est la réplication asynchrone. Au lieu de mettre à jour les systèmes chaque fois qu'une modification est apportée, les modifications apportées à une base de données sont stockées en tant qu'événements sur chaque système, et ces modifications sont appliquées lorsqu'un événement est déclenché ou pendant les périodes de mise à jour programmées. Cela signifie que vous utilisez moins de bande passante réseau et de puissance de traitement, mais cela augmente les chances que deux utilisateurs tentent à un moment donné de modifier les mêmes informations de manière contradictoire en raison du retard de mise à jour ou du temps de latence. La plupart des systèmes de gestion de base de données distribués utilisent la réplication asynchrone en raison de la faible quantité de ressources consommées par rapport à la réplication synchrone sur plusieurs maîtres.