SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
www.fromdual.com
1 / 33
MySQL-Server im Teamwork -
Replikation und Cluster
DOAG-Konferenz, 2015-Nov-17
Jörg Brühe
Senior Support Engineer, FromDual GmbH
joerg.bruehe@fromdual.com
www.fromdual.com
2 / 33
FromDual GmbH
Support
remote-DBA
Schulung
Beratung
www.fromdual.com
3 / 33
Zur Person
● Entwicklung verteiltes SQL-DBMS:
Unix-Portierung,
Anschluss Archivierungs-Tools (ADSM, NetWorker)
● MySQL Build Team:
Release-Builds inkl. Tests, Paketierung, Skripte, ...
● DBA:
MySQL für eine Web-Plattform
(Master-Master-Replikation)
● Support-Ingenieur (FromDual):
Support + Remote-DBA für MySQL / MariaDB / Percona
mit oder ohne Galera Cluster
www.fromdual.com
4 / 33
Inhalt
MySQL Server: Architektur
Binlog
Replikation
Galera Cluster
Fazit
www.fromdual.com
5 / 33
Allgemeines
● Konzepte, nicht Details
„der Wald, nicht die Bäume“
● MySQL 5.5 / 5.6 (aktuelle GA-Versionen)
● Übertragbar von MySQL (Oracle) auf
Percona und MariaDB
● Nicht anwendbar auf „embedded“ MySQL
● Nicht betrachtet: NDB = „MySQL Cluster“
www.fromdual.com
6 / 33
MySQL Server: Architektur
Binlog
Replikation
Galera Cluster
Fazit
www.fromdual.com
7 / 33
Client-Server-DBMS
App App App
Server
Disk
Client (Applikation)
lokal oder remote
Socket, LAN oder Internet
Server ist eigener Prozess
Multi-threaded:
1 Thread je Session
Platte / SSD, lokal oder SAN
www.fromdual.com
8 / 33
Server intern
mysqld
MySQL ist eine multi-Thread
und NICHT eine multi-Prozess
Applikation!
Application / Client
Thread
Cache
Connection
Manager
User Au-
thentication
Command
Dispatcher
Logging
Query Cache
Module
Query
Cache
Parser
Optimizer
Access Control
Table Manager
Table Open
Cache (.frm, fh)
Table Definition
Cache (tbl def.)
Handler Interface
MyISAM Memory NDB PBXTInnoDB ...Aria XtraDB Federated-X
www.fromdual.com
9 / 33
MySQL Server: Architektur
Binlog
Replikation
Galera Cluster
Fazit
www.fromdual.com
10 / 33
Ebenen + Binlog
MyISAM
InnoDB
...
Userthread2
Userthread1
...
SQL-Ebene:
- Parser
- Optimizer
- Privilegien
- Query Cache
- …
Handler Interface
Datei-Ebene:
- Tabellen-Handler
- InnoDB:
- Satz-Zugriffe
- Satz-Sperren
- Recovery
- ...
Binlog:
Alle Daten-
und Schema-
Änderungen
www.fromdual.com
11 / 33
Binlog
● Alle ausgeführten Daten-Änderungen
● Alle ausgeführten Schema-Änderungen
● Zeitstempel
● Unabhängig von Tabellen-Handler
● Formate „statement“, „row“ und „mixed“
● Zwingend für Point-in-Time-Recovery „PITR“
● Segmente mit konfigurierbarer Größe
● Fortlaufend nummeriert
www.fromdual.com
12 / 33
MySQL Server: Architektur
Binlog
Replikation
Galera Cluster
Fazit
www.fromdual.com
13 / 33
Replikation bei MySQL
● Anwendungen kommunizieren mit „Master“
● „Master“ protokolliert alle Änderungen
● „Slave“ hat identischen Anfangszustand
● Slave holt alle Änderungen vom Master
und wendet sie bei sich an
● Replikation läuft asynchron
● Slave stoppt Replikation bei Abweichung
www.fromdual.com
14 / 33
Slave holt Binlog vom Master
Userthread2
Userthread1
...
Userthread3
MyISAM
InnoDB
...
Userthread2
Userthread1
...
SQLthread
IOthread
BinlogRelay
Log
MyISAM
InnoDB
...
Slave:
“log-bin = FILE”, sonst kein Binlog
“log_slave_updates = 1” für Weiterleitung
Master:
“log-bin = FILE”, sonst kein Binlog
(keine Master-Funktion)
Binlog
www.fromdual.com
15 / 33
Typische Anwendungen
● „High Availability“
● Geo-Redundanz
● Höhere Lese-Last unterstützen
(= „read scale-out“)
● Read-Only-Instanz(en)
für z.B. Backup oder Reports
● Verzögerte Replikation ist möglich
● Filterung (nach DB oder Tabelle) ist möglich
www.fromdual.com
16 / 33
Replikations-Kaskade
Userthread2
Userthread1
...
Userthread3
MyISAM
InnoDB
...
MyISAM
InnoDB
...
MyISAM
InnoDB
...
SQLthread
IOthread
Userthread2
Userthread1
...
SQLthread
IOthread
Userthread2
Userthread1
...
● Empfehlung: „read-only = 1“ auf Slave
● mehrere Slaves an einem Master möglich
www.fromdual.com
17 / 33
Einträge im Binlog
Ursprünglich:
● Identifikation durch Filename und Position
● Replikation: „change master to ...“ mit Host,
Port, User, Password, File, Position
● Siehe auch „mysqldump ­­master­data“
Ab MySQL 5.6:
● GTID = „Global Transaction ID“
● Replikation: „change master to ...“ mit Host,
Port, User, Password und „auto_position = 1“
www.fromdual.com
18 / 33
Master-Master-Replikation
Userthread2
Userthread1
...
Userthread3
MyISAM
InnoDB
...
Userthread2
Userthread1
...
SQLthread
IOthread
BinlogRelay
Log
MyISAM
InnoDB
...
Binlog
SQLthread
IOthread
Relay
Log
● Überlappende Änderungen sind fatal!
www.fromdual.com
19 / 33
Anmerkungen zur Replikation
● Master-Master ist umstritten, Vorsicht!
● Replikation erhöht den Lese-Durchsatz, aber
nicht/kaum den Schreib-Durchsatz
● Replikation hat File-IO und Netzlast
● Format „row“ ist effizienter, aber weniger lesbar
● Mit MySQL 5.7 ist Multi-Master-Replikation
möglich
● Große Installation: booking.com
● Lese-Tipp (Giuseppe Maxia, August 2015):
datacharmer.blogspot.de
www.fromdual.com
20 / 33
MySQL Server: Architektur
Binlog
Replikation
Galera Cluster
Fazit
www.fromdual.com
21 / 33
Schwächen der Replikation
● Asynchron
● Asymmetrisch
● Nur ein Schreib-Knoten
● Paralleles Schreiben verursacht Abbruch
● HA braucht Failover nach Knoten-Ausfall
● Jeder Knoten ist SPOF, Ausfall erzwingt
Struktur-Änderung
(Erleichterung in 5.7 durch Multi-Master)
● Dynamische Änderungen sind schwierig
www.fromdual.com
22 / 33
Bessere Alternative
● Symmetrischer Cluster
● Synchrone Übertragung
● Schreibzugriffe überall möglich
● Verteilte Konflikt-Analyse und -Behebung
● HA durch Kontinuität nach Knoten-Ausfall
● Dynamischer Eintritt / Austritt möglich
www.fromdual.com
23 / 33
Galera Cluster
App App App
Load balancing (LB)
Node 2 Node 3Node 1
wsrep
Galera replication
wsrep wsrep
Inklusive Ausfall-Erkennung
und Redirection für HA
“Working Set Replication”
Vorzugsweise eigenes Netz
lokale Platten,
jeweils Daten komplett
= =
“shared nothing” Architektur
www.fromdual.com
24 / 33
Eigenschaften von Galera (1)
+ Basiert auf InnoDB (wg. Transaktionen und Rollback)
+ Überträgt auch Benutzer-Definitionen usw.
+ Quasi-synchrone Übertragung beim Commit,
Prüfung auf Konflikt-Freiheit, effizient
+ Symmetrisch, HA ohne Server-Failover, Quorum
+ Kein Transaktions-Verlust
+ Scale-Out für Lesen, auch mehr Schreiben
+ Dynamischer Eintritt / Austritt möglich,
automatische Synchronisation
www.fromdual.com
25 / 33
Ablauf
Graph by
Vadim Tkachenko
(Percona):
http://www.mysqlperformanceblog.com/2012/01/19/
percona-xtradb-cluster-feature-2-multi-master-replication/
www.fromdual.com
26 / 33
Eigenschaften von Galera (2)
- Patch der MySQL-Quellen (Codership bietet
Binaries)
- Vorsicht bei Hot Spots (Zeilen)
- Späte Konflikt-Erkennung (Prüfung erst bei
Commit)
- Mindestgröße drei Knoten
- Synchronisations-Dauer bei großer DB
(mysqldump -> xtrabackup oder rsync)
www.fromdual.com
27 / 33
Zertifizierung bei Commit
http://galeracluster.com/documentation-webpages/certificationbasedreplication.html
www.fromdual.com
28 / 33
MySQL Server: Architektur
Binlog
Replikation
Galera Cluster
Fazit
www.fromdual.com
29 / 33
MySQL-Server im Teamwork
● Alternativen: Replikation oder Cluster
● Redundanz bei Maschine und Storage
● HA
● Scale-Out, besonders für Lese-Last
● Instanzen für Reports, Analyse, Backup
● Daten lokal verfügbar (Filialen, ...)
www.fromdual.com
30 / 33
Vergleich (1)
Replikation Galera
Standard Zusatzprodukt
Alle Handler InnoDB
Aufwärts-kompatibel gleiche Versionen
Mind 2 Knoten Mind 3 Knoten
HA durch Failover HA ohne Änderung
Kommunikation:
Hierarchisch, Kette symmetrisch, parallel
asynchron Quasi-synchron
Verzögerung möglich sofort
Filtern möglich alles
www.fromdual.com
31 / 33
Vergleich (2)
Replikation Galera
Lese-Scale-Out Lese-Scale-Out
Schreib-Knoten: 1* Write n* Write
Schreiben konst. Schreiben erhöht
Konflikt lokal:
Fehler bei Statement Fehler bei Statement
Schreib-Knoten: n* Write n* Write
Konflikt verteilt:
Replikations-Abbruch Rollback bei Commit
www.fromdual.com
32 / 33
Vergleich (3)
Replikation Galera
kurze Unterbrechung:
Replikation fortsetzen IST (inkrementeller Transfer)
lange Unterbrechung:
Replikation fortsetzen SST (kompletter Transfer)
Struktur-Änderung:
Manuell / Zusatz-Tool Automatisch / dynamisch
Aufsetzen:
Schnappschuss, Komplett-Transfer,
Master bleibt verfügbar Donor tlw. Blockiert
www.fromdual.com
33 / 33
Q & A
Fragen ?
Diskussion?
Wir haben Zeit für ein persönliches Gespräch – Stand 308
● FromDual bietet neutral und unabhängig:
● Beratung
● Remote-DBA
● Support für MySQL, Galera, Percona Server und MariaDB
● Schulung
www.fromdual.com/presentations

