Page 1 of 1
Einen Mysql Stand auf x Servern
Posted: 2005-12-21 11:25
by mwo
Hallo,
Ist es möglich die mysql daten auf einem Samba Server zu speichern, und dann gleichzeitig von x servern aus lesen+schreiben zu lassen, sodass auf jedem Server ein eigener mysql server/apache usw läuft.
Das Problem wird wohl sein, dass mysql die Files beim lesen/schreiben "sperrt" oder?
Kann man das umgehen, oder anders umsetzen?
Mein Ziel ist, dass ich auf x Servern in einem RZ auf eine einzige Datenbank zugreifen kann, sich die Db last aber auch auf diese x Server verteilt.
Vielen Dank für eure Hilfe,
MfG
mwo
Re: Einen Mysql Stand auf x Servern
Posted: 2005-12-21 14:25
by Roger Wilco
mwo wrote:Ist es möglich die mysql daten auf einem Samba Server zu speichern, und dann gleichzeitig von x servern aus lesen+schreiben zu lassen, sodass auf jedem Server ein eigener mysql server/apache usw läuft.
Nein. Du bekommst dann massive Probleme mit der Konsistenz.
mwo wrote:Kann man das umgehen, oder anders umsetzen?
http://dev.mysql.com/doc/refman/5.0/en/replication.html
Re: Einen Mysql Stand auf x Servern
Posted: 2005-12-21 14:51
by mwo
Hallo,
Hmm... Wie mir grade auffällt, sollten die Slaves dann nur lesen..
Das is aber irgendwie auch nich so das wahre, wenn man um irgendwas zu schreiben/updaten erst auf den Master connecten muss..
Gibts da evtl. noch andere Alternativen?
MfG
mwo
Re: Einen Mysql Stand auf x Servern
Posted: 2005-12-21 15:02
by Roger Wilco
mwo wrote:Gibts da evtl. noch andere Alternativen?
Ja, ein MySQL Cluster (
http://dev.mysql.com/doc/refman/5.0/en/ndbcluster.html). Das ist aber *etwas* aufwendiger.
Re: Einen Mysql Stand auf x Servern
Posted: 2005-12-21 17:23
by oxygen
mwo wrote:Hallo,
Hmm... Wie mir grade auffällt, sollten die Slaves dann nur lesen..
Das is aber irgendwie auch nich so das wahre, wenn man um irgendwas zu schreiben/updaten erst auf den Master connecten muss..
Gibts da evtl. noch andere Alternativen?
Ein Server kann gleichzeitig Master und Slave sein.
Re: Einen Mysql Stand auf x Servern
Posted: 2006-01-26 19:27
by isotopp
mwo wrote:Ist es möglich die mysql daten auf einem Samba Server zu speichern, und dann gleichzeitig von x servern aus lesen+schreiben zu lassen, sodass auf jedem Server ein eigener mysql server/apache usw läuft.
Nein. Verwende Replikation. Replikation ist trivial aufzusetzen und zu betreiben. Replikation ist jedoch asynchron: Daten vom Master werden vom Master an die Slaves repliziert, sind aber erst zu einem unbekannten Zeitpunkt auf allen Slaves verfügbar.
Eine gängige Methode ist es, auf dem Master und den Slaves eine Token-Tabelle zu haben, die vom Typ MEMORY (HEAP) ist und die auch repliziert wird. Data Modification Language gegen den Master wird dann so implementiert, daß man nach der DML noch ein Insert eines eindeutigen Tokens in die Tokentabelle macht und dann auf dem Slave wartet, bis das Token sichtbar ist. Da Replikation streng seriell funktioniert, kann man dann sicher sein, daß die eigentliche DML auch repliziert wurde.
Die Alternative ist MySQL Cluster (NDB-Tabellen), die jedoch aufwendiger zu konfigurieren sind und andere Performance- und Skalierungseigenschaften haben. Dafür ist Cluster synchron und macht 2PC.
Re: Einen Mysql Stand auf x Servern
Posted: 2006-01-28 03:05
by theton
So schwer ist ein MySQL-Cluster garnicht einzurichten. Ich arbeite unter
http://www.blhg.org/mysql_cluster_lan.php gerade an einem Howto, ist aber leider noch nicht ganz fertig, wird aber in den naechsten 2 Wochen fertig gestellt und auf der Hauptseite eingebunden.