Übersicht über skalierbare freigegebene Datenbanken

Das Feature skalierbarer freigegebener Datenbanken ermöglicht das dezentrale Skalieren einer schreibgeschützten, ausschließlich für Berichtszwecke erstellten Datenbank (einer so genannten Berichtsdatenbank). Die Berichtsdatenbank muss sich auf einer Gruppe dedizierter, schreibgeschützter Volumes befinden, deren primäre Aufgabe darin besteht, als Datenbankhost zu dienen. Mithilfe von Standardhardware für Server und Volumes können Sie eine Berichtsdatenbank dezentral skalieren, die eine identische Ansicht der Berichtsdaten auf mehreren Berichtsservern bereitstellt. Dieses Feature ermöglicht zudem einen einfachen Updatepfad für die Berichtsdatenbank.

Nach dem Erstellen der Berichtsdatenbank auf einer Gruppe von Berichtsvolumes werden die Volumes als schreibgeschützt markiert und auf mehreren Berichtsservern bereitgestellt. Die Berichtsdatenbank wird dann auf jedem Berichtsserver an eine Instanz von Microsoft SQL Server 2005 oder höher angefügt und als eine freigegebene skalierbare Datenbank zur Verfügung gestellt. Nach dem Einrichten der Berichtsdatenbank als skalierbare freigegebene Datenbank kann sie von Clients mit verschiedenen Berichtsservern gemeinsam genutzt werden. Zum Abfragen der Datenbank kann ein Benutzer oder eine Anwendung eine Verbindung mit einer beliebigen Serverinstanz herstellen, an die die Datenbank angefügt ist. Für eine bestimmte Version einer Berichtsdatenbank können die Clients auf den verschiedenen Servern eine identische Ansicht der Berichtsdaten erhalten, wobei die Konsistenz der Abfrageergebnisse über alle Server hinweg sichergestellt wird.

Vorteile

Skalierbare freigegebene Datenbanken bieten die folgenden Vorteile:

  • Das dezentrale Skalieren der Arbeitsauslastung auf den Berichtsdatenbanken mithilfe von Server- und Hardwareprodukten.

    Eine skalierbare freigegebene Datenbank ist eine kosteneffektive Methode, um ein Data Mart als schreibgeschützt zu markieren bzw. um Data Warehouses für Berichtszwecke für den Zugriff mehrerer Serverinstanzen zugänglich zu machen, wie z. B. zum Ausführen von Abfragen oder zum Verwenden von Reporting Services.

  • Die Isolation der Arbeitsauslastung.

    Jeder Server verwendet seinen eigenen Arbeitsspeicher sowie die eigene CPU und tempdb-Datenbank. Auf diese Weise wird verhindert, dass all Ihre Serverressourcen von schlecht optimierten Abfragen beansprucht werden.

  • Eine identische Ansicht der Berichtsdaten von allen Servern.

    Hier wird vorausgesetzt, dass die Konfiguration aller Serverinstanzen identisch ist, d. h., dass sie z. B. eine einzelne Sortierung verwenden.

    HinweisHinweis

    Sie können die Berichtsdatenbank auf einem zweiten Berichtsvolume aktualisieren. Weitere Informationen finden Sie unter Maximieren der Verfügbarkeit einer skalierbaren, freigegebenen Datenbank.

Einschränkungen

Skalierbare freigegebene Datenbanken weisen die folgenden Einschränkungen auf:

  • Die Datenbank muss sich auf einem schreibgeschützten Volume befinden.

  • Die Datendateien sind über ein SAN (Storage Area Network) zugänglich.

  • Die Datenbanken werden von Windows Storage unterstützt, die nur auf Windows Server 2003 SP1 oder später ausgeführt werden.

  • Es wird empfohlen, die Konfigurationen Ihrer skalierbaren freigegebenen Datenbank auf acht Serverinstanzen pro freigegebene Datenbank einzuschränken.

  • Skalierbare freigegebene Datenbanken unterstützen keine Datenbanksnapshots.