Weitere ähnliche Inhalte

Was ist angesagt?

MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual GmbH
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sFromDual GmbH
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationFromDual GmbH
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for BeginnersFromDual GmbH
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFromDual GmbH
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLFromDual GmbH
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupFromDual GmbH
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
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
 
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 HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsFromDual GmbH
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 

Was ist angesagt? (20)

MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA's
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL Replication
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for Beginners
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL Replication
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQL
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
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
 
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 HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 

Ähnlich wie MySQL-Server im Teamwork - Replikation und Cluster

Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfSyahri Ramadhan
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Loopback.ORG
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISPeter Löwe
 
Oracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerOracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerMartin Klier
 
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
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicateUlrich Krause
 
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
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Werner Fischer
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungTilo Baller
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Ralph Belfiore
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungLenz Grimmer
 
X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009Frank
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSharepointUGDD
 

Ähnlich wie MySQL-Server im Teamwork - Replikation und Cluster (20)

Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
 
PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
 
Oracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerOracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für Einsteiger
 
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
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
 
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
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?
 
ZFS unter Linux
ZFS unter LinuxZFS unter Linux
ZFS unter Linux
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & Verwendung
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und Datensicherung
 
X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009X$Tabellen und SgaScanner, DOAG 2009
X$Tabellen und SgaScanner, DOAG 2009
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 

