KartoffelKiffer
Mitglied
Hallo,
es geht hier in diesem Beitrag um die Replikation mehrerer Slave-Systeme auf ein Master-System.
Mein Problem beläuft sich auf die Indizierung meiner bestehenden Slave-Systeme.
Im Anhang habe ich eine kleine Grafik anbei gefügt, die die Struktur einmal kurz zeigen soll.
Prinzipiell kann man es so verstehen: Es existiert ein Baum, der mehrere Äste haben kann. Der wiederum kann mehrere Zweige haben, an dem wieder n Blätter hängen. Jede Tabelle ist mit der Elterntabelle verbunden. Ein Blatt hat also eine Zweig-ID, ein Zweig eine Ast-ID usw.
Ist es mittels MySQL-Tools nun irgendwie möglich, eine automatische Replikation meiner Slave-Systeme auf ein Master-System zu vollziehen, die folgendes berücksichtigt:
Die Slave-Systeme sind vom Aufbau her identisch, genau wie das Master-System auch. Sogar die Versionen von MySQL werden gepflegt.
Habe ich nun im Slave-System 1 einen Baum mit der ID 123, so hat dieser einen Ast mit der ID 111 und einen mit ID 112 usw., besteht nun die große Warscheinlichkeit, dass im Slave-System 2 ebenfalls ein Baum mit der ID 123 besteht, nur vielleicht mit verschiedener Anzahl Äste, Zweige und Blätter.
Nun steht in jedem Ast die ID des Baumes. Trage ich aus dem Slave-System 1 nun meine Äste in das Master-System ein, so bestehen Äste mit der Baum-ID 123 aus Slave-System 1 UND Slave-System 2. Die Baum-ID 123 lautet nun aber auch völlig anders. Die ID im Master-System wird per auto_increment automatisch um eins erhöht. Sie kann also für den Baum mit der ID "123" aus dem Slave-System 1 "87625" lauten, und aus dem Slave-System 2 "5".
Es muss also dafür gesorgt werden, dass der Foreign-Key (die ID des Baumes) der Äste automatisch den Wert erhält, der dem neuen Baum in dem Master-System zugewiesen wurde. Auch die ID´s der Äste sind different als in dem Slave-System, also müssen auch die Zweige von den neuen ID´s benachrichtig werden, genauso wie die Blätter auch.
Eine MySQL-Replikation muss also davon unterrichtet werden wie die Zusammenhänge der Datenbank aussieht. In meinem Fall doch recht einfach 1 zu n, da ein Baum n Äste haben kann, n Äste aber wiederum zu einem Baum gehören usw.
Ich hoffe mein Problem ist klar dargestellt, und es gibt eine Lösung dafür. So speziell ist die Frage hoffe ich nicht, alsdass MySQL dafür keine Lösung hat.
Mfg Tom
es geht hier in diesem Beitrag um die Replikation mehrerer Slave-Systeme auf ein Master-System.
Mein Problem beläuft sich auf die Indizierung meiner bestehenden Slave-Systeme.
Im Anhang habe ich eine kleine Grafik anbei gefügt, die die Struktur einmal kurz zeigen soll.
Prinzipiell kann man es so verstehen: Es existiert ein Baum, der mehrere Äste haben kann. Der wiederum kann mehrere Zweige haben, an dem wieder n Blätter hängen. Jede Tabelle ist mit der Elterntabelle verbunden. Ein Blatt hat also eine Zweig-ID, ein Zweig eine Ast-ID usw.
Ist es mittels MySQL-Tools nun irgendwie möglich, eine automatische Replikation meiner Slave-Systeme auf ein Master-System zu vollziehen, die folgendes berücksichtigt:
Die Slave-Systeme sind vom Aufbau her identisch, genau wie das Master-System auch. Sogar die Versionen von MySQL werden gepflegt.
Habe ich nun im Slave-System 1 einen Baum mit der ID 123, so hat dieser einen Ast mit der ID 111 und einen mit ID 112 usw., besteht nun die große Warscheinlichkeit, dass im Slave-System 2 ebenfalls ein Baum mit der ID 123 besteht, nur vielleicht mit verschiedener Anzahl Äste, Zweige und Blätter.
Nun steht in jedem Ast die ID des Baumes. Trage ich aus dem Slave-System 1 nun meine Äste in das Master-System ein, so bestehen Äste mit der Baum-ID 123 aus Slave-System 1 UND Slave-System 2. Die Baum-ID 123 lautet nun aber auch völlig anders. Die ID im Master-System wird per auto_increment automatisch um eins erhöht. Sie kann also für den Baum mit der ID "123" aus dem Slave-System 1 "87625" lauten, und aus dem Slave-System 2 "5".
Es muss also dafür gesorgt werden, dass der Foreign-Key (die ID des Baumes) der Äste automatisch den Wert erhält, der dem neuen Baum in dem Master-System zugewiesen wurde. Auch die ID´s der Äste sind different als in dem Slave-System, also müssen auch die Zweige von den neuen ID´s benachrichtig werden, genauso wie die Blätter auch.
Eine MySQL-Replikation muss also davon unterrichtet werden wie die Zusammenhänge der Datenbank aussieht. In meinem Fall doch recht einfach 1 zu n, da ein Baum n Äste haben kann, n Äste aber wiederum zu einem Baum gehören usw.
Ich hoffe mein Problem ist klar dargestellt, und es gibt eine Lösung dafür. So speziell ist die Frage hoffe ich nicht, alsdass MySQL dafür keine Lösung hat.
Mfg Tom