Wichtiger HinweisWichtig

Die Konfiguration einer skalierbaren freigegebenen Datenbank erfordert, dass die SAN-Umgebung bereits ordnungsgemäß funktioniert. Richtlinien und Empfehlungen zum Verwenden einer skalierbaren freigegebenen Datenbank finden Sie unter Sicherstellen einer richtigen Umgebung für skalierbare freigegebene Datenbanken.

Erstellen und dezentrales Skalieren einer Berichtsdatenbank

Für die Konfiguration einer neuen skalierbaren freigegebenen Datenbank beginnt ein Datenbankadministrator mit dem Erstellen einer neuen Berichtsdatenbank auf einer Gruppe von Berichtsvolumes bzw. mit dem Aktualisieren einer veralteten Version der Berichtsdatenbank auf diesen. (Dies wird als die Erstellungs- bzw. Aktualisierungsphase bezeichnet.) Anschließend nimmt der Administrator die dezentrale Skalierung der Datenbank vor. Hierbei wird die Datenbank als skalierbare freigegebene Datenbank auf mehreren Serverinstanzen konfiguriert. (Dies erfolgt in der so genannten Anfügungsphase.)

Die folgende Abbildung veranschaulicht das Erstellen einer neuen Berichtsdatenbank mithilfe eines einzelnen Berichtsvolume und das Anfügen der Berichtsdatenbank, um sie als skalierbare freigegebene Datenbank zur Verfügung zu stellen.

Skalierbare freigegebene Datenbank unter Verwendung eines Berichtsvolumes

Die in der Abbildung dargestellte Erstellungsphase veranschaulicht den Bereitstellungsvorgang des Berichtsvolume auf dem Produktionsserver sowie das Erstellen der Berichtsdatenbank. Nach Bereitstellung des Volume im Produktionssystem wird dieser als schreibgeschützt markiert. Anschließend wird mithilfe der in SQL Server 2005 oder höher bereitgestellten Datenkopiermethoden zum Kopieren von Daten oder Datenbanken auf dem Volume eine Berichtsdatenbank erstellt. Die in der Abbildung dargestellte Berichtsdatenbank ist eine Kopie einer vollständigen Produktionsdatenbank. Nach dem Erstellen der Datenbank legt der Administrator für die einzelnen Berichtsvolumes den Schreibschutz fest und entfernt diese.

Die in der Abbildung dargestellte Anfügungsphase veranschaulicht die Bereitstellung der Berichtsdatenbank als skalierbare freigegebene Datenbank. Zunächst stellt der Administrator die schreibgeschützten Berichtsvolumes auf mehreren Berichtsservern über das SAN bereit. Anschließend fügt der Administrator die Berichtsdatenbank auf jedem Berichtsserver an eine SQL Server-Instanz an. Die Datenbank wird als schreibgeschützte Datenbank angefügt, da die Volumes schreibgeschützt sind. Nach Abschluss dieses Vorgangs auf einem bestimmten Berichtsserver ist die Berichtsdatenbank als skalierbare freigegebene Datenbank auf diesem Server verfügbar. Die Anfügungsphase wird jedoch solange weiter ausgeführt, bis die Datenbank an alle Berichtsserver angefügt ist.

Eine bestimmte Version der Berichtsdatenbank steht als skalierbare freigegebene Datenbank zur Verfügung, solange sie an einen beliebigen Berichtsserver angefügt ist.

Aktualisieren einer Gruppe von Berichtsvolumes

Da eine Berichtsdatenbank in der Regel schreibgeschützt ist, gilt sie schließlich mit der Zeit als veraltet und muss aktualisiert werden, um die Berichtsdaten auf den aktuellen Stand zu bringen. Bei der Konfiguration einer skalierbaren freigegebenen Datenbank wird der vollständige Ersetzungsvorgang einer Berichtsdatenbank auf einer bestimmten Gruppe von Berichtsvolumes durch eine neue Version derselben Datenbank als Updatezyklus bezeichnet.

