SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
www.fromdual.com
1 / 23
MySQL High Availability
DOAG 2013 Datenbank
14. Mai 2013, Düsseldorf
Oli Sennhauser
Senior MySQL Berater, FromDual GmbH
oli.sennhauser@fromdual.com
www.fromdual.com
2 / 23
Über FromDual GmbH
● FromDual bietet neutral und unabhängig:
● Beratung für MySQL
● Support für MySQL und Galera Cluster
● Remote-DBA Dienstleistungen für MySQL
● MySQL Schulungen
● Oracle Silver Partner (OPN)
www.fromdual.com
www.fromdual.com
3 / 23
Inhalt
HA Solutions
➢
Read scale-out
➢
Replication set-up for HA
➢
Active/passive fail-over
➢
MySQL Cluster
➢
Replication Cluster
➢
Storage-Engine-Replication
MySQL High Availability
➢
Scale-Out vs. Scale-Up
➢
Master/Slave Replikation
➢
Master/Master Replikation
➢
Aktiv/passiv failover Cluster mit SAN
➢
Aktiv/passiv failover Cluster mit DRBD
➢
Galera Cluster für MySQL
➢
MySQL (NDB) Cluster
www.fromdual.com
4 / 23
MySQL Scale-Out vs Scale-Up
Scale-Out
● Kosten
● MySQL Design
● Physische Flaschenhälse
Scale-Up
● „Relaxation of Constraints“
www.fromdual.com
5 / 23
...
Master – Slave Replikation
Application
Master
log_bin = on
server_id = 42
Slave
● Wir brauchen:
● Binary Log
● Server Id
● User für die Replikation (auf dem Master)
● Konsistentes Backup MIT Binary Log Position
bin-log.m bin-log.n relay-log.m relay-log.n...
IO_
thread
SQL_
thread
www.fromdual.com
6 / 23
High-Availability mit Replikation
Application
Master
Slave Backup
Slave Reporting
rt
w
Load balancer
read only
Slave 1
Slave 2
Slave 3 ...
async!
Slave M
● Fail-over?
VIP
www.fromdual.com
7 / 23
Replikation Fail-over
Application
Master
Slave Backup
Load balancer
Slave 1
Slave Reporting
Slave 2
Slave 3
rt
w
read only
...
async!
Slave M
VIP
www.fromdual.com
8 / 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)
Daten In-konsistenz (pt­table­checksum/pt­table­sync)
Wenn Master stirbt→ welcher Slave wird neuere Master?
Switch → viel Arbeit, etwas heikel!
Es gibt Tools die helfen (MMM v1/v2, MHA, Tungsten, ...)
www.fromdual.com
9 / 23
Master-Master Replikation
App App App
M1
Slave1
Slave2
SlaveBackup
Load balancer (LB)
M2
VIP
Slave3
www.fromdual.com
10 / 23
Master-Master Replikation
App App App
M1
Slave1
Slave2
SlaveBackup
Load balancer (LB)
M2
VIP
Slave3
www.fromdual.com
11 / 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)
Daten In-konsistenz (pt­table­checksum/pt­table­sync)
Wenn Master stirbt, ist die Hälfte der Slaves „out of sync“!
Vorsicht beim Schreiben auf beide Master!
Man erhält dadurch NICHT mehr I/O Durchsatz!
Ein wenig komplizierter (wieder-)aufzusetzen
www.fromdual.com
12 / 23
Aktiv/passiv fail-over mit SAN
App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
www.fromdual.com
13 / 23
Aktiv/passiv fail-over mit SAN
● SPOF 2! App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
!!!
www.fromdual.com
14 / 23
Vorteile / Nachteile
Synchrone Replikation
I/O Durchsatz hängt vom SAN (I/O System) ab
Keine Daten IN-Konsistenzen möglich
Nur eine mögliche 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!
Hälfte der Hardware idelt
Wesentlich komplexerr aufzusetzen
www.fromdual.com
15 / 23
Aktiv/passiv fail-over mit DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD“Poor man's SAN”
www.fromdual.com
16 / 23
Activ/passiv fail-over mit DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD“Poor man's SAN”
● SPOF 1!
www.fromdual.com
17 / 23
Vorteile / Nachteile
Synchrone Replikation
Keine Daten IN-Konsistenzen möglich
Nur eine mögliche Datenquelle
Slaves werdenautomatisch und sauber geschwenkt
Filesystem ist SpoF!
I/O Durchsatz tendenziell geringer als mit SAN
Andere Seite ist kalt nach Fail-over!
Hälfte der Hardware idelt
Wesentlich komplexer aufzusetzen
www.fromdual.com
18 / 23
Galera Cluster für MySQL
App App App
Load balancing (LB)
Node 2 Node 3Node 1
wsrep
Galera replication
wsrep wsrep
www.fromdual.com
19 / 23
Galera Cluster für MySQL
App App App
Load balancing (LB)
Node 2 Node 3Node 1
wsrep
Galera replication
wsrep wsrep
www.fromdual.com
20 / 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“ möglich
Basiert auf InnoDB Storage Engine (nur auf InnoDB!)
Galera Binaries (nicht Oracle/MySQL)
Achtung vor Hots-Spots auf einzelnen Zeilen (z. B. Sequenzen-Tabelle)
Dadurch höhere wahrscheinlichkeit von Deadlocks
Voll-Sychronisation (SST) blockiert Lesen und Schreiben → 3 nodes
www.fromdual.com
21 / 23
Load balancing (LB)
MySQL (NDB) Cluster
MySQL
Server
NDB Cluster
(Data nodes)
MySQL
Server
MySQL
Server
ndbd ndbd
ndbdndbd
mgmd
MGM client
SQL nodes
mgmd
MGM client
App App App
NG0
NG1
Data nodes /
Mgmt nodes
Load balancing (LB)Load balancing (LB)
www.fromdual.com
22 / 23
Vorteile / Nachteile
Synchrone Replikation
Nur eine mögliche Datenquelle
Keine Daten IN-Konsistenzen möglich
Extrem hoher Durchsatz (wenn richtig gemacht)
Skaliert sehr gut für Lesen UND Schreiben (wenn richtig gemacht)
Wartung im „laufenden Betrieb“ möglich
Kein drop-in Ersatz für 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 für Joins (Push Down Joins in v7.2)
www.fromdual.com
23 / 23
Q & A
Fragen ?
Diskussion?
Wir haben Zeit für ein High-Availability Audit...!
● FromDual bietet neutral und unabhängig:
● Beratung
● Remote-DBA
● Support für MySQL und Galera Cluster
● Schulung
www.fromdual.com/presentations

