Ich suche nach Ratschlägen zum Umgang mit Berichten für unsere Umwelt. Wir haben derzeit 16 Server mit 20 Instanzen von SQL Server 2005. Wir haben über 6.600 Datenbanken und wachsen über diese Instanzen hinweg (1 Datenbank pro Kunde). Die meisten unserer Datenbanken haben eine Größe von 200 MB bis 7 GB, wobei etwa 60 Datenbanken eine Größe von 11 GB bis 110 GB haben.
Wir verwenden ein SAN für die Speicherung und haben Probleme mit der Ausführung der Berichte, die sich auf E / A auswirken.
Eine Idee war, die 60 größeren Datenbanken abzurufen und dann die Transaktionsreplikation zu verwenden, um diese Datenbanken zu replizieren und Berichte für die Replikate auszuführen.
Das würde dann alle kleineren Datenbanken ohne den Stress der größeren Datenbanken laufen lassen. Wir glauben, dass es in Zukunft keine größeren Datenbanken mehr geben wird, die auf unseren Unternehmenszielen basieren.
Irgendwelche Gedanken?
Antworten:
In unserem Geschäft bei meinem vorherigen Job hatten wir einen sekundären Satz von Servern, auf denen wir unsere Wiederherstellungen getestet haben. Für unsere am stärksten frequentierten Kunden würden wir das heutige Backup wiederherstellen, es als read_only markieren und ihre Berichterstattung morgen würde sich mit dieser Kopie der Datenbank für alle Berichte von gestern verbinden. Dadurch wurden etwa 90% der Berichtsarbeitslast entlastet und gleichzeitig als Validierungsmethode für die Sicherung / Wiederherstellung verwendet. Wenn die meisten Berichte die heutigen Daten nicht benötigen, können Sie einen Teil der Produktionsarbeitsbelastung auf diese Weise mit billigerer Hardware reduzieren. Wenn Sie keine Enterprise-Funktionen verwenden, können Sie Express sogar für alle Datenbanken mit <10 GB verwenden. (Nun, ich sehe, es ist 2005, das eine geringere Beschränkung der DB-Größe hatte, aber Sie können Ihre Kopie jederzeit in 2008 / R2 wiederherstellen.
quelle
Im Jahr 2005 kann ich mir drei Strategien zum Auslagern von Berichten vorstellen: 1. Eintägige Daten mithilfe des Protokollversands (der Protokollversand in den Standby-Modus führt dazu, dass Benutzer bei jeder Wiederherstellung ausgeschaltet werden, sodass realistische Wiederherstellungen nur dann erfolgen können, wenn sie nicht damit rechnen, dass sie aktiviert sind abends.) Vorteil - inkrementelle Updates. 2. Eintägige Daten mit vollständigen Wiederherstellungen. Nachteil: vollständige Wiederherstellung. 3. Replikation. Dies bietet die beste Benutzererfahrung, ist jedoch schwieriger / erfordert mehr Personal für die Einrichtung und Wartung.
Abgesehen davon - gibt es einen Vorteil, wenn nur die den großen Kunden zur Verfügung stehende Hardware erhöht, stattdessen optimiert und isoliert wird? Genug Festplatten und Speicher? Blitz? Indexoptimierung? Wirklich, sie klingen nach heutigen Maßstäben nicht so groß (zugegeben, ich habe Ihre Systeme nicht gesehen)
quelle
Fahren Sie mit der Transaktionsreplikation fort.
Wie in Data Warehousing und Reporting erwähnt , eignet sich die Transaktionsreplikation gut für Berichtsszenarien, indem sie Folgendes bietet:
Transaktionskonsistenz
Geringe Wartezeit
Hoher Durchsatz
Minimaler Overhead
quelle