Der Updatezyklus

Der Updatezyklus beginnt mit der Trennungsphase, die mit dem Entfernen aller Berichtsvolumes von allen Berichtsservern endet. Als Nächstes folgt die Aktualisierungsphase. (Diese Phase entspricht der Erstellungsphase einer neuen Berichtsdatenbank.) Die Aktualisierungsphase endet mit der Erstellung einer neuen, fast aktuellen Version der Datenbank auf schreibgeschützten Volumes, die zurzeit noch auf keinem Server bereitgestellt sind. Zum Abschluss wird die Datenbank während der Anfügungsphase als skalierbare freigegebene Datenbank eingerichtet, wobei dieselben Schritte wie beim Anfügen einer neuen Berichtsdatenbank verwendet werden.

  • Trennungsphase

    In der ersten Stufe eines Updatezyklus wird die veraltete Datenbank von der skalierbaren freigegebenen Datenbankkonfiguration von jedem einzelnen Berichtsserver entfernt. Der Vorgang, bei dem eine veraltete Berichtsdatenbank als skalierbare freigegebene Datenbank vom Dienst entfernt wird, wird als Trennungsphase des Updatezyklus bezeichnet. Bevor Sie eine neue Version einer Berichtsdatenbank auf einem bestimmten Berichtsserver bereitstellen können, muss diese Phase auf diesem Server abgeschlossen sein.

    Der Datenbankadministrator beendet sämtliche Abfragen der Datenbank von jeder Serverinstanz, sodass mit dem Entfernen der Datenbank begonnen werden kann. Anschließend trennt der Administrator die Datenbank von jedem Berichtsserver. Nachdem die Berichtsdatenbank von der letzten Serverinstanz getrennt wird, ist sie nicht mehr als skalierbare freigegebene Datenbank verfügbar. Zum Abschluss dieser Phase entfernt der Administrator die Berichtsvolumes, auf denen die veraltete Datenbank vorhanden ist.

  • Aktualisierungsphase

    Die nächste Phase des Updatezyklus umfasst das Aktualisieren der Datenbank auf derselben Gruppe von Volumes. Beim Aktualisieren der Datenbank erfolgt entweder die Aktualisierung, z. B. durch den Import aktueller Produktionsdaten, oder die Neuerstellung der Datenbank, z. B. durch das Wiederherstellen einer aktuellen Sicherung der Produktionsdatenbank. Die bevorzugte Methode zum Aktualisieren einer Datenbank hängt dabei von Ihren Geschäftsanforderungen ab.

  • Anfügungsphase

    Zum Abschließen des Updatezyklus für eine Gruppe von Berichtsvolumes muss der Administrator die dezentrale Skalierung der aktualisierten Datenbank vornehmen. Wenn eine einzelne Gruppe von Berichtsvolumes für die Konfiguration einer skalierbaren freigegebenen Datenbank verwendet wird, entspricht der Anfügungsvorgang während eines Updates dem ursprünglichen Anfügungsvorgang.

Alternative Datenbankversionen zwischen zwei Gruppen von Berichtsvolumes

Sie haben die Möglichkeit, zwei alternative Gruppen von Berichtsvolumes zu verwenden, um die Verfügbarkeit einer skalierbaren freigegebenen Datenbankkonfiguration zu maximieren. Auf diese Weise wird das Überschneiden der Updatezyklen einer veralteten und neuen Datenbank ermöglicht. Die neue Berichtsdatenbank befindet sich dabei auf einer anderen Volumegruppe. Bevor Sie die veraltete Datenbankversion trennen und die zugehörigen Volumes entfernen, können Sie die Datenbank auf der alternativen Gruppe von Volumes aktualisieren und diese Volumes auf den Berichtsservern bereitstellen. Beim Trennen der veralteten Datenbankversion von einer bestimmten Serverinstanz kann die neue Version dann sofort angefügt werden.

Weitere Informationen finden Sie unter Maximieren der Verfügbarkeit einer skalierbaren, freigegebenen Datenbank.