Mehr von 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
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?FromDual 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
 

Mehr von FromDual GmbH (18)

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
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?
 
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-Server im Teamwork - Replikation und Cluster

  • 1. www.fromdual.com 1 / 33 MySQL-Server im Teamwork - Replikation und Cluster DOAG-Konferenz, 2015-Nov-17 Jörg Brühe Senior Support Engineer, FromDual GmbH joerg.bruehe@fromdual.com
  • 2. www.fromdual.com 2 / 33 FromDual GmbH Support remote-DBA Schulung Beratung
  • 3. www.fromdual.com 3 / 33 Zur Person ● Entwicklung verteiltes SQL-DBMS: Unix-Portierung, Anschluss Archivierungs-Tools (ADSM, NetWorker) ● MySQL Build Team: Release-Builds inkl. Tests, Paketierung, Skripte, ... ● DBA: MySQL für eine Web-Plattform (Master-Master-Replikation) ● Support-Ingenieur (FromDual): Support + Remote-DBA für MySQL / MariaDB / Percona mit oder ohne Galera Cluster
  • 4. www.fromdual.com 4 / 33 Inhalt MySQL Server: Architektur Binlog Replikation Galera Cluster Fazit
  • 5. www.fromdual.com 5 / 33 Allgemeines ● Konzepte, nicht Details „der Wald, nicht die Bäume“ ● MySQL 5.5 / 5.6 (aktuelle GA-Versionen) ● Übertragbar von MySQL (Oracle) auf Percona und MariaDB ● Nicht anwendbar auf „embedded“ MySQL ● Nicht betrachtet: NDB = „MySQL Cluster“
  • 6. www.fromdual.com 6 / 33 MySQL Server: Architektur Binlog Replikation Galera Cluster Fazit
  • 7. www.fromdual.com 7 / 33 Client-Server-DBMS App App App Server Disk Client (Applikation) lokal oder remote Socket, LAN oder Internet Server ist eigener Prozess Multi-threaded: 1 Thread je Session Platte / SSD, lokal oder SAN
  • 8. www.fromdual.com 8 / 33 Server intern mysqld MySQL ist eine multi-Thread und NICHT eine multi-Prozess Applikation! Application / Client Thread Cache Connection Manager User Au- thentication Command Dispatcher Logging Query Cache Module Query Cache Parser Optimizer Access Control Table Manager Table Open Cache (.frm, fh) Table Definition Cache (tbl def.) Handler Interface MyISAM Memory NDB PBXTInnoDB ...Aria XtraDB Federated-X
  • 9. www.fromdual.com 9 / 33 MySQL Server: Architektur Binlog Replikation Galera Cluster Fazit
  • 10. www.fromdual.com 10 / 33 Ebenen + Binlog MyISAM InnoDB ... Userthread2 Userthread1 ... SQL-Ebene: - Parser - Optimizer - Privilegien - Query Cache - … Handler Interface Datei-Ebene: - Tabellen-Handler - InnoDB: - Satz-Zugriffe - Satz-Sperren - Recovery - ... Binlog: Alle Daten- und Schema- Änderungen
  • 11. www.fromdual.com 11 / 33 Binlog ● Alle ausgeführten Daten-Änderungen ● Alle ausgeführten Schema-Änderungen ● Zeitstempel ● Unabhängig von Tabellen-Handler ● Formate „statement“, „row“ und „mixed“ ● Zwingend für Point-in-Time-Recovery „PITR“ ● Segmente mit konfigurierbarer Größe ● Fortlaufend nummeriert
  • 12. www.fromdual.com 12 / 33 MySQL Server: Architektur Binlog Replikation Galera Cluster Fazit
  • 13. www.fromdual.com 13 / 33 Replikation bei MySQL ● Anwendungen kommunizieren mit „Master“ ● „Master“ protokolliert alle Änderungen ● „Slave“ hat identischen Anfangszustand ● Slave holt alle Änderungen vom Master und wendet sie bei sich an ● Replikation läuft asynchron ● Slave stoppt Replikation bei Abweichung
  • 14. www.fromdual.com 14 / 33 Slave holt Binlog vom Master Userthread2 Userthread1 ... Userthread3 MyISAM InnoDB ... Userthread2 Userthread1 ... SQLthread IOthread BinlogRelay Log MyISAM InnoDB ... Slave: “log-bin = FILE”, sonst kein Binlog “log_slave_updates = 1” für Weiterleitung Master: “log-bin = FILE”, sonst kein Binlog (keine Master-Funktion) Binlog
  • 15. www.fromdual.com 15 / 33 Typische Anwendungen ● „High Availability“ ● Geo-Redundanz ● Höhere Lese-Last unterstützen (= „read scale-out“) ● Read-Only-Instanz(en) für z.B. Backup oder Reports ● Verzögerte Replikation ist möglich ● Filterung (nach DB oder Tabelle) ist möglich
  • 17. www.fromdual.com 17 / 33 Einträge im Binlog Ursprünglich: ● Identifikation durch Filename und Position ● Replikation: „change master to ...“ mit Host, Port, User, Password, File, Position ● Siehe auch „mysqldump ­­master­data“ Ab MySQL 5.6: ● GTID = „Global Transaction ID“ ● Replikation: „change master to ...“ mit Host, Port, User, Password und „auto_position = 1“
  • 19. www.fromdual.com 19 / 33 Anmerkungen zur Replikation ● Master-Master ist umstritten, Vorsicht! ● Replikation erhöht den Lese-Durchsatz, aber nicht/kaum den Schreib-Durchsatz ● Replikation hat File-IO und Netzlast ● Format „row“ ist effizienter, aber weniger lesbar ● Mit MySQL 5.7 ist Multi-Master-Replikation möglich ● Große Installation: booking.com ● Lese-Tipp (Giuseppe Maxia, August 2015): datacharmer.blogspot.de
  • 20. www.fromdual.com 20 / 33 MySQL Server: Architektur Binlog Replikation Galera Cluster Fazit
  • 21. www.fromdual.com 21 / 33 Schwächen der Replikation ● Asynchron ● Asymmetrisch ● Nur ein Schreib-Knoten ● Paralleles Schreiben verursacht Abbruch ● HA braucht Failover nach Knoten-Ausfall ● Jeder Knoten ist SPOF, Ausfall erzwingt Struktur-Änderung (Erleichterung in 5.7 durch Multi-Master) ● Dynamische Änderungen sind schwierig
  • 22. www.fromdual.com 22 / 33 Bessere Alternative ● Symmetrischer Cluster ● Synchrone Übertragung ● Schreibzugriffe überall möglich ● Verteilte Konflikt-Analyse und -Behebung ● HA durch Kontinuität nach Knoten-Ausfall ● Dynamischer Eintritt / Austritt möglich
  • 23. www.fromdual.com 23 / 33 Galera Cluster App App App Load balancing (LB) Node 2 Node 3Node 1 wsrep Galera replication wsrep wsrep Inklusive Ausfall-Erkennung und Redirection für HA “Working Set Replication” Vorzugsweise eigenes Netz lokale Platten, jeweils Daten komplett = = “shared nothing” Architektur
  • 24. www.fromdual.com 24 / 33 Eigenschaften von Galera (1) + Basiert auf InnoDB (wg. Transaktionen und Rollback) + Überträgt auch Benutzer-Definitionen usw. + Quasi-synchrone Übertragung beim Commit, Prüfung auf Konflikt-Freiheit, effizient + Symmetrisch, HA ohne Server-Failover, Quorum + Kein Transaktions-Verlust + Scale-Out für Lesen, auch mehr Schreiben + Dynamischer Eintritt / Austritt möglich, automatische Synchronisation
  • 25. www.fromdual.com 25 / 33 Ablauf Graph by Vadim Tkachenko (Percona): http://www.mysqlperformanceblog.com/2012/01/19/ percona-xtradb-cluster-feature-2-multi-master-replication/
  • 26. www.fromdual.com 26 / 33 Eigenschaften von Galera (2) - Patch der MySQL-Quellen (Codership bietet Binaries) - Vorsicht bei Hot Spots (Zeilen) - Späte Konflikt-Erkennung (Prüfung erst bei Commit) - Mindestgröße drei Knoten - Synchronisations-Dauer bei großer DB (mysqldump -> xtrabackup oder rsync)
  • 27. www.fromdual.com 27 / 33 Zertifizierung bei Commit http://galeracluster.com/documentation-webpages/certificationbasedreplication.html
  • 28. www.fromdual.com 28 / 33 MySQL Server: Architektur Binlog Replikation Galera Cluster Fazit
  • 29. www.fromdual.com 29 / 33 MySQL-Server im Teamwork ● Alternativen: Replikation oder Cluster ● Redundanz bei Maschine und Storage ● HA ● Scale-Out, besonders für Lese-Last ● Instanzen für Reports, Analyse, Backup ● Daten lokal verfügbar (Filialen, ...)
  • 30. www.fromdual.com 30 / 33 Vergleich (1) Replikation Galera Standard Zusatzprodukt Alle Handler InnoDB Aufwärts-kompatibel gleiche Versionen Mind 2 Knoten Mind 3 Knoten HA durch Failover HA ohne Änderung Kommunikation: Hierarchisch, Kette symmetrisch, parallel asynchron Quasi-synchron Verzögerung möglich sofort Filtern möglich alles
  • 31. www.fromdual.com 31 / 33 Vergleich (2) Replikation Galera Lese-Scale-Out Lese-Scale-Out Schreib-Knoten: 1* Write n* Write Schreiben konst. Schreiben erhöht Konflikt lokal: Fehler bei Statement Fehler bei Statement Schreib-Knoten: n* Write n* Write Konflikt verteilt: Replikations-Abbruch Rollback bei Commit
  • 32. www.fromdual.com 32 / 33 Vergleich (3) Replikation Galera kurze Unterbrechung: Replikation fortsetzen IST (inkrementeller Transfer) lange Unterbrechung: Replikation fortsetzen SST (kompletter Transfer) Struktur-Änderung: Manuell / Zusatz-Tool Automatisch / dynamisch Aufsetzen: Schnappschuss, Komplett-Transfer, Master bleibt verfügbar Donor tlw. Blockiert
  • 33. www.fromdual.com 33 / 33 Q & A Fragen ? Diskussion? Wir haben Zeit für ein persönliches Gespräch – Stand 308 ● FromDual bietet neutral und unabhängig: ● Beratung ● Remote-DBA ● Support für MySQL, Galera, Percona Server und MariaDB ● Schulung www.fromdual.com/presentations