load balancing - datenbanken



  • hab ne eher theoretische frage

    angenommen man hat ein netz von servern mit einer menge an anfragen die load balancing sinvoll machen

    der inhalt der http server ist statisch, der datenbankinhalt ändert sich laufend.
    wenn nun mehr anfragen kommen als ein datenbank server verarbeiten kann wie verteilt man die last dann und verhindert gleichzeitig, dass zuviel aufwand auf die syncronisation der datenbanken verwendet wird.

    gibt es da ansätze oder tritt das problem nicht auf?



  • Was verwendest du als Datenbank? Ich habe sowas bisher nur mit PostgreSQL in Verbindung mit pgpool gemacht. Das ganze lief dann mit 3 Systemen - 1x pgpool und 2x PostgreSQL.

    EDIT: Zumindest bei pgpool braucht man sich um Syncronisation keine Gedanken machen. Bei INSERTs und UPDATEs schickt pgpool die Daten an beide Server (sind damit immer syncron).



  • Herrmann schrieb:

    EDIT: Zumindest bei pgpool braucht man sich um Syncronisation keine Gedanken machen. Bei INSERTs und UPDATEs schickt pgpool die Daten an beide Server (sind damit immer syncron).

    bist du dir da so sicher? Gerade wenn mal einer der Server aus welchen Gründen auch immer gerade keine Daten aufnehmen kann, kann es zu Inkonsistenz kommenn



  • Die Frage ist eher wann das nötig wird. MySQL bspw. verträgt mehrere tausend SELECT-Anfragen pro Sekunde, ohne auch nur mit der Wimper zu zucken (je nach System natürlich). Seit neuestem gibt es ja auch das Cluster-Tabellenformat, das die Konsistenz der DB über mehrer Server verteilt erhält.



  • Sowas gibt es dann auch mit MSSQL.
    Cluster und LB haben fast alle großen aber da muss man dann schon Profi sein und das System genau überdenken.
    Es bringt nichts einfach nur auf eine andere DB zu gehen. Da gehört dann auch auch austausch der IP-u.s.w. dazu.


Anmelden zum Antworten