Lastenausgleich mit SQL Server


31

Was gibt es heute, um Microsoft SQL Server Load Balancing unter Windows Server durchzuführen und für jeden programmgesteuerten Zugriff transparent zu sein? Ist dies eingebaut oder muss eine Lösung gekauft werden?

Ich versuche herauszufinden, ob es heute eine Lösung gibt, die dies aus der Sicht der Webserver oder des anderen Datenbankzugriffs auf SQL Server sehr einfach macht.

Antworten:


31

Für MS SQL Server ist kein "Standard" -Lastausgleich eingerichtet, den Sie über einen Assistenten ausführen können.

Dies wäre eine Entscheidung über die Datenbankarchitektur und würde auf Datenbankebene und nicht auf Serverebene implementiert . Techniken wären:

  • Skalieren / Einbinden der Datenbankserver
  • Partitionierung
  • Laden Sie Ihre Berichtsanforderungen herunter
  • Vielleicht Replikation

Wenn jemand anderer Meinung ist, würde ich gerne einen Artikel von einer angesehenen bekannten MS SQL-Figur lesen, in dem Clustering als Lastausgleich bezeichnet wird. In den oben genannten Artikeln wird der Lastenausgleich nicht erwähnt. Zum Beispiel sagt ein Microsoftie (Chas Boyd), dass es nicht hier ist .

Meine Frage an das OP wäre, mit welcher Belastung rechnen Sie?

Datenbankserver sind in der Regel an E / A und Arbeitsspeicher gebunden, sodass eine ordnungsgemäße Festplattenkonfiguration (mit geeigneten Dateigruppen) und so viel RAM wie möglich weit über die obigen Lösungen hinausgehen.

Vergessen Sie nicht: SQL Server 2005 / Windows 2003 Enterprise 32-Bit wird auf 32 GB RAM (von denen Sie 26-28 GB Datencache haben würden) und Sie sind nicht durch Laufwerksbuchstaben aufgrund von NTFS-Mountpunkten beschränkt. Wie für x64 ...


22

Zuerst möchte ich ein paar Dinge klären, wenn ich darf ...

SQL Server-Clustering ist eine Verfügbarkeitstechnologie, die auf Windows-Clustering aufbaut. Es bietet Redundanz auf Hardwareebene und hat keinen Bezug zu der als Lastausgleich bekannten Technik, dh der Verteilung einer Verarbeitungslast.

Darüber hinaus sind Datenbankspiegelung und Protokollversand auch Technologien, um in erster Linie die Verfügbarkeit unterschiedlicher Formen zu implementieren.

Nun zur ursprünglichen Frage ...

Leider gibt es keine sofort einsatzbereite Lösung für den Lastenausgleich in SQL Server.

Sie können SQL Server Replication Technologies verwenden , um eine verteilte Datenbankumgebung zu implementieren, die auch die Verteilung der Transaktionsverarbeitungslast berücksichtigt. Ihre Anwendung muss sich jedoch der zugrunde liegenden Architektur bewusst sein.

Dieser Ansatz erfordert die Entwicklung und Anpassung einer bestimmten Anwendung, um einen Dienst mit Lastenausgleich bereitzustellen.

Ich hoffe, was ich detailliert habe, ist klar und sinnvoll, aber natürlich können Sie Ihre Fragen auch direkt an mich richten.



-1

Wenn Sie nicht über eine sehr hohe Schreibdatenbank verfügen, z. B. 10/90, in der nur 10% Ihrer Transaktionen geschrieben werden, können Sie die Peer-to-Peer-Replikation von SQL 2005 und höher auf einem Hardwarelastausgleichsmodul verwenden, um Ihre Anforderungen zu erfüllen. Nichts von der Stange.


-1

AlwaysOn Group mit einer Gruppe mit mehreren DBs fungiert auf Server A als Primärdatenbank, und die andere Gruppe der verbleibenden DBs fungiert auf Server B als Primärdatenbank, die ich mir als Lastausgleichslösung vorstellen kann. Sie müssen lediglich die manuelle Synchronisierung von Objekten auf Serverebene wie Anmeldungen, Verbindungsservern, Operatoren, Warnungen und Datenbank-E-Mail-Einstellungen entwickeln.


Das ist wirklich schwer zu verstehen. Wenn Sie etwas Neues hinzufügen möchten, können Sie dies klarer tun?
Laurenz Albe

-2

Es sind neue Technologien für den Datenbanklastenausgleich verfügbar, die von SQL Server getrennt sind. Diese Softwarelösungen wurden 2012 oder 2014 in Always On integriert und unterstützen automatische Lese- / Schreibaufteilung und andere Lastausgleichstechniken. Geben Sie für NetScaler Datastream oder ScaleArc für SQL Server als zwei Beispiele für diese transparenten SQL Load - Balancing - Software.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.