Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Spiegelung vs. Replikation

Ich kenne SQL Server 2005 nicht, aber für die allgemeine SQL-Nutzung würde ich immer die Replikation bevorzugen. Sie müssen Lese-/Schreibzugriffe in Ihrer Anwendung trennen (für MySQL gibt es MySQL Proxy, der dies auf Proxy-Weise für Sie tun kann), erhalten aber ein skalierbares System (liest auf Slave(s), schreibt auf Master)

Spiegelung bedeutet Master-Master-Replikation, die zu Parallelitäts-/Transaktionsproblemen führt. Selbst in Master-Master-Szenarien sollten Sie NIEMALS Senden Sie Schreibanfragen an verschiedene Server. Abhängig von der Größe Ihres Projekts wären die nächsten Schritte das Hinzufügen weiterer Slaves und dann das Hinzufügen eines weiteren Masters + seiner Slaves für Redundanz.

master --- master
  |          |
slave       slave
  |          |
slave       slave
  |          |
slave       slave

Selbst dann würden Sie Schreibanfragen nur an einen Master senden, aber im Falle eines Ausfalls des Masters könnten Sie automatisch den zweiten Master zu Ihrem neuen Schreibanfrageziel hochstufen.