auto_increment_offset
Reiner
- datenbank
Hi,
ich mache mir gerade ein paar Gedanken über eine 2-Wege-Replikation mit mysql.
Dabei bin ich auf den [http://www.onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html@title=Artikel] gestoßen.
Kann mir jemand erklären, warum es mit der Verwendung von auto_increment_offset nicht knallen kann?
Wenn ServerA ein Inkrement von eins und ServerB ein Inkrement von zwei hat, kann ich mir vorstellen, daß wenn ServerA etwas schneller ist und in der Zeit, in der ServerB nur einen Insert macht, zwei macht, daß es dann doch knallt. Oder gibt es nach jedem Insert erstmal einen Lock in der ganzen Maschinerie?
Danke.
Viele Grüße,
Reiner
sorry:
Artikel
(ist geplant, wenn man sich schon anmeldet, seine eigenen Texte auch editieren zu können?)
Viele Grüße,
Reiner
hi,
(ist geplant, wenn man sich schon anmeldet, seine eigenen Texte auch editieren zu können?)
https://forum.selfhtml.org/?t=139959&m=909299
gruß,
wahsaga
hi,
(ist geplant, wenn man sich schon anmeldet, seine eigenen Texte auch editieren zu können?)
danke
Kann mir jemand erklären, warum es mit der Verwendung von auto_increment_offset nicht knallen kann?
increment_offset allein ist es nicht, wie ja auch im Artikel steht. auto_increment_increment ist der zweite wichtige Bestandteil.
Die Kombi macht erst die Funktionsfähigkeit aus.
Wenn ServerA ein Inkrement von eins und ServerB ein Inkrement von zwei hat
Server A hat ein OFFSET von eins, Server B von zwei. Der Inkrement bei beiden ist identisch.
kann ich mir vorstellen, daß wenn ServerA etwas schneller ist und in der Zeit, in der ServerB nur einen Insert macht, zwei macht, daß es dann doch knallt. Oder gibt es nach jedem Insert erstmal einen Lock in der ganzen Maschinerie?
Kein Lock.
Lies den Artikel noch mal in Ruhe durch. Du hast den zentralen Punkt offenbar übersehen.
dbhelper
Ach, ja. Jetzt habe ich es kapiert.
Bei 2 Servern müßte doch aber das reichen, oder:
ServerA:
auto_increment_increment = 2
auto_increment_offset = 1
ServerB:
auto_increment_increment = 2
auto_increment_offset = 2
Resultat müßte sein:
A:
1
3
5
...
B:
2
4
6
...
So hätte man nicht soviel verschenkt, wenn es um große Datenmengen geht.
Gruß
Reiner