phpbar.de logo

Mailinglisten-Archive

AW: [OT] Frage zu fragmentierten (verteilten) Datenbanken

AW: [OT] Frage zu fragmentierten (verteilten) Datenbanken

Hans-Peter Kohnle mysql at timesoft.org
Don Feb 12 14:52:52 CET 2004


Hallo,

> ich muss mich gerade mit verteilten Datenbanken beschäftigen und Frage
> mich ob einer von den cracks da draussen Erfahrungen damit hat.
Konkret
> geht es um die verschiedenen Level der Transparenz bei SQL Anfragen an
> verteilte DBs - und wie die Anfragen dabei genau aussehen müssen.

mir ist nicht bekannt, dass besondere SQL-Anfragen an eine verteilte
Datenbank erforderlich wären.

Es gibt grundsätzlich 2 verschiedene Möglichkeiten, wie man eine
verteilte DB mit MySQL aufbauen kann.

Die Ein-Master und viele Slaves Konfiguration:
Dabei wird ein Master und mehrere Slaves aufgebaut. Die Applikationen
lesen von den Slaves und schreiben zum Master. Dies musst du natürlich
in deinen Clients entsprechend einbauen.

Bei einem Ausfall des Masters können die Slaves zumindest noch Daten
ausliefern. Die Clients können aber keine Daten mehr schreiben.

Die Jeder ist Master Konfiguration:
Die server werden in einem "Ring" aufgebaut. Jeder Master ist auch ein
Slave. Die einfachste Variante wäre mit 2 Server. Server1:Slave holt
sich die Änderungen von Server2:Master und umgekehrt. Server2:Slave holt
sich die Änderungen von Server1:Master.

Entsprechend geht es auch noch ein bisschen grösser.

Server9:Slave <= Server1:Master
Server1:Slave <= Server2:Master
....
Server7:Slave <= Server8:Master
Server8:Slave <= Server9:Master

Hier kann deine Anwendung nun lesen und schreiben wie sie lustig ist.
Allerdings gibt es hier schon einige Ausnahmesituationen ;-) z.B. könnte
auf beiden Servern absolut zeitgleich ein Autoincrementfeld für zwei
unterschiedliche Datensätze verändert werden. Auch solche Fälle müsstest
Du mit Deiner Anwendung abfangen.

Sollte ein Server ausfallen, so arbeiten die restlichen Server
unbeeindruckt weiter. Die Daten werden allerdings erst wieder
repliziert, wenn der ausgefallene Server wieder läuft.


> Irgendjemand einen Tipp oder guten Link zum Thema? (googlen ist nicht
> wirklich hilfreich in diesem Fall...)

Ich habe seit etwa 1 Jahr eine verteilte DB mit 6 Server am laufen. Bei
der Konfiguration hat mir die Doku von MySQL
(http://www.mysql.de/doc/de/) sehr gut geholfen.


Gruss HaPe





-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive