Mailinglisten-Archive |
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