weltweite produktionsdatenverwaltung mit mysql-replikation

Upload: oli-sennhauser

Post on 06-Mar-2016

6 views

Category:

Documents


0 download

DESCRIPTION

Weltweite Produktionsdatenverwaltung mit MySQL-Replikation* 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

TRANSCRIPT

  • www.fromdual.com

    1 / 23

    Weltweite Produktionsdatenverwaltung mit MySQL-Replikation

    DOAG Konferenz 2015, Nrnberg

    Oli SennhauserSenior MySQL Consultant, FromDual GmbH

    [email protected]

  • www.fromdual.com

    2 / 23

    ber FromDual GmbH

    Support

    remote-DBA

    Schulung

    Beratung

  • www.fromdual.com

    3 / 23

    InhaltHA 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 zurck? MySQL multi-Source Replikation Bertriebsverantwortung Hochverfgbarkeit Sensitive Daten Wer darf welche Daten sehen? MySQL Row Filterung Nachtrgliche Forderungen

  • 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 OrganisationenBegehrlichkeiten zei-gen...

    Ausgangslage

  • 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 zurck in die Zentrale? Wer hat die Verantwortung ber welche

    Komponenten? Wie stellen wir sicher, dass geheime Daten

    nicht nachtrglich eingefordert werden knnen?

  • 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 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 Hppchen

    verteilen (Missbrauch).

  • www.fromdual.com

    8 / 23

    Wie werden Daten verteilt? Hinweg

  • www.fromdual.com

    9 / 23

    Wie werden Daten verteilt? Hinweg, 2 Mglichkeiten:

    Applikatorisch :-( MySQL Master/Slave Replikation

    Kunde hat MySQL M/S Replikation gewhlt Einfach und robust Schnell zu implementieren Standard out-of-the-box Verfahren

  • www.fromdual.com

    10 / 23

    Produktionsdaten zurck?

  • www.fromdual.com

    11 / 23

    Produktionsdaten zurck? Wie kriegen wir die Produktionsdaten wieder zurck in die

    Zentrale? Rckweg

    Applikatorisch :-( MySQL multi-Source Replikation (5.7)

    Kunde hat vorerst applikatorisch gewhlt da recht einfache Logik

    REPLACE INTO zentraleSELECT * FROM land WHERE ts > ;

    MySQL multi-Source Replikation noch nicht GA war Sommer 2015 Betrieb nicht ganz trivial ist

  • 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

  • www.fromdual.com

    13 / 23

    Betriebsverantwortung Wer hat die Verantwortung ber welche

    Komponenten?

  • www.fromdual.com

    14 / 23

    Hochverfgbarkeit

    Wie wir das gan-ze noch hoch-

    verfgbar aus- gelegt?

  • 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

  • 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 verfgbar fr Point-in-Time-Recovery!

  • www.fromdual.com

    17 / 23

    Lsung? Blackhole Storage Engine!

    /dev/nullApplication

    Disk

    Master (RAM)

    /dev/null

    Slave (RAM)

    binary log relay log

    Hauptsitz Hauptsitz

    Disk

    Slave (RAM)

    relay log

    Land X

    keinFilter! Filtern!

  • www.fromdual.com

    18 / 23

    MySQL Row Filterung? Schema Filterung? Tabellen Filterung? d.h. aber, wir mssen unsere Applikation ev.

    umbauen?!? 1 Schema pro Land Vielleicht gar nicht so schlechte Idee, aber Arbeit!

    Row Filterung? MySQL :-( aber ...

  • www.fromdual.com

    19 / 23

    MySQL Row Filterung? MySQL kann das nicht. Aber, Lego-Kiste auf...CREATE TRIGGER filter_rowBEFORE INSERT ON manufacturing_dataFOR EACH ROWBEGIN 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;

  • www.fromdual.com

    20 / 23

    Nachtrgliche Forderungen Wie stellen wir sicher, dass geheime Daten

    nicht nachtrglich eingefordert werden knnen? Es will da mitgucken/mithren!

  • www.fromdual.com

    21 / 23

    Nachtrgliche Forderungen

    Application

    Disk

    Master (RAM)

    /dev/null

    Slave (RAM)

    binary log relay log

    Hauptsitz Hauptsitz

    Disk

    Slave (RAM)

    relay log

    Land X

    keinFilter! Filtern!

    Gar nicht ausliefern Nur so wenig wie mglich Asap wieder sauber lschen

  • www.fromdual.com

    22 / 23

    http://fromdual.com/controlling-worldwide-manufacturing-plants-with-mysql

    Schulung: MySQL Operationsund Hochverfgbarkeitsarchitekturen

    ca. 6 x im Jahr (Berlin und Essen)

    Stand 308

  • www.fromdual.com

    23 / 23

    Q & A

    Fragen ?

    Diskussion?

    Wir haben Zeit fr ein persnliches Gesprch...

    FromDual bietet neutral und unabhngig: Beratung Remote-DBA Support fr MySQL, Galera, Percona Server und MariaDB Schulung

    www.fromdual.com/presentations

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23