www.fromdual.com
1 / 23
Weltweite Produktionsdatenverwaltung
mit MySQL-Replikation
DOAG Konferenz 2015, Nürnberg
Oli Sennh...
www.fromdual.com
2 / 23
Über FromDual GmbH
Support
remote-DBA
Schulung
Beratung
www.fromdual.com
3 / 23
Inhalt
HA Solutions
➢
Read scale-out
➢
Replication set-up for HA
➢
Active/passive fail-over
➢
MySQ...
www.fromdual.com
4 / 23
● Immer mehr deutsche Unternehmen lagern Ihre
Produktion ins nahe und ferne Ausland aus.
● Das hat...
www.fromdual.com
5 / 23
Probleme, die sich stellen
● Wer darf welche Daten kriegen?
● Wie werden die Daten verteilt?
● Wie...
www.fromdual.com
6 / 23
Wer darf welche Daten kriegen?
● Welche Daten?
● Anforderungen?
www.fromdual.com
7 / 23
Wer darf welche Daten kriegen?
● Welche Daten haben wir überhaupt?
● Produktions-Rezepturen
● Date...
www.fromdual.com
8 / 23
Wie werden Daten verteilt?
● Hinweg
www.fromdual.com
9 / 23
Wie werden Daten verteilt?
● Hinweg, 2 Möglichkeiten:
● Applikatorisch :-(
● MySQL Master/Slave Re...
www.fromdual.com
10 / 23
Produktionsdaten zurück?
www.fromdual.com
11 / 23
Produktionsdaten zurück?
● Wie kriegen wir die Produktionsdaten wieder zurück in die
Zentrale?
● ...
www.fromdual.com
12 / 23
multi-Source Replikation
● Was wir bisher konnten:
Master/Slave
● und Master/Master:
● neu ist mu...
www.fromdual.com
13 / 23
Betriebsverantwortung
● Wer hat die Verantwortung über welche
Komponenten?
www.fromdual.com
14 / 23
Hochverfügbarkeit
Wie wir das gan-
ze noch hoch-
verfügbar aus-
gelegt?
www.fromdual.com
15 / 23
Sensitive Daten
● Wie stellen wir sicher, dass sensitive Daten,
das Haus nicht verlassen?
● Wie f...
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...
www.fromdual.com
17 / 23
Lösung?
● Blackhole Storage Engine!
● /dev/null
Application
Disk
Master (RAM)
/dev/null
Slave (RA...
www.fromdual.com
18 / 23
MySQL Row Filterung?
● Schema Filterung?
● Tabellen Filterung?
● d.h. aber, wir müssen unsere App...
www.fromdual.com
19 / 23
MySQL Row Filterung?
● MySQL kann das nicht.
● Aber, Lego-Kiste auf...
CREATE TRIGGER filter_row
...
www.fromdual.com
20 / 23
Nachträgliche Forderungen
● Wie stellen wir sicher, dass geheime Daten
nicht nachträglich eingefo...
www.fromdual.com
21 / 23
Nachträgliche Forderungen
Application
Disk
Master (RAM)
/dev/null
Slave (RAM)
binary log relay lo...
www.fromdual.com
22 / 23
http://fromdual.com/controlling-worldwide-manufacturing-plants-with-mysql
Schulung: MySQL Operati...
www.fromdual.com
23 / 23
Q & A
Fragen ?
Diskussion?
Wir haben Zeit für ein persönliches Gespräch...
● FromDual bietet neut...
Nächste SlideShare
Wird geladen in …5
×

Weltweite Produktionsdatenverwaltung mit MySQL-Replikation

363 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
363
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

×