Liest vs schreibt

260
Dhiwakar Ravikumar

Betrachten Sie eine Datenbank, auf die ständig zugegriffen wird (Lesen, Schreiben, Aktualisieren, Löschen usw.), z. B. die Datenbank für bestimmte Fluggesellschaften.

Ich kann verstehen, dass gleichzeitige Schreibvorgänge / Aktualisierungen zu vielen Problemen führen können, da Schreibvorgänge möglicherweise eine Sperre erfordern. Wenn sich zu viele Schreibvorgänge in der Warteschlange befinden, kann dies außerdem zu einem Pufferüberlauf usw. führen. Daher besteht die Notwendigkeit der Replikation (Klonen oder Bereitstellen mehrerer Zugriffspunkte für die Datenbank).

Was ist mit vielen Vorlesungen? Können mehrere gleichzeitige Leseanforderungen (Anforderung zum Abrufen einiger Daten aus der Datenbank) zu Problemen führen, außer dass der Zugriff auf die Datenbank verlangsamt wird? Wenn meine Datenbank selten aktualisiert wird, aber häufig auf Daten zum Lesen von Daten zugegriffen wird, ist die Replikation nur NUR sinnvoll?

0

1 Antwort auf die Frage

1
davidgo

Viele große Datenbanken, bei denen der Großteil der Aktivitäten aus Lesevorgängen besteht, replizieren und dann Lastausgleich der gelesenen Datenbanken.

Es gibt ein paar Probleme, aber das funktioniert gut, wenn Sie richtig eingerichtet sind. (Eine der gotchas ist Reads, die auch ein Feld als Teil des Reads aktualisieren).

Ein weiterer Grundgedanke ist die Konsistenz. Wenn einige Schreibvorgänge mehrere Tabellen umfassen, erhalten Sie in der kurzen Zeit, in der nicht alles geschrieben wird, unerwünschte Ergebnisse und Fehler, wenn Sie aus einer der replizierten Datenbanken lesen. Dies gilt insbesondere, wenn bei der Replikation unterschiedliche Tabellen verwendet werden auf verschiedene Maschinen gespiegelt oder es gibt einen Aktivitätsschub.