Mais conteúdo relacionado

Mais procurados

MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLFromDual GmbH
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFromDual GmbH
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSRalf Ernst
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA'sFromDual GmbH
 
MySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA'sMySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA'sFromDual GmbH
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationFromDual GmbH
 
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for BeginnersFromDual GmbH
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual GmbH
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Jonathan Weiss
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Jonathan Weiss
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
JBoss EAP clustering
JBoss EAP clustering JBoss EAP clustering
JBoss EAP clustering hwilming
 

Mais procurados (20)

MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQL
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL Replication
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OS
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
MySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA'sMySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA's
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL Replication
 
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for Beginners
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
JBoss EAP clustering
JBoss EAP clustering JBoss EAP clustering
JBoss EAP clustering
 

Semelhante a MySQL High Availability Solutions

MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLFromDual GmbH
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
 
X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009Frank
 
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSJomaSoft
 
Oracle Advanced Compression - Erfahrungen aus dem praktischen Einsatz
Oracle  Advanced Compression - Erfahrungen aus dem praktischen EinsatzOracle  Advanced Compression - Erfahrungen aus dem praktischen Einsatz
Oracle Advanced Compression - Erfahrungen aus dem praktischen EinsatzPeter Ramm
 
OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar
OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan YanarOSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar
OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan YanarNETWAYS
 
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfOSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfNETWAYS
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilan Wilhelm
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilian Wilhelm
 
Java und Go im Vergleich
Java und Go im VergleichJava und Go im Vergleich
Java und Go im VergleichQAware GmbH
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 

Semelhante a MySQL High Availability Solutions (18)

MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009
 
20121008 ssd-caches
20121008 ssd-caches20121008 ssd-caches
20121008 ssd-caches
 
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
 
