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