Ich beginne Clients mit Hunderten von Terabyte an Daten zu sehen (in SQL Server-Installationen). Da sich das Gesamtdatenvolumen in einigen Unternehmen bedeutenden Bruchteilen eines Petabytes nähert, möchte ich die kollektive Wissensbasis erweitern, um zu sehen, wie die Menschen, die mit dieser Datenmenge umgehen, sie schützen.
Das offensichtliche Problem ist, dass das Speichern mehrerer Sicherungen dieser Datenmenge unerschwinglich teuer ist, wenn man Speicher der Enterprise-Klasse verwendet, zum Teufel, sogar nur RAID-5.
Folgende Optionen werden angezeigt:
- Erstellen Sie eine Spiegelkopie der Daten in einem anderen Rechenzentrum und versenden Sie fortlaufend Unterschiede zu diesen (unter Verwendung der für Ihre Datenquelle verfügbaren Mechanismen - z. B. Protokollversand oder Datenbankspiegelung mit SQL Server).
- Erstellen Sie regelmäßige Backups mit einem umfangreichen Komprimierungsalgorithmus (wahrscheinlich nur geeignet, wenn die Daten stark komprimiert werden können).
- Erstellen Sie schrittweise Sicherungen der kritischen / sich ändernden Teile der Daten.
- Sichern Sie die Daten nicht und vertrauen Sie den Korruptionsgöttern.
Ich sehe, dass Option 4 als Standardoption übernommen wird, und als HA / DR-Experte ist das wirklich beängstigend. Aber was rate ich als Alternative? Ich denke, # 1 ist der beste Ansatz, aber "Ich glaube nicht" ist die übliche Antwort, wenn Alternativen außer # 4 und möglicherweise # 3 vorgeschlagen werden.
Jetzt kommt es natürlich auf die Änderungsrate und Kritikalität der Daten an. Das muss ich nicht beantworten, da ich während meiner Arbeit bei Microsoft für alle HA-Funktionen von SQL Server verantwortlich war und mich daher mit den "es kommt darauf an" -Argumenten gut auskenne - das ist mein Schlagwort :-)
Es würde mich sehr interessieren, von Alternativen zu hören, die ich verpasst habe, oder zu hören, dass alle anderen im selben Boot sitzen und es keine realistische Alternative gibt, viel Geld für mehr Speicher auszugeben.
Vielen Dank im Voraus - alle gut durchdachten und ausgesprochenen Antworten werden gebührend gewürdigt.
quelle
Antworten:
Abseits der Wandidee - Werden alle gespeicherten Informationen benötigt oder sind sie sogar nützlich?
Wie viel ist die Information tatsächlich wert? Es scheint offensichtlich lächerlich, mehr für Instandhaltung und Verwaltung auszugeben, als die Daten wert sind.
Sind die Daten in der Datenbank für die Speicherung in einer Datenbank geeignet? Bietet die Speicherung komprimierter Multi-Gigabyte-Core-Dateien in der Datenbank der Support-Organisation tatsächlich einen Vorteil?
Enthält die Datenbank viele doppelte Daten? Bewahren zum Beispiel tausend Menschen zehn Exemplare eines wöchentlichen 10-MB-Newsletters auf?
Haben einige der Daten ein "Ablaufdatum", nach dem sie keinen Wert mehr liefern? Wenn Sie aus verschiedenen Gründen zum Beispiel der Support-Organisation zurückkehren, ist es praktisch nicht vorteilhaft, die Stammdateien der Kunden länger als ein paar Monate nach der Bereitstellung eines Fixes zu behalten.
Ein weiterer Gedanke ist, so viele Daten zu speichern, um das Unternehmen für Verbindlichkeiten zu öffnen. Einige Daten muss man per Gesetz aufbewahren. Einige Daten sollten jedoch aufgrund der damit verbundenen Risiken "vernichtet" werden, wenn sie versehentlich oder in böswilliger Absicht an unangemessene Parteien weitergegeben werden.
quelle
Ja, eine weitere Option ist die Speichervirtualisierung: Ein Gerät, das zwischen Ihren Servern und dem SAN installiert ist, wie IBM SVC. SVC verwaltet SAN-zu-SAN-Kopien und kann Remotereplikationen durchführen (obwohl dies auf Petabyte-Ebene offensichtlich ziemlich schmerzhaft ist, es sei denn, Sie haben wirklich niedrige Datenänderungsraten und eine wirklich hohe Bandbreite.)
Der Clou dabei ist, dass der gesamte Prozess für die beteiligten Server unsichtbar ist. Wenn Sie SQL Server verwenden, entwerfen Sie Ihre Dateigruppen so, dass Dinge mit einer geringen Änderungsrate (wie Verkaufsarchive ab 3 Jahren) und Dinge mit einer hohen Änderungsrate (wie aktuelle Verkäufe) in einer separaten Dateigruppe zusammengehalten werden. Sie müssen nicht einmal vollständig schreibgeschützt sein - Sie möchten sie nur so gestalten, dass Sie für jede Dateigruppe unterschiedliche Replikationsmethoden verwenden können. Die SAN-Ausrüstung kann Luns über Netzwerk, Band oder über SANs synchronisieren. Dies bedeutet, dass Sie Teile des SAN hin und her versenden können. Dies ist effektiver bei Geräten wie LeftHand, bei denen das SAN aus einem Pool teilnehmender Einheiten besteht.
Dann können Sie das Material mit der niedrigen Änderungsrate automatisch über das Kabel synchronisieren und die hohe Änderungsrate mit dem Sneakernet synchronisieren. (Klingt so, als hätte ich das verkehrt herum, aber es ist wahr - Sie können das Zeug mit der hohen Änderungsrate aufgrund der Lautstärke nicht über das Kabel synchronisieren.) Sogar einige der Low-End-Geräte unterstützen dies jetzt: Mit LeftHand können Sie auf andere replizieren LeftHand-Geräte in Ihrem Rechenzentrum und senden Sie sie dann an Ihr externes Rechenzentrum. Schließen Sie sie an, verbinden Sie sie mit der Remote-Seite, indem Sie IPs und Gruppen ändern, und jetzt sind sie Teil Ihres Remote-Backup-SAN. Das Verkaufsargument für LeftHand ist einfach genial: Richten Sie Ihre beiden SANs nebeneinander in Ihrem primären Rechenzentrum ein, synchronisieren Sie sie, und versenden Sie Teile davon an das entfernte Rechenzentrum, während einige davon in Ihrem aktuellen bleiben Rechenzentrum synchron zu halten. Allmählich bewegen '
Auf Petabyte-Ebene habe ich das allerdings nicht gemacht. Sie wissen, was sie sagen - theoretisch, theoretisch und praktisch sind sie gleich. In der Praxis...
quelle
Option 1 ist das Spiegeln, was fast so schlimm ist wie 4: Jeder Fehler, der Daten beschädigt und nicht sofort entdeckt wird, wird beide Kopien beschädigen.
Wenn die Daten kritisch sind, ziehen Sie spezielle Lösungen in Betracht. Lesen Sie beispielsweise mehr über die Shark-Produkte von IBM oder konkurrierende Produkte von EMS usw. Sie verfügen über Funktionen wie Flash-Copy, mit denen Sie sofort eine logische Kopie der Datei erstellen können, ohne die Festplattenanforderungen zu verdoppeln. und dann können Sie diese Kopie auf (z. B.) Band sichern. Sehen Sie sich auch die Sicherung von Roboterbändern an.
quelle
Weisen Sie diejenigen darauf hin, die ein Petabyte an Daten speichern möchten, die nicht billig sind.
Ich habe die Nase voll von Leuten, die darüber jammern, dass sie kein zusätzliches Terabyte an Online-Speicher haben, weil Discs billig sind - Discs mögen es sein, aber verwalteter Speicher ist es verdammt noch mal nicht.
Wenn das Speichern der Backups unerschwinglich teuer ist, ist das Speichern der Daten auf sichere Weise unerschwinglich, sodass die vorgeschlagene Lösung nicht rentabel ist.
Einer der wichtigsten Gründe für Backups ist der Schutz vor Benutzerfehlern (die meisten Probleme mit Hardwarefehlern können durch Hardwarelösungen behoben werden), aber selbst die Datenbankspiegelung bietet keinen Schutz vor einem Ablegen einer Tabelle (OK, Sie können sich dagegen schützen, aber das ist immer noch der Fall) Es ist möglich, dass Sie einen nicht entfernbaren Fehler in Ihre DB bekommen - es sei denn, die DB ist so groß, dass sie immer nur Einfügungen ausgibt.
Wie ich sehe, ist Band keine praktikable Lösung mehr - es ist jetzt billiger, nur mit Disk-Arrays zu arbeiten (obwohl physische Speicherung umständlich sein kann). Ich denke, Ihre einzige Option ist eine Methode, die Daten in Blöcke aufzuteilen, die so klein sind, dass sie in einem vernünftigen Zeitraum wiederhergestellt werden können, und sie dann regelmäßig auf den Datenträger zu übertragen (und hier können Lösungen vom Typ EMS hilfreich sein, wenn Sie die haben Kasse).
quelle
Interessantes Video zur Architektur von myspace.com (SQL2005-Backend). Ich bin mir nicht sicher, ob sie einzelne Petabyte-DBs haben, da sie mit mehreren DBs skaliert werden. Sie verwenden SAN-Snap-Backups.
http://wtv.watchtechvideos.com/topic70.html
quelle
ZFS. Sicher, es fängt gerade erst an, aber es gibt eine Reihe von Bereichen, in denen ZFS für diese Art von Aufgaben ausgelegt ist. Zuallererst ist es möglich, eine große Datenmenge sowie eine Vielzahl verschiedener Speichergeräte (lokal, SAN, Glasfaser usw.) zu verarbeiten und dabei die Datensicherheit durch Prüfsummen und das Bewusstsein für den Gerätezustand zu gewährleisten Ausfälle. Wie kann dies jedoch dazu beitragen, die Sicherung so vieler Daten zu lösen?
Eine Methode ist die Verwendung von Schnappschüssen. Machen Sie einen Schnappschuss und senden Sie ihn zur Übertragung an die Gegenstelle auf Band / Festplatte / Netz. Nachfolgende Snapshots senden nur die gesendeten Daten, und Sie können bei Bedarf Live-Daten an beiden Enden aufbewahren.
Die andere Möglichkeit ist die Verwendung der Solaris Cluster-Software, bei der Sie (sofern Sie über eine ausreichende Netzwerkbandbreite verfügen) eine Live-Spiegelung zwischen zwei Servern durchführen können. Wenn einer ausfällt, kann der zweite Server die Funktion übernehmen. Es ist eher für Anwendungen gedacht, bei denen Hochverfügbarkeit (HA) wichtig ist, aber ich denke, dass die meisten Orte mit so vielen Daten HA benötigen.
Und Sie sagen, dass ZFS unter Windows nicht unterstützt wird. Dies ist der übliche Ort, an dem Sie sqlserver finden. Vielleicht führen Sie Sun / ZFS im Backend aus und stellen eine Verbindung über iSCSI her. Vielleicht ist das auch eine schreckliche Idee, aber es lohnt sich zumindest, darüber nachzudenken, damit Sie wissen, was Sie nicht tun sollen.
quelle
Haben Sie sich den Amazonas-Gletscher als Option angesehen?
quelle
IMO: Wenn Sie keine Hardware auf Godzilla-Ebene haben, sollten Sie eine Backup-Komprimierungstechnologie verwenden, wenn Sie über so viele Daten verfügen. Ich kenne LiteSpeed am besten, aber es gibt ähnliche Produkte von anderen Anbietern, und in SQL2008 ist (natürlich) eine ähnliche Funktion integriert. Möglicherweise erhalten Sie keine 10-zu-1-Komprimierung, die Speicheranforderungen für die Sicherung werden jedoch verringert. Außerdem können die Anforderungen an das Sicherungsfenster verringert werden. Wenn Sie mehrere Sicherungssätze aufbewahren möchten (gestern plus am Vortag plus einen aus der letzten Woche und einen aus dem letzten Monat oder eine Reihe von Differentials plus Fulls, die sehr umfangreich werden können, wenn Sie viele Daten in ändern die Datenbank), es ist eine einfache Frage des Speicherplatzes.
Dateigruppenbasiertes Backup (IOW, nichtflüchtige Daten auf bestimmte FGs und das seltene Sichern) scheint nie zu fliegen, weil Entwickler oder Benutzer nicht entscheiden können, welche Daten flüchtig sind und welche nicht, und auf der Brachfläche Szenarien, die Sie oft nicht eingehen können.
Wenn ein Failover-Standort erforderlich ist, sollten Sie zusätzlich zu den Überlegungen zu Database Mirror (Datenbankspiegelung) mit dem Speicheranbieter Ihrer Kunden sprechen, um herauszufinden, ob diese eine Art von SRDF anbieten, einer hardwarebasierten Datenreplikationstechnologie. Natürlich ist die Replikation ( egal welcher Art, aber insbesondere die Echtzeit- oder zeitnahe Replikation) kein Ersatz für Backups.
quelle
Ich glaube nicht, dass Sie hier eine große Auswahl zwischen Band und Festplatte haben. Band schneidet es wahrscheinlich nicht in einem normalen Backup-Fenster, wenn Sie es nicht entfernen, und ich bin nicht sicher, ob die Zuverlässigkeit da ist.
Sie haben also nur noch Festplatten-Backups. Versionsverwaltung Bedeutet das, dass Sie sich Sorgen machen, zu Backup 2 zurückzukehren (aktuelle Datenbank minus 2 Backups)? Oder Backup 3? In diesem Fall haben Sie möglicherweise Probleme, aber wahrscheinlich müssen Sie Protokollsicherungen durchführen, nicht so viele Datensicherungen.
Wenn Sie einen Teil der Daten als schreibgeschützt / unverändert aufteilen können, haben Sie möglicherweise überschaubare Sicherungsgrößen / -fenster. Oder zumindest hoffen Sie, dass Backup-Technologie und Bandbreite das Datenwachstum aufholen.
Ich denke nicht, dass Sie so viel sichern, wie Sie eine zweite Kopie aufbewahren, um Probleme mit Ihrer primären zu beheben. Das bedeutet Hardware, Korruption usw. und Sie beten täglich, dass keine Fehler an die zweite Kopie gesendet werden. Die Kopien werden höchstwahrscheinlich mit einer Schnappschuss-Technologie in SAN-SAN erstellt. obwohl die Originalkopie möglicherweise über Fed-Ex und nicht über das Kabel gesendet wird. 100 TB Bandbreite sind für niemanden leicht zu beschaffen.
Ich denke, Sie benötigen eine Kombination aus 1, 2 und 3 (nicht 4) mit einem hervorragenden Protokollsicherungsmanagement.
Eigentlich denke ich, dass Sie zu jedem Zeitpunkt wirklich 3 Kopien Ihrer Daten betrachten. Ausführen von CHECKDB auf einer der Kopien, während die zweite Kopie zum tatsächlichen Empfangen von Änderungen verwendet wird. Dann machen Sie einen Schnappschuss dieser zweiten Kopie auf die erste und fahren fort. Mit so vielen Daten würde ich mir vorstellen, dass Sie hier etwas Sorgfalt brauchen würden. Paul, wie funktioniert checkdb auf einer 100-TB-Datenbank für mehrere Benutzer, die online ist?
Wie bereits erwähnt, sind Protokollsicherungen und wahrscheinlich ein Protokollleser nicht kritisch? Müssen Sie keine Ablagetabellen / Benutzerfehler aus den Protokollen wiederherstellen, anstatt eine Sicherungskopie zu erstellen? Sie können dies möglicherweise abkürzen, indem Sie SAN-Kopien mit einer gewissen Verzögerung senden, aber ich habe diese Technologie nicht gesehen. Ein Protokollversand-SAN, das Änderungen um 4 Stunden (oder einen bestimmten Zeitraum) verzögern kann, damit Sie Probleme beheben können, bevor Sie Daten überschreiben. Oder ein Protokollleseprogramm für SAN-Blockänderungen? Andernfalls müssen Sie diese Transaktionsprotokolle verwalten. Dies kann eine ganz andere Ebene der Nachverfolgung dieser Sicherungen auf verschiedenen Dateisystemen für einige xxx Stunden sein, damit Sie möglicherweise nicht schwerwiegende Fehler beheben können.
quelle
Technisch gesehen , Lagerung ist billig, aber in der Petabyte - Ebene, nicht so sehr. Es hängt wirklich von der Anwendung ab, aber ich würde sagen, dass eine Kombination aus Strategie Nr. 2 und Nr. 3 die Antwort sein wird, wobei Nr. 2 und Nr. 3 davon abhängen, wie viel Geld Sie in den Speicher und in die Art von Speicher investieren können Speicher- und E / A- / Rechenleistung, mit der Sie mit so wenig Inkrementalität und so viel diskretem, vollständigem Backup wie möglich davonkommen.
Alternativ kann auch etwas wie Amazon S3 ins Spiel kommen, abhängig von Ihrer Bandbreite und der Veränderung der Daten. Bei diesem Volumen wird es immer schwieriger, zumindest einen Teil davon auf den Servern anderer zu platzieren und sie über Redundanz besorgt zu machen kosteneffizient.
quelle
Sprechen Sie mit Ihrem Speicheranbieter. Er verfügt über ein Deduplizierungsprodukt, das er bereits verwendet hat. In Kombination mit einer regelmäßigen Komprimierung können Sie Ihren Daten-Footprint häufig um 70% reduzieren. Natürlich hat jeder, der das Geld für ein Petabyte an Speicherplatz hat, wahrscheinlich auch das Budget, um eine anständige Backup-Lösung zu kaufen - wenn nicht, müssen Sie ihn nur fragen, was der Verlust dieses Petabytes sein Geschäft kosten würde.
quelle
In einem großen Enterprise Data Warehouse stammen viele Daten aus bereits gesicherten Quellen. Ich habe an Teradata- und ODW-Installationen gearbeitet, bei denen sie Option 4 gewählt haben, aber gewusst haben, dass sie ein oder zwei Tage Transaktionsdaten wiederherstellen und aus den Quellsystemen transformieren können.
Bei einem Einzelhandelskunden (zu der Zeit hatte er einen der 5 größten DWs der Welt, mit etwa 200 TB ... gibt Ihnen eine Vorstellung davon, wie lange dies her ist), entschied er sich nach dem Kauf eines neuen Petabyte für Option 1 -Klasse Teradata Server. Die alten Knoten würden für eine Momentaufnahme des Systems des Vortages verwendet, während der neue den vorhandenen beibehalten würde. Dies war auch unter dem Gesichtspunkt des Failovers von Vorteil - hin und wieder wurde das Ganze zur Wartung heruntergefahren, und wir stellten einfach auf den alten langsamen Server mit eintägigen Daten um.
Ehrlich gesagt schien es eine große Verschwendung von Verarbeitung, Lagerung usw. zu sein, um die Sache am Laufen zu halten. Besonders dann, wenn der größte Vorteil darin bestand, dass ihre Admins und NCR-Techniker weniger Abende arbeiten mussten, um unregelmäßige Wartungsarbeiten durchzuführen.
quelle