Best Practices 
Java und JVM in Containern
Best Practices 
Java und JVM in ContainernBest Practices 
Java und JVM in Containern
Best Practices 
Java und JVM in Containern
 
Oracle Advanced Compression - Erfahrungen aus dem praktischen Einsatz
Oracle  Advanced Compression - Erfahrungen aus dem praktischen EinsatzOracle  Advanced Compression - Erfahrungen aus dem praktischen Einsatz
Oracle Advanced Compression - Erfahrungen aus dem praktischen Einsatz
 
OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar
OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan YanarOSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar
OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar
 
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfOSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
 
Reactive Programming
Reactive ProgrammingReactive Programming
Reactive Programming
 
Concurrency in java
Concurrency in javaConcurrency in java
Concurrency in java
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Java und Go im Vergleich
Java und Go im VergleichJava und Go im Vergleich
Java und Go im Vergleich
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 

Mais de FromDual GmbH

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...FromDual GmbH
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?FromDual GmbH
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopFromDual GmbH
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New FeaturesFromDual GmbH
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaFromDual GmbH
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015FromDual GmbH
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprintsFromDual GmbH
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLFromDual GmbH
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterFromDual GmbH
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014FromDual GmbH
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexingFromDual GmbH
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsFromDual GmbH
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 

Mais de FromDual GmbH (17)

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New Features
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New Features
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New Features
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schema
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprints
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQL
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera Cluster
 
HA with Galera
HA with GaleraHA with Galera
HA with Galera
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexing
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 

