Grundlegendes zu vereinten Datenbankservern

Damit das für große Websites erforderliche hohe Leistungsniveau erreicht wird, verteilt ein Multi-Tier-System die Verarbeitungslast jeder Stufe üblicherweise gleichmäßig auf mehrere Server. SQL Server verteilt die Datenbank-Verarbeitungslast auf eine Gruppe von Servern, indem die Daten in einer Datenbank horizontal partitioniert werden.Diese Server werden unabhängig voneinander verwaltet, arbeiten aber zusammen, um die Datenbankanforderungen von den Anwendungen zu verarbeiten. Eine solche zusammenarbeitende Gruppe von Servern wird als vereintes Datenbanksystem bezeichnet.

Eine vereint verwaltete Datenbankstufe kann ihr optimales Leistungsverhalten nur erreichen, wenn die jeweilige Anwendung jede SQL-Anweisung an den Mitgliedsserver sendet, der den größten Teil der von der Anweisung benötigten Daten enthält. Dies wird als Abstimmen der SQL-Anweisung auf die Daten, die von der Anweisung angefordert werden, bezeichnet. Das Abstimmen von SQL-Anweisungen auf die erforderlichen Daten ist nicht auf vereinte Server beschränkt. Eine solche Abstimmung ist auch in Clustersystemen erforderlich.

Auch wenn sich eine Gruppe vereinter Server den Anwendungen genauso präsentiert wie ein einzelner Datenbankserver, gibt es interne Unterschiede hinsichtlich der Implementierung der Ebene der Datenbankdienste.

Stufe mit einem Server

Stufe mit vereinten Servern

Es gibt eine Instanz von SQL Server auf dem Produktionsserver.

Es gibt eine Instanz von SQL Server auf jedem Mitgliedsserver.

Die Produktionsdaten sind in einer Datenbank gespeichert.

Jeder Mitgliedsserver hat eine Mitgliedsdatenbank. Die Daten sind über die Mitgliedsdatenbanken verteilt.

Jede Tabelle ist üblicherweise genau eine Entität.

Die Tabellen aus der ursprünglichen Datenbank sind horizontal in Mitgliedstabellen partitioniert. Pro Mitgliedsdatenbank gibt es eine Mitgliedstabelle, und es werden verteilte partitionierte Sichten verwendet, um die Tabelle so erscheinen zu lassen, als gäbe es auf jedem Mitgliedsserver eine vollständige Kopie der ursprünglichen Tabelle.

Alle Verbindungen werden zu dem einen Server hergestellt, und alle SQL-Anweisungen werden von derselben SQL Server-Instanz verarbeitet.

Die Anwendungsebene muss in der Lage sein, SQL-Anweisungen auf dem Mitgliedsserver abzustimmen, der den größten Teil der Daten enthält, auf die die jeweilige Anweisung verweist.