Weltweite Produktionsdatenverwaltung mit MySQL-Replikation

459 views

Published on

Weltweite Produktionsdatenverwaltung mit MySQL
* Ausgangslage
* Probleme die sich stellen
* Wer darf welche Daten kriegen?
* Wie werden Daten verteilt?
* Produktionsdaten zurück?
* MySQL multi-Source Replikation
* Bertriebsverantwortung
* Hochverfügbarkeit
* Sensitive Daten
* Wer darf welche Daten sehen?
* MySQL Row Filterung
* Nachträgliche Forderungen

Published in: Software
  • Be the first to comment

  • Be the first to like this

Weltweite Produktionsdatenverwaltung mit MySQL-Replikation

  1. 1. www.fromdual.com 1 / 23 Weltweite Produktionsdatenverwaltung mit MySQL-Replikation DOAG Konferenz 2015, Nürnberg Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com
  2. 2. www.fromdual.com 2 / 23 Über FromDual GmbH Support remote-DBA Schulung Beratung
  3. 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 Weltweite Produktionsdatenverwaltung mit MySQL ➢ Ausgangslage ➢ Probleme die sich stellen ➢ Wer darf welche Daten kriegen? ➢ Wie werden Daten verteilt? ➢ Produktionsdaten zurück? ➢ MySQL multi-Source Replikation ➢ Bertriebsverantwortung ➢ Hochverfügbarkeit ➢ Sensitive Daten ➢ Wer darf welche Daten sehen? ➢ MySQL Row Filterung ➢ Nachträgliche Forderungen
  4. 4. www.fromdual.com 4 / 23 ● Immer mehr deutsche Unternehmen lagern Ihre Produktion ins nahe und ferne Ausland aus. ● Das hat organisatorische und sicherheits- technische Überlegungen zur Folge. ● Insbesondere dann, wenn man dem Partner im Ausland nicht 100% traut. ● Und staatliche und pri- vate Organisationen Begehrlichkeiten zei- gen... Ausgangslage
  5. 5. www.fromdual.com 5 / 23 Probleme, die sich stellen ● Wer darf welche Daten kriegen? ● Wie werden die Daten verteilt? ● Wie kriegen wir die Produktionsdaten wieder zurück in die Zentrale? ● Wer hat die Verantwortung über welche Komponenten? ● Wie stellen wir sicher, dass geheime Daten nicht nachträglich eingefordert werden können?
  6. 6. www.fromdual.com 6 / 23 Wer darf welche Daten kriegen? ● Welche Daten? ● Anforderungen?
  7. 7. www.fromdual.com 7 / 23 Wer darf welche Daten kriegen? ● Welche Daten haben wir überhaupt? ● Produktions-Rezepturen ● Daten, die verbaut werden ● Produktions-Messdaten ● Anforderungen ● Land A soll NICHT Daten von Land B sehen! ● Zentrale soll alle Messdaten erhalten ● Verbaute Daten nur in kleinen Häppchen verteilen (Missbrauch).
  8. 8. www.fromdual.com 8 / 23 Wie werden Daten verteilt? ● Hinweg
  9. 9. www.fromdual.com 9 / 23 Wie werden Daten verteilt? ● Hinweg, 2 Möglichkeiten: ● Applikatorisch :-( ● MySQL Master/Slave Replikation ● Kunde hat MySQL M/S Replikation gewählt ● Einfach und robust ● Schnell zu implementieren ● Standard out-of-the-box Verfahren
  10. 10. www.fromdual.com 10 / 23 Produktionsdaten zurück?
  11. 11. www.fromdual.com 11 / 23 Produktionsdaten zurück? ● Wie kriegen wir die Produktionsdaten wieder zurück in die Zentrale? ● Rückweg ● Applikatorisch :-( ● MySQL multi-Source Replikation (5.7) ● Kunde hat vorerst applikatorisch gewählt ● da recht einfache Logik REPLACE INTO zentrale SELECT * FROM land WHERE ts > <letzter_lauf>; ● MySQL multi-Source Replikation noch nicht GA war ● Sommer 2015 ● Betrieb nicht ganz trivial ist
  12. 12. www.fromdual.com 12 / 23 multi-Source Replikation ● Was wir bisher konnten: Master/Slave ● und Master/Master: ● neu ist multi-Source: Master Slave 1 Slave 2 Slave 3 Master 1 Master 2 Slave Master 1 Master 2 Master 3
  13. 13. www.fromdual.com 13 / 23 Betriebsverantwortung ● Wer hat die Verantwortung über welche Komponenten?
  14. 14. www.fromdual.com 14 / 23 Hochverfügbarkeit Wie wir das gan- ze noch hoch- verfügbar aus- gelegt?
  15. 15. www.fromdual.com 15 / 23 Sensitive Daten ● Wie stellen wir sicher, dass sensitive Daten, das Haus nicht verlassen? ● Wie funktioniert MySQL Replikation? Application Disk Master (RAM) Disk Slave (RAM) binary log relay log Hauptsitz Land X
  16. 16. www.fromdual.com 16 / 23 Wer darf welche Daten sehen? ● Land A soll nicht Daten von Land B sehen! ● d.h. Land A soll nicht Daten von Land B kriegen!!! ● Sonst kann der gewiefte Admin die auch sehen...! ● Wie? MySQL Replikationsfilterung! ● Master: binlog-db, binlog-ignore-db ● Slave: replicate-do-db, replicate-ignore-db, replicate-do-table, replicate-ignore-table ● Problem: Filtern auf dem Master :-( ● zwar nicht in Replikation aber ● auch nicht verfügbar für Point-in-Time-Recovery!
  17. 17. www.fromdual.com 17 / 23 Lösung? ● Blackhole Storage Engine! ● /dev/null Application Disk Master (RAM) /dev/null Slave (RAM) binary log relay log Hauptsitz Hauptsitz Disk Slave (RAM) relay log Land X kein Filter! Filtern!
  18. 18. www.fromdual.com 18 / 23 MySQL Row Filterung? ● Schema Filterung? ● Tabellen Filterung? ● d.h. aber, wir müssen unsere Applikation ev. umbauen?!? ● 1 Schema pro Land ● Vielleicht gar nicht so schlechte Idee, aber Arbeit! ● Row Filterung? ● MySQL :-( ● aber ...
  19. 19. www.fromdual.com 19 / 23 MySQL Row Filterung? ● MySQL kann das nicht. ● Aber, Lego-Kiste auf... CREATE TRIGGER filter_row BEFORE INSERT ON manufacturing_data FOR EACH ROW BEGIN IF ( NEW.manufacture_plant != 'China' ) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Row was filtered out.' , CLASS_ORIGIN = 'FromDual filter trigger' , SUBCLASS_ORIGIN = 'filter_row' , CONSTRAINT_SCHEMA = 'erp' , CONSTRAINT_NAME = 'filer_row' , SCHEMA_NAME = 'erp' , TABLE_NAME = 'manufacturing_data' , COLUMN_NAME = '' , MYSQL_ERRNO = 1644 ; END IF; END;
  20. 20. www.fromdual.com 20 / 23 Nachträgliche Forderungen ● Wie stellen wir sicher, dass geheime Daten nicht nachträglich eingefordert werden können? ● „Es“ will da mitgucken/mithören!
  21. 21. www.fromdual.com 21 / 23 Nachträgliche Forderungen Application Disk Master (RAM) /dev/null Slave (RAM) binary log relay log Hauptsitz Hauptsitz Disk Slave (RAM) relay log Land X kein Filter! Filtern! ● Gar nicht ausliefern ● Nur so wenig wie möglich ● Asap wieder sauber löschen
  22. 22. www.fromdual.com 22 / 23 http://fromdual.com/controlling-worldwide-manufacturing-plants-with-mysql Schulung: MySQL Operations und Hochverfügbarkeitsarchitekturen ca. 6 x im Jahr (Berlin und Essen) Stand 308
  23. 23. www.fromdual.com 23 / 23 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, Percona Server und MariaDB ● Schulung www.fromdual.com/presentations

×