View
108
Download
1
Category
Preview:
Citation preview
www.fromdual.com
1 / 21
MySQL Replikation -Die Eier legende Wollmilchsau?
DOAG Webinar 2015
Oli SennhauserSenior MySQL Consultant, FromDual GmbH
oli.sennhauser@fromdual.com
www.fromdual.com
2 / 21
Über FromDual GmbH
● FromDual bietet neutral und unabhängig:● Support für MySQL, Galera Cluster und MariaDB● remote-DBA Dienstleistungen● Beratung für MySQL, Galera Cluster und MariaDB● MySQL und MariaDB Schulungen
● Oracle Silber Partner (OPN)● Mitglied bei DOAG, SOUG, /ch/open und OSBA
www.fromdual.com
www.fromdual.com
3 / 21
Was ist Replikation?
● „the action of copying or reproducing something“
Master Slave
Applikation Applikation Applikation
www.fromdual.com
4 / 21
MySQL und Replikation
● Mindestens seit 2000 (15 Jahre!)→ robust und fehlerarm
● Im Standard (MySQL CE) enthaltendaher sehr weit verbreitet
● Sehr einfach aufzusetzen● In vielen Varianten möglich● Für viele verschiedene Anwendungsfälle...
www.fromdual.com
5 / 21
Anwendungsfälle
● Hochverfügbarkeit● Geo-Redundanz● Backup● zeitverzögerte Replikation● Reporting/Auswertung● Lese-Scaleout● ETL● Filtern / Rewrite● Master/Master● Schema Upgrade ohne Downtime● Aggregation● MySQL → Fremdsysteme
www.fromdual.com
6 / 21
Hochverfügbarkeit
● High-Availability (HA)● DB oder DB Server kaputt?
Master Slave
Applikation Applikation Applikation
?
www.fromdual.com
7 / 21
Hochverfügbarkeit
● Noch etwas unpraktisch● virtuelle IP (VIP)
Master Slave
Applikation Applikation Applikation
VIP VIP
www.fromdual.com
8 / 21
Geo-Redundanz
● Disaster fail-over● Ausweich-Rechenzentrum● MySQL Replikation ist asynchron und daher
sehr robust was Distanzen anbelangt.
Master Slave
www.fromdual.com
9 / 21
Backup vom Slave
● Backup● verursacht Last, spült Buffer Pool durch● blockiert MyISAM Tabellen (nicht InnoDB!)● ev. DB stilllegen für Backup? (für Snapshot)
Master Slave
Applikation
www.fromdual.com
10 / 21
zeitverzögerte Replikation
● Ups!-Queries:UPDATE employee SET bonus = bonus + 500 WHERE id + 42;Rows matched: 3 Changed: 3 Warnings: 0
● Echtzeitdaten verzögern (Börsenkurse)
Master Slave
Applikation
90 min
www.fromdual.com
11 / 21
Reporting/Auswertung
● Ähnliches Muster wie Backup● verursacht Last, spült Buffer Pool durch● blockiert MyISAM Tabellen (nicht InnoDB!)● OLTP → OLAP/DWH
Master Slave
Applikation
www.fromdual.com
12 / 21
● massive Skalierung von Lesezugriffen● starke Spitzen (Terroranschlag in Paris)● hohe Bandbreite (Vergleich von Feriendesti-
nationen)
● Oft „unmögliche“ (= teure) Abfragen
Lese-Scaleout
Master
SlaveApplikation
Slave
Slave
Slave
Slave
Lo
ad B
alan
cer
Applikation
www.fromdual.com
13 / 21
ETL auf Slave
● Schreiben auf Slave!● Löschen auf Master, aber nicht auf Slave
Master Slave
Applikation ETL
90 d 5 a360 d
www.fromdual.com
14 / 21
Filtern / Rewrite
● Schema-Filter auf Master (nicht empfohlen!)● Schema- und Tabellen Filter auf Slave (OK)
● Schema-Rewrite (RENAME TABLE)
Master Slave
Applikation
Sichere Zone DMZ
www.fromdual.com
15 / 21
Master/Master
● Pfui! Böse...Warum: async OHNE Konflikt-Detektion
● Macht man heute nicht mehr → Galera● Nur wenn Datenintegrität und -konsistenz
egal sind!
Mastera
Masterp
Applikation
www.fromdual.com
16 / 21
Schema Upgrade
● Basierend auf Master/Master Replikation● Schema Upgrade mit geringer Downtime
Mastera
Mastern
Applikation
VIP
● Storage Engine● Indices● Attribute ändern● Spalte hinzufügen● Spalte löschen
VIP
www.fromdual.com
17 / 21
Aggregator
● Multi-Source- oder Fan-in-Replikation● MariaDB 10.0 und MySQL Labs 5.7● Vermaschte Replikations-Setups: KISS!!!
Slave
Master1
Applikation
Master2
Master3
Applikation
Applikation
www.fromdual.com
18 / 21
MySQL → Fremdsysteme
● MySQL ist Open Sourced.h. man kann schauen wie's geht...
● Replikations-Datenstrom● anzapfen und anpassen
● Tungsten Replikator:
Master Slave
Tungsten Replikator
MySQL → MySQLMySQL → OracleOracle → MySQLOracle → OracleMySQL → HadoopOracle → HadoopMySQL → MongoDBOracle → MongoDB
www.fromdual.com
19 / 21
Funktion der Replikation
● Binary Logs (DDL + DML, ~Archive Logs)● Log Streaming (kein Log Shipping!)
● Slave holt Daten (pull, kein push!)
Master Slave
bin-log.000001
relay-log.000001server_id = 42
log_bin = ...server_id = 43
bck
CHANGE MASTER TOmaster_host = ...master_user = ...master_password = ...master_port = ...master_log_file = ...master_log_pos = ...
www.fromdual.com
20 / 21
Wie weiter...?
● Das Datenbank-Duell:
Oracle XE versus MySQL
● Am 5. und 6. Februar 2015● Im Derag Livinghotel Maximilian● in Nürnberg
● http://www.doag.org/events/konferenzen/noon2noon.html
www.fromdual.com
21 / 21
Q & A
Fragen ?
Diskussion?
Wir haben Zeit für ein persönliches Gespräch...
● FromDual bietet neutral und unabhängig:● Beratung
● Remote-DBA
● Support für MySQL, Galera, MariaDB und Percona Server
● Schulung
www.fromdual.com/presentations
Recommended