Académique Documents
Professionnel Documents
Culture Documents
com
MySQL High Availability DOAG 2013 Datenbank 14. Mai 2013, Dsseldorf Oli Sennhauser
Senior MySQL Berater, FromDual GmbH
oli.sennhauser@fromdual.com
1 / 23
www.fromdual.com
2 / 23
Inhalt
HA Solutions MySQL High Availability
www.fromdual.com
Scale-Out Read scale-out vs. Scale-Up Replication set-up Master/Slave Replikation for HA Active/passive Replikation Master/Master fail-over MySQL Cluster Aktiv/passiv failover Cluster mit SAN Replication Cluster Aktiv/passiv failover Cluster mit DRBD Storage-Engine-Replication Galera Cluster fr MySQL MySQL (NDB) Cluster
3 / 23
www.fromdual.com
Scale-Up
Relaxation of Constraints
Scale-Out
4 / 23
www.fromdual.com
IO_ thread
Master
Slave
SQL_ thread
Wir brauchen:
...
bin-log.m
bin-log.n
...
relay-log.m
relay-log.n
Binary Log Server Id User fr die Replikation (auf dem Master) Konsistentes Backup MIT Binary Log Position
5 / 23
www.fromdual.com
Load balancer
Fail-over?
6 / 23
Replikation Fail-over
Application read only VIP Slave M Master rtw Slave Reporting async! Slave Backup ...
www.fromdual.com
Slave 1
Slave 2
Slave 3
Load balancer
7 / 23
Vorteile / Nachteile
Einfaches standard Set-up Sehr gut wenn r >> w Fail-over Seite ist bereits warm/heiss! Zeitversatz Master/Slave (asynchron!) Slave kann hinterherhinken (Slave ist oft Flaschenhals)
www.fromdual.com
Daten In-konsistenz (pttablechecksum/pttablesync) Wenn Master stirbt welcher Slave wird neuere Master?
Switch viel Arbeit, etwas heikel! Es gibt Tools die helfen (MMM v1/v2, MHA, Tungsten, ...)
8 / 23
Master-Master Replikation
App App App
www.fromdual.com
VIP
M1
M2
Slave1
Slave2
Slave3
SlaveBackup
9 / 23
Master-Master Replikation
App App App
www.fromdual.com
VIP
M1
M2
Slave1
Slave2
Slave3
SlaveBackup
10 / 23
Vorteile / Nachteile
Nur wenig komplexer als Master/Slave Sehr gut wenn r >> w Fail-over Seite ist bereits warm/heiss! Zeitversatz Master/Slave (asynchron!) Slave kann hinterherhinken (Slave ist oft Flaschenhals)
www.fromdual.com
Daten In-konsistenz (pttablechecksum/pttablesync) Wenn Master stirbt, ist die Hlfte der Slaves out of sync! Vorsicht beim Schreiben auf beide Master! Man erhlt dadurch NICHT mehr I/O Durchsatz! Ein wenig komplizierter (wieder-)aufzusetzen
11 / 23
www.fromdual.com
VIP M' M
SAN
Slave1
Slave3
12 / 23
www.fromdual.com
SPOF 2!
App
App
App
VIP M' M
!!!
Slave1
SAN
Slave3
13 / 23
Vorteile / Nachteile
Synchrone Replikation I/O Durchsatz hngt vom SAN (I/O System) ab Keine Daten IN-Konsistenzen mglich Nur eine mgliche Datenquelle Slaves werdenautomatisch und sauber geschwenkt SAN und Filesystem sind SpoFs! Teuer wenn SAN noch nicht vorhanden ist. SAN's sind nicht einfach richtig zu betreiben! Andere Seite ist kalt nach Fail-over! Hlfte der Hardware idelt Wesentlich komplexerr aufzusetzen
www.fromdual.com
14 / 23
www.fromdual.com
VIP M' M
DRBD
Slave1
Slave3
15 / 23
www.fromdual.com
SPOF 1!
App
App
App
VIP M' M
DRBD
Slave1
Slave3
16 / 23
Vorteile / Nachteile
Synchrone Replikation Keine Daten IN-Konsistenzen mglich Nur eine mgliche Datenquelle
www.fromdual.com
Slaves werdenautomatisch und sauber geschwenkt Filesystem ist SpoF! I/O Durchsatz tendenziell geringer als mit SAN Andere Seite ist kalt nach Fail-over! Hlfte der Hardware idelt Wesentlich komplexer aufzusetzen
17 / 23
www.fromdual.com
App
App
App
Node 1
wsrep
Node 2
wsrep
Node 3
wsrep
Galera replication
18 / 23
www.fromdual.com
App
App
App
Node 1
wsrep
Node 2
wsrep
Node 3
wsrep
Galera replication
19 / 23
Vorteile / Nachteile
Synchrone Replikation Aktiv-aktiv multi-Master Topology Lesen und Schreiben auf alle Cluster-Knoten Automatische Knotenverwaltung Echtes paralleles Replizieren auf Zeilenebene Kein Hinterherhinken des Slaves Keine verlohrene Transaktionen Lese-Skalierbarkeit (read Scale-Out!) und mehr Schreiben (+ SSD) Wartung im laufenden Betrieb mglich Basiert auf InnoDB Storage Engine (nur auf InnoDB!) Galera Binaries (nicht Oracle/MySQL)
www.fromdual.com
Achtung vor Hots-Spots auf einzelnen Zeilen (z. B. Sequenzen-Tabelle) Dadurch hhere wahrscheinlichkeit von Deadlocks Voll-Sychronisation (SST) blockiert Lesen und Schreiben 3 nodes
20 / 23
www.fromdual.com
SQL nodes
MySQL Server
MySQL Server
MySQL Server
MGM client
NDB Cluster
(Data nodes)
ndbd ndbd
NG1
Vorteile / Nachteile
Synchrone Replikation Nur eine mgliche Datenquelle Keine Daten IN-Konsistenzen mglich Extrem hoher Durchsatz (wenn richtig gemacht)
www.fromdual.com
Skaliert sehr gut fr Lesen UND Schreiben (wenn richtig gemacht) Wartung im laufenden Betrieb mglich Kein drop-in Ersatz fr InnoDB/MyISAM! Hoher Bedarf an RAM und Netzwerk Mindestens 3 Server (besser 4) sind erforderlich. Neue Datenbank zu lernen (MySQL Cluster != MySQL!) Komplexer aufzusetzen und zu betreiben als normales MySQL Schlecht fr Joins (Push Down Joins in v7.2)
22 / 23
Q&A
Fragen ? Diskussion?
www.fromdual.com
www.fromdual.com/presentations
23 / 23