MySQL High Availability Solutions

  • 1. www.fromdual.com 1 / 23 MySQL High Availability DOAG 2013 Datenbank 14. Mai 2013, Düsseldorf Oli Sennhauser Senior MySQL Berater, FromDual GmbH oli.sennhauser@fromdual.com
  • 2. www.fromdual.com 2 / 23 Über FromDual GmbH ● FromDual bietet neutral und unabhängig: ● Beratung für MySQL ● Support für MySQL und Galera Cluster ● Remote-DBA Dienstleistungen für MySQL ● MySQL Schulungen ● Oracle Silver Partner (OPN) www.fromdual.com
  • 3. www.fromdual.com 3 / 23 Inhalt HA Solutions ➢ Read scale-out ➢ Replication set-up for HA ➢ Active/passive fail-over ➢ MySQL Cluster ➢ Replication Cluster ➢ Storage-Engine-Replication MySQL High Availability ➢ Scale-Out vs. Scale-Up ➢ Master/Slave Replikation ➢ Master/Master Replikation ➢ Aktiv/passiv failover Cluster mit SAN ➢ Aktiv/passiv failover Cluster mit DRBD ➢ Galera Cluster für MySQL ➢ MySQL (NDB) Cluster
  • 4. www.fromdual.com 4 / 23 MySQL Scale-Out vs Scale-Up Scale-Out ● Kosten ● MySQL Design ● Physische Flaschenhälse Scale-Up ● „Relaxation of Constraints“
  • 5. www.fromdual.com 5 / 23 ... Master – Slave Replikation Application Master log_bin = on server_id = 42 Slave ● Wir brauchen: ● Binary Log ● Server Id ● User für die Replikation (auf dem Master) ● Konsistentes Backup MIT Binary Log Position bin-log.m bin-log.n relay-log.m relay-log.n... IO_ thread SQL_ thread
  • 6. www.fromdual.com 6 / 23 High-Availability mit Replikation Application Master Slave Backup Slave Reporting rt w Load balancer read only Slave 1 Slave 2 Slave 3 ... async! Slave M ● Fail-over? VIP
  • 7. www.fromdual.com 7 / 23 Replikation Fail-over Application Master Slave Backup Load balancer Slave 1 Slave Reporting Slave 2 Slave 3 rt w read only ... async! Slave M VIP
  • 8. www.fromdual.com 8 / 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) Daten In-konsistenz (pt­table­checksum/pt­table­sync) Wenn Master stirbt→ welcher Slave wird neuere Master? Switch → viel Arbeit, etwas heikel! Es gibt Tools die helfen (MMM v1/v2, MHA, Tungsten, ...)
  • 9. www.fromdual.com 9 / 23 Master-Master Replikation App App App M1 Slave1 Slave2 SlaveBackup Load balancer (LB) M2 VIP Slave3
  • 10. www.fromdual.com 10 / 23 Master-Master Replikation App App App M1 Slave1 Slave2 SlaveBackup Load balancer (LB) M2 VIP Slave3
  • 11. www.fromdual.com 11 / 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) Daten In-konsistenz (pt­table­checksum/pt­table­sync) Wenn Master stirbt, ist die Hälfte der Slaves „out of sync“! Vorsicht beim Schreiben auf beide Master! Man erhält dadurch NICHT mehr I/O Durchsatz! Ein wenig komplizierter (wieder-)aufzusetzen
  • 12. www.fromdual.com 12 / 23 Aktiv/passiv fail-over mit SAN App App App M' SAN Slave1 Slave2 Slave3 Load balancing (LB) M VIP
  • 13. www.fromdual.com 13 / 23 Aktiv/passiv fail-over mit SAN ● SPOF 2! App App App M' SAN Slave1 Slave2 Slave3 Load balancing (LB) M VIP !!!
  • 14. www.fromdual.com 14 / 23 Vorteile / Nachteile Synchrone Replikation I/O Durchsatz hängt vom SAN (I/O System) ab Keine Daten IN-Konsistenzen möglich Nur eine mögliche 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! Hälfte der Hardware idelt Wesentlich komplexerr aufzusetzen
  • 15. www.fromdual.com 15 / 23 Aktiv/passiv fail-over mit DRBD App App App M' Slave1 Slave2 Slave3 Load balancing (LB) M VIP DRBD“Poor man's SAN”
  • 16. www.fromdual.com 16 / 23 Activ/passiv fail-over mit DRBD App App App M' Slave1 Slave2 Slave3 Load balancing (LB) M VIP DRBD“Poor man's SAN” ● SPOF 1!
  • 17. www.fromdual.com 17 / 23 Vorteile / Nachteile Synchrone Replikation Keine Daten IN-Konsistenzen möglich Nur eine mögliche Datenquelle Slaves werdenautomatisch und sauber geschwenkt Filesystem ist SpoF! I/O Durchsatz tendenziell geringer als mit SAN Andere Seite ist kalt nach Fail-over! Hälfte der Hardware idelt Wesentlich komplexer aufzusetzen
  • 18. www.fromdual.com 18 / 23 Galera Cluster für MySQL App App App Load balancing (LB) Node 2 Node 3Node 1 wsrep Galera replication wsrep wsrep
  • 19. www.fromdual.com 19 / 23 Galera Cluster für MySQL App App App Load balancing (LB) Node 2 Node 3Node 1 wsrep Galera replication wsrep wsrep
  • 20. www.fromdual.com 20 / 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“ möglich Basiert auf InnoDB Storage Engine (nur auf InnoDB!) Galera Binaries (nicht Oracle/MySQL) Achtung vor Hots-Spots auf einzelnen Zeilen (z. B. Sequenzen-Tabelle) Dadurch höhere wahrscheinlichkeit von Deadlocks Voll-Sychronisation (SST) blockiert Lesen und Schreiben → 3 nodes
  • 21. www.fromdual.com 21 / 23 Load balancing (LB) MySQL (NDB) Cluster MySQL Server NDB Cluster (Data nodes) MySQL Server MySQL Server ndbd ndbd ndbdndbd mgmd MGM client SQL nodes mgmd MGM client App App App NG0 NG1 Data nodes / Mgmt nodes Load balancing (LB)Load balancing (LB)
  • 22. www.fromdual.com 22 / 23 Vorteile / Nachteile Synchrone Replikation Nur eine mögliche Datenquelle Keine Daten IN-Konsistenzen möglich Extrem hoher Durchsatz (wenn richtig gemacht) Skaliert sehr gut für Lesen UND Schreiben (wenn richtig gemacht) Wartung im „laufenden Betrieb“ möglich Kein drop-in Ersatz für 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 für Joins (Push Down Joins in v7.2)
  • 23. www.fromdual.com 23 / 23 Q & A Fragen ? Diskussion? Wir haben Zeit für ein High-Availability Audit...! ● FromDual bietet neutral und unabhängig: ● Beratung ● Remote-DBA ● Support für MySQL und Galera Cluster ● Schulung www.fromdual.com/presentations