5

Ich überquere derzeit den Dschungel von SQL Server Scale-Out-Technologien wie Replikation, Protokollversand, Spiegelung ... Ich habe die folgende Einschränkungen für meine Wahl:Hilfe bei der Auswahl, welche SQL Server 2008 Scale-Out-Lösung zu wählen (Replikation, ...)

  • ich möchte, dass die nur-Lese-Last auf der anderen Primär- und Sekundär verteilt werden (Spiegel, Teilnehmer) Server
    • schreiben Last direkt an den Primärserver gesendet werden können
    • Die Lösung sollte nahezu wartungsfrei sein. Schemaänderungen sollten nur auf den sekundären Server repliziert werden (Achtung: Die Replikation hat hier einige schwerwiegende Einschränkungen)
    • Geschriebene Daten sollten sehr schnell (in weniger als 1 Sekunde, aber besser sofort) auf dem sekundären Server
    • zugänglich sein Bei Serverausfall kann ich problemlos bis zu einer Stunde Datenverlust verursachen. Ich bin mehr mit einfacher Skalierbarkeit

Hier einige Optionen sind für das, was ich wählen könnte: http://msdn.microsoft.com/en-us/library/bb510414.aspx. Irgendeine Erfahrung, die du teilen könntest?

Antwort

5

Das sind alles Hochverfügbarkeitslösungen, nicht Scale-Out. SQL Server hat keine einfache Scale-Out-Lösung und auch keine anderen (relationalen) Datenbanken. Die Master-Slave-Replikation wird so skaliert, wie es die Master-Scale-Scale-Up-Möglichkeit zulässt. Die Verwendung der Master-Master-Replikation multiplexiert die Schreibvorgänge und führt zu Konsistenzproblemen. Fast alle großen Implementierungen, die auf Replikation basierende Lösungen versucht hatten, mussten es aufgeben.

Eine Alternative ist, Ihre Anwendung in Bezug auf unabhängige Daten-Lehensbereiche zu überdenken, die durch Nachrichtenübermittlung kommunizieren, wie MySpace scales out.

Eine weitere Alternative ist es, einige Einschränkungen (schreiben Konsistenz, lesen Sie Konsistenz, die Verwertbarkeit getippt Schemata, referentielle Integrität) zu verlassen und einen nosql Motor wählen, die frei einmal befreit von diesen Zwängen skalieren kann (Cassandra, HBase, MongoDB).

Letztendlich ist die Skalierung eine so grundlegende Voraussetzung, dass Sie Ihre Anwendung um die Lösung herum entwerfen und alle (strengen) Einschränkungen berücksichtigen müssen, die durch Skalierung auferlegt werden. Beachten Sie jedoch, dass alle relationalen Engines eine lange Weise skalieren können und die weltweite Anzahl von Bereitstellungen, die eine Skalierung benötigen, die über die Skalierbarkeit einer Datenbank hinausgeht, kann an Ihren Fingern gezählt werden.

+0

Ja, ich denke, dass Ihr letzter Absatz auf uns anwendbar ist, weil wir einen größeren Server kaufen könnten. Ich war jedoch besorgt über die Kosten, weil diese großen Server viel Geld kosten ... Die Replikation würde den Übergang zu einem größeren System (derzeit 1 kleiner Server) billiger machen, denke ich, aber die Mühe ist vielleicht nicht die Mühe wert. Das Out-Domain-Modell ist extrem reichhaltig und relational. Viele Tabellen und Einschränkungen. – usr

Verwandte Themen