Frage

Wir haben unseren Haupt -MySQL -Server in City A. Wir haben den Großteil unseres Kundendienstmitarbeiters in City B. Die Mitarbeiter beschweren sich, dass die Verbindung zu langsam für den Server ist. Die Optionen sind:

  1. Lassen Sie sie über das öffentliche Internet anstatt über unsere direkte Verbindung zwischen Städten gehen; Auf diese Weise mag Ping länger sein, aber sie konkurrieren nicht mit dem VoIP -Verkehr zwischen Städten

  2. Cluster die Datenbank, so dass schreibt und liest, kann gleichzeitig auf lokalen Servern in beiden Städten auftreten.

2 ist viel vorzuziehen, aber wie Sie wahrscheinlich durch meine Beschreibung erkennen können, habe ich absolut keine Ahnung, wie man es implementiert oder ob es sich um "Clustering" handelt. Das Beste, was ich für MySQL Cluster finden konnte, ist, dass die Verwendung von NDB -Tabellen erforderlich ist, und ich würde unsere gesamte Datenbank lieber nicht darauf konvertieren. Was sind meine Optionen hier? Vielen Dank.

War es hilfreich?

Lösung

Wie weit auseinander (Ping -Zeit) sind die beiden Städte? 80 ms ist das, was wir in den USA erleben. Es ist nicht schlimm.

Es ist möglich, an beide Köpfe des Master-Master-Meisters zu schreiben, hat aber viele Schmerzpunkte.

NDB-Cluster ermöglicht Heißhöhe, aber (wie Sie sagen) erfordert eine gewisse Konvertierung.

Also zurück zu dem, was ich als die einzig praktikable Lösung sehe: einen einzelnen beschreibbaren Master sowie eine beliebige Anzahl von Sklaven.

Eine Sache, die einen Remote -Master schmerzhaft machen kann, ist, wenn sich das "Einheit" der Benutzer des Benutzers "in viele SQL -Anweisungen übersetzt. Dies kann/sollte durch (1) den Code gelöst werden, um weniger Anweisungen zu verwenden (2) mit einem gespeicherten Prozedur, um so viele der SQL -Anweisungen wie möglich zu verkörpern, und dann diesen im Remote -Master bereitzustellen.

Lesevorgänge (außer "kritische Lesevorgänge") können/sollten zu einem Sklaven hinter einem Lastbalancer gehen. Und einiger Mechanismus sollte sicherstellen, dass Lesevorgänge normalerweise "lokal" sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top