MySQL verfügt über einen guten Replikationsmechanismus, der bei korrekter Konfiguration sehr fehlerunanfällig und stabil seinen Dienst verrichtet.
Die Replikation einer Datenbank hat in der Regel eines der folgenden Motive:
- Lastverteilung: Entweder über Multi-Master-Replikation oder Master-Slave durch gezielte Select-Zuweisung auf die Slave-Datenbanken
- Ausfallsicherheit: Multi-Master-Replikation als Failover-Datenbank ohne manuellen Zugriff
- Verwendung einer Slave-DB als Aggregations- und/oder Analysedatenbank.
Neu in der Version 5.1 ist die Mixed-Based Replikation (kurz MBR). Hier erfolgt die Replikation normalerweise Statement basierend und wird nur bei bestimmten Ausnahmen auf Row-Level Replikation umgestellt. In vielen Szenarien resultiert die Verwendung von MBR in einer erheblichen Performancesteigerung.
Ein bekanntes Problem bei der Multi-Master-Replikation ist die automatische Schlüsselvergabe. Die MySQL Parameter auto_increment_increment und auto_increment_offset vermeiden hier doppelte Schlüsselvergabe indem Sie eine Art Schlüsselband pro Replikationsknoten erzeugen.
Die Konfiguration von zwei Knoten könnte wie folgt aussehen:
# setup NETWAYS-Server A
[mysqld]
server-id = 10
auto_increment_increment = 10
auto_increment_offset = 1
master-host = nodeb.netways.de
master-user = netUser
master-password = netPass
# setup NETWAYS-Server B
[mysqld]
server-id = 20
auto_increment_increment = 10
auto_increment_offset = 2
master-host = nodea.netways.de
master-user = netUser
master-password = netPass
Indizes und deren richtiger Einsatz sind Thema des nächsten Teils.
0 Kommentare