Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

490 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
  • Als Erste(r) kommentieren

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

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

×