MySQL Replikation - Die Eier legende Wollmilchsau?

Transcrição

MySQL Replikation - Die Eier legende Wollmilchsau?
www.fromdual.com
MySQL Replikation Die Eier legende Wollmilchsau?
DOAG Webinar 2015
Oli Sennhauser
Senior MySQL Consultant, FromDual GmbH
[email protected]
1 / 21
Über FromDual GmbH
●
www.fromdual.com
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
2 / 21
Was ist Replikation?
●
www.fromdual.com
„the action of copying or reproducing something“
Applikation
Applikation
Master
Applikation
Slave
3 / 21
MySQL und Replikation
●
●
www.fromdual.com
Mindestens seit 2000 (15 Jahre!)
→ robust und fehlerarm
Im Standard (MySQL CE) enthalten
daher sehr weit verbreitet
●
Sehr einfach aufzusetzen
●
In vielen Varianten möglich
●
Für viele verschiedene Anwendungsfälle...
4 / 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
5 / 21
Hochverfügbarkeit
●
High-Availability (HA)
●
DB oder DB Server kaputt?
Applikation
Applikation
Master
Applikation
www.fromdual.com
?
Slave
6 / 21
Hochverfügbarkeit
●
Noch etwas unpraktisch
●
virtuelle IP (VIP)
Applikation
Applikation
www.fromdual.com
Applikation
VIP
VIP
Master
Slave
7 / 21
Geo-Redundanz
●
Disaster fail-over
●
Ausweich-Rechenzentrum
●
www.fromdual.com
MySQL Replikation ist asynchron und daher
sehr robust was Distanzen anbelangt.
Master
Slave
8 / 21
Backup vom Slave
●
www.fromdual.com
Backup
●
verursacht Last, spült Buffer Pool durch
●
blockiert MyISAM Tabellen (nicht InnoDB!)
●
ev. DB stilllegen für Backup? (für Snapshot)
Applikation
Master
Slave
9 / 21
zeitverzögerte Replikation
●
www.fromdual.com
Ups!-Queries:
UPDATE employee
SET bonus = bonus + 500 WHERE id + 42;
Rows matched: 3 Changed: 3 Warnings: 0
●
Echtzeitdaten verzögern (Börsenkurse)
Applikation
Master
Slave
90 min
10 / 21
Reporting/Auswertung
●
www.fromdual.com
Ähnliches Muster wie Backup
●
verursacht Last, spült Buffer Pool durch
●
blockiert MyISAM Tabellen (nicht InnoDB!)
●
OLTP → OLAP/DWH
Applikation
Master
Slave
11 / 21
Lese-Scaleout
massive Skalierung von Lesezugriffen
●
●
●
starke Spitzen (Terroranschlag in Paris)
hohe Bandbreite (Vergleich von Feriendestinationen)
Oft „unmögliche“ (= teure) Abfragen
Applikation
Slave
Slave
Master
Slave
Slave
Slave
Load Balancer
●
www.fromdual.com
Applikation
12 / 21
ETL auf Slave
www.fromdual.com
●
Schreiben auf Slave!
●
Löschen auf Master, aber nicht auf Slave
Applikation
Master
90 d
ETL
Slave
360 d
5a
13 / 21
Filtern / Rewrite
www.fromdual.com
●
Schema-Filter auf Master (nicht empfohlen!)
●
Schema- und Tabellen Filter auf Slave (OK)
●
Schema-Rewrite (RENAME TABLE)
Applikation
Master
Sichere Zone
Slave
DMZ
14 / 21
Master/Master
●
●
●
www.fromdual.com
Pfui! Böse...
Warum: async OHNE Konflikt-Detektion
Macht man heute nicht mehr → Galera
Nur wenn Datenintegrität und -konsistenz
egal sind! Applikation
Mastera
Masterp
15 / 21
Schema Upgrade
www.fromdual.com
●
Basierend auf Master/Master Replikation
●
Schema Upgrade mit geringer Downtime
Applikation
VIP
Mastera
Storage Engine
● Indices
● Attribute ändern
● Spalte hinzufügen
● Spalte löschen
●
VIP
Mastern
16 / 21
Aggregator
www.fromdual.com
●
Multi-Source- oder Fan-in-Replikation
●
MariaDB 10.0 und MySQL Labs 5.7
●
Vermaschte Replikations-Setups: KISS!!!
Master1
Applikation
Slave
Master2
Applikation
Master3
Applikation
17 / 21
MySQL → Fremdsysteme
●
●
MySQL ist Open Source
d.h. man kann schauen wie's geht...
Replikations-Datenstrom
●
●
www.fromdual.com
anzapfen und anpassen
Tungsten Replikator:
MySQL → MySQL
MySQL → Oracle
Oracle → MySQL
Oracle → Oracle
MySQL → Hadoop
Oracle → Hadoop
MySQL → MongoDB
Oracle → MongoDB
Slave
Master
Tungsten Replikator
18 / 21
Funktion der Replikation
●
Binary Logs (DDL + DML, ~Archive Logs)
●
●
www.fromdual.com
Log Streaming (kein Log Shipping!)
Slave holt Daten (pull, kein push!)
bck
Master
server_id = 42
log_bin = ...
Slave
bin-log.
000001
CHANGE MASTER TO
master_host = ...
master_user = ...
master_password = ...
master_port = ...
master_log_file = ...
master_log_pos = ...
server_id = 43
relay-log.
000001
19 / 21
Wie weiter...?
●
www.fromdual.com
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
20 / 21
Q&A
www.fromdual.com
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
21 / 21