Datenbank Cluster

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datenbank Cluster

    Hallo,

    bisher liefen meine Seiten immer mit einem Webserver und einem separaten Datenbankserver.
    Nur interessiert es mich mal, wie man einen Datenbank Cluster aufbaut. Geht dies mit MySQL?

    Ich höre von vielen Seiten, das sie bei MySQL einen Master (INSERT, UPDATE) und einen Slave (SELECT) einsetzen.

    Nun kann es ja sein, das die Seite von sehr vielen Usern besucht wird und ein einziger Masterserver eindeutig überfordert ist. Könnte man diesen mittels einer Technik erweitern???

    Die Slave Server könnten ja per LoadBalancer angesprochen werden aber es darf ja nur ein Master vorhanden sein. Ich hoffe Ihr versteht mich ein wenig ;)


    Danke und Gruß,

    Tobi :)
  • Also wenn dir 1 Master und n Slaves reichen, dann würde ich dir eine Master-Slave-Replikation mit einfachem DNS-Round-Robin davor empfehlen.
    Alle Inserts laufen auf den Master (mit fester IP) und gelesen wird jeweils von localhost (was dann mal der Master, mal der Slave ist)

    Das ist ziemlich einfach konfiguriert und es gibt sogar ein offizielles Howto: dev.mysql.com/doc/refman/5.1/de/replication-howto.html
    Beachte die verwendete MySQL Version, hier tut sich einiges.

    Der MySQL Cluster (google einfach mal) setzt die NDB Storage Engine voraus, die wiederum nicht für alle Einsatzzwecke geeignet ist. Ich glaube sogar bis MySQL 5.0 ist diese rein speicherbasiert. Es müsste also alles in den Arbeitsspeicher passen.
  • Das einzige Statement dazu habe ich mal hier gesehen: MySQL Datenbankskalierung und Performance
    Ich muss mir den Clip nochmal anschauen, wenn ich Zeit habe. Als ich ihn zum ersten mal gesehen hatte, hatte ich noch keinen Plan von der MySQL Skalierbarkeit.
    Es hat sich nicht danach angehört, dass sie die MySQL Cluster Engine mit NDB nutzen.

    Andererseits bin ich mir auch nicht sicher, wie sie MySQL und Memcached paaren. Mit Version 5.1 wird eine eigene Storage Engine für memcached kommen.

    Im übrigen beschränkt sich Replikation nicht auf einen Master und mehrere Slaves. Es gibt auch ein Multi-Master-Szenrario (mit noch mehr Slaves). Um die Datenverteilung brauchst du dir keine Sorgen machen ;)
    Große Seiten benutzen aber bestimmt keinen DNS Round Robin..
    das wird was anderes in die Anwendung (in MySQL?) integriert sein um die Last sinnvoll zu verteilen.