Laden...

Gedanken über DB Sicherung - Gerne würde ich Eure Meinung hören

Erstellt von micha0827 vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.949 Views
M
micha0827 Themenstarter:in
85 Beiträge seit 2015
vor 6 Jahren
Gedanken über DB Sicherung - Gerne würde ich Eure Meinung hören

verwendetes Datenbanksystem: MS SQL Server 2016

Hallo zusammen,

Ich würde gern mal Eure Meinung zum Thema DB Sicherung hören. Ich bin gerade dabei mit mit größeren Datenbanken zu beschäftigen. Anstreben möchte ich eine Größe von 500-1000Gb. Wie könnte eine Ausfallsicherung Eurer Meinung nach aussehen ? Aktuell habe ich 2 Server mit je 2x2Tb Platten die in einem Software Raid gespiegelt sind.

Meint Ihr eine Spiegelung der Platten reicht schon aus ? Sollte man noch eine täglichen Datensicherung einbauen ? Die wäre ja bei der Menge auch nicht klein/schnell. Oder gibt es Möglichkeiten nur Änderungen zu sichern ?

Sollte man auf dem 2. Server einfach die DB nochmal spiegeln/synchronisieren ?

Sorry, ich bin neu bei solchen Datenmengen und weiss momentan nicht wo ich ansetzen soll ?

Grüße
Michael Gross

16.806 Beiträge seit 2008
vor 6 Jahren

Hi Michael,

Eine Spiegelung dient der Ausfallsicherheit; nicht der Sicherung.
Eine Sicherung befindet sich immer auf einem anderen System und im optimalen Fall auch an einer anderen Örtlichkeit (es gibt für manche Dinge Vorschriften wie zB. mindestens 200 KM entfernt bzgl. eines potentiellen Unfalls; wird bei Dir glaube ich eher nicht der Fall sein).

Für Dich wird vermutlich ein tägliches (?) Backup über MSSQL auf einen Blob / anderen Speicher ausreichen.
Außer Du hast gewisse Vorstellungen was die zusätzliche Ausfallsicherheit und Disaster Recovery betrifft.

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo micha0827,

hast du noch ein paar mehr Infos für uns? Wie z.B. wie groß wird die Schreibrate ca. sein, wird mehr gelesen als geschrieben, etc. Also wie die DB verwendet werden soll. Je nach dem kann es verschiedene Möglichkeiten geben.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

M
micha0827 Themenstarter:in
85 Beiträge seit 2015
vor 6 Jahren

Moin gfoidl,

also momentan sind es ca. 50.000 Datensätze jede 5min die geschrieben werden, gelesen wesentlich weniger. Die Zahl der zu schreibenden Datensätze erhöht sich momentan statistisch gesehen um 10.000 pro Monat, bedeutet in 4 Wochen sind es 60.000 alle 5 min. Die Datenbankgröße aktuell 300Gb. Benötigt für die Benutzer werden die Daten der letzten 8 Wochen. Ich bin mir noch nicht sicher was ich mit den älteren Daten mache, löschen möchte ich noch nicht, eventuell brauche ich die noch für Statistiken.

Michael

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo micha0827,

sind es ca. 50.000 Datensätze jede 5min die geschrieben werden

Sind die ca. 50.000 während der 5' od. eher als Art Batch die immer nach 5' geschrieben werden? Danach würde ich die Sicherung des Transaktionsprotokolls ausrichten.

Grob generell:
Full backup -> selten, da es viel Speicher braucht und lange dauert
Diff backup -> min. täglich
Translog backup -> sehr regelmäßig, da so auch Point-in-time Wiederherstellen möglich ist

Hast du dir für SQL Server 2016 auch schon die Doku zu High Availability (HA) angeschaut?

Ich bin mir noch nicht sicher was ich mit den älteren Daten mache, löschen möchte ich noch nicht, eventuell brauche ich die noch für Statistiken.

Verschieb diese in ein Archiv. Das Archiv kann in der gleichen DB sein od. du verwendest dafür ein eigene DB. Ich würde eher eine eigene verwenden, da so die Files der Live-DB besser verwendet werden können.
Das Verschieben kannst du per Job erledigen lassen od. manuell (per selbst erstelltem Tool), je nachdem ob die Daten einfach per "Timestamp" verschoben werden können od. nicht.

Es kommt vor allem auf die Art der Daten an, denn es wäre auch möglich gleich die Statistiken bzw. statistische Infos zu generieren und lediglich diese zu speichern. Achtung: die Rohdaten wären dann weg und du hängst an den extrahierten Infos fest -- dies kann u.U. ein Nogo für dieses Vorgehen sein, da du nie weißt was in Zukunft genau aus den Daten gelesen werden soll.
Da heutzutage Speicher ohnehin billig ist würde ich lieber die Rohdaten im Archiv behalten.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

286 Beiträge seit 2011
vor 6 Jahren

Ergänzend noch zur Archivierung: Gerade DB-Sicherungen sind von Natur aus sehr gut komprimierbar (sehr viele Daten, die sehr viele identische Teile aufweisen). Für den Bereich Sicherung habe ich jetzt noch nicht nach Lösungen geschaut, würde mich aber nicht wundern, wenn es dafür einige 3rd-Party Tools gibt mit denen sich die tatsächliche Sicherungsgröße enorm verringern lässt.

Beste Grüße
emuuu

2+2=5( (für extrem große Werte von 2)

D
985 Beiträge seit 2014
vor 6 Jahren

Für die Planung der Backup-Strategie muss man sich überlegen, gegen was man sich denn schützen will.

Hardware-Ausfall (Festplatten, Controller, Mainboard, Netzteil, Stromversorgung)?
Diebstahl der Hardware (komplett oder teilweise)

Was ist dabei kritisch? (Downtime, Daten)
usw. usw.

Wenn man all diese Informationen zusammen hat, dann kann man auch ganz leicht das zur Verfügung stehende Budget errechnen und daraus eine passende Strategie entwickeln, die alle erforderlichen Punkte hinreichend abdeckt.

In der Automobil-Industrie kann ein Ausfall pro Stunde im mittleren sechsstelligen Bereich liegen (Produktionsstillstand). Es gibt andere Branchen, wo ein Ausfall so gut wie gar nicht interessiert und selbst der Verlust von 14-Tagen Datensicherung mit geringem Aufwand wiederhergestellt werden kann.

PS

Für mich ist es immer sehr wichtig, dass der Kunde weiß und versteht gegen welche Unwägbarkeiten er in welchem Umfang wie geschützt ist und wie hoch die maximal zu erwartende Ausfallzeit nach einem Totalausfall sein wird.

M
micha0827 Themenstarter:in
85 Beiträge seit 2015
vor 6 Jahren

Danke allen für die Anregungen, ich werde mir zuerst einmal das Diff. Backup anschauen, mit welchen Datenmengen ich es da zu tun bekomme.

Gruß
Michael

3.825 Beiträge seit 2006
vor 6 Jahren

Ergänzend noch zur Archivierung: Gerade DB-Sicherungen sind von Natur aus sehr gut komprimierbar

SQL Server kann ab Standard Edition eine Datensicherung auch selbst komprimieren. Das gibt es seit dem SQL Server 2008.

BACKUP DATABASE [...] 
TO  DISK = '...' 
WITH COMPRESSION
GO

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3