Datensicherung für Portal
Tom
- programmiertechnik
Hello,
wir reden uns schon eine Weile die Köpfe heiß über "die richtige Strategie" für die Datensicherung eines Forums.
Das Forum arbeitet mit einer MySQL-Datenbank auf MyISAM und mit Flatfiles für Bilder und Massentexte etc.
Die Flatfiles können mittelfristig 1-2GByte erreichen und die MySQL-DB vielleicht 500MB zuzüglich ein paar KB für die mysql-Verwaltungstabellen.
Wie sichert man nun diese Daten am elegantesten, ohne das Forum lange für die Benutzer sperren zu müssen.
Eine Vollsicherung könnte durchaus 30Minuten dauern, was uns als Sperrzeit zu lange ist.
Mit welchen Ideen könntet Ihr uns weiterhelfen?
Liebe Grüße aus http://www.braunschweig.de
Tom
Kann man diese Daten nicht exportieren wie bei einer SQL Datenbank und dann sichern ?????
mfg
Helmut
Kann man diese Daten nicht exportieren wie bei einer SQL Datenbank und dann sichern ?????
na klar Helmut,
Kann man.
Aber ein Forum ist im laufend im Betrieb d.h. es kommen Beiträge hinzu und werden verändert.
Und bei den geschilderten Datenmengen ist die höchst Problematisch.
Weil es sonst zu inkonsitenzen kommen kann.
?????
Bring mal Deine Tastatur in die Werkstatt das Fragezeichen klemmt.
TomIRL
Hello,
Kann man diese Daten nicht exportieren wie bei einer SQL Datenbank und dann sichern ?????
Ja, genau darum geht es. Da die Sicherung einen integeren Datenbestand bereitstellen soll, darf während dieses Exports nicht weitergearbeitet werden. Ich habe keine Möglichkeit des Transaction-Logging.
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin!
Ja, genau darum geht es. Da die Sicherung einen integeren Datenbestand bereitstellen soll, darf während dieses Exports nicht weitergearbeitet werden. Ich habe keine Möglichkeit des Transaction-Logging.
Meine anfängliche Überlegung, dann eben mit zwei Datenbanken wechselweise zu arbeiten, funktioniert schon deswegen nicht, weil man erstens beide gleichzeitig füllen müßte, und zweitens während der Sicherung eine ja eben nicht füllen dürfte - und wer trägt die währenddessen anfallenden Daten nach?
Geht also nicht.
Ich denke, das Problem läßt sich nicht wirklich lösen. Wenn du einen konsistenten Schnappschuß haben willst, und die Anfertigung dieses Schnappschusses eine gewisse Zeit dauert, ist eben diese gewisse Zeit lang der Ofen aus.
Alternative dazu wäre, die Notwendigkeit einer Sicherung - zumindest einer täglichen Sicherung - durch entsprechende Auslegung der Betriebshardware überflüssig zu machen. Also RAID, Hochverfügbarkeit und den ganzen Krempel.
So wirklich überflüssig wird ein Backup dadurch aber natürlich nicht. Gibt ja immer noch genug Möglichkeiten, dass reguläre, aber fehlschlagende bzw. fehlerhafte Schreibzugriffe das System inkonsistent machen.
Ich schätze, die Aufgabe läßt sich als reine Backup-Aufgabe nicht wirklich lösen. Was mir einfällt, wären entsprechend angepaßte Programmierungen. Beispielsweise könnte man alle Schreibzugriffe auf die Datenbank loggen. Das Backup erstellt zunächst ein neues Logfile, in das per sofort alle weiteren Schreibzugriffe geloggt werden, und sichert dann das bis dahin angelegte Logfile. Mit dem Logfile ist es möglich, sämtliche Schreibzugriffe seit Bestehen der Datenbank zu replizieren, und damit die Datenbank zu jedem Zeitpunkt wiederherzustellen. Dauert natürlich eine Weile, aber gesicherte Daten nach langer Zeit sind unter Umständen besser, als verlorene Daten.
Wenn ich im Gegensatz dazu allerdings dieses Forum hier betrachte: Da ist von Backup keine Spur, bzw. im aktiven Forum sind Backups nicht wirklich vorgesehen. Zwar wird (IIRC alle halbe Stunde) der RAM-Inhalt als XML-Dateien auf Festplatte geschrieben, aber die einzigen Daten, die man sinnvollerweise sichern könnte, ist das Archiv.
- Sven Rautenberg
Hello,
Geht also nicht.
Jau, das mussten wir auch feststellen :-(
So wirklich überflüssig wird ein Backup dadurch aber natürlich nicht. Gibt ja immer noch genug Möglichkeiten, dass reguläre, aber fehlschlagende bzw. fehlerhafte Schreibzugriffe das System inkonsistent machen.
Eben, denn das erwartete Problem sind die User und nicht die Hardware. RAID ist vorhanden. Aber ich weiß nicht, ob das System nicht doch irgendwo eine Lücke hat und irgendein User die zufällig findet. Das wäre der GAU.
Müssen wir in unsere Geschäftsbedingungen eben aufnehmen, dass das Portal zwischen 03:00 und 05:00 nur eingeschränkt erreichbar ist. Ist ja ein lokales deutsches Portal und da schlafen dann die Meisten.
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin!
Ganz einfach.
Variante 1:
Du replizierst die Datenbank (ständig) auf einen anderen Server und sicherst kurzerhand die Replikation.
Variante 2
Datenbank 1 enthält nur die neueren Beiträge. Diese wird regelmäßig gesichert.
Wenn Beiträge veralten, dann werden diese nicht gelöscht, sondern auch ein Dump erstellt.
Dieser dient jweils zum Einlesen der Daten in die zweite Datenbank auf dem zweiten Server für ältere Beiträge und gleichzeitig als Sicherung. Die Datenbank für ältere Beiträge muss dann nicht mehr gesichert werden. Es liegen ja die Dumps vor, die komprimiert auch locker auf CD passen. Selbst wenn die Datenbank 2 auf dem selben Server liegt wie 1 löst die dann kürzere Sicherungszeit für Datenbank 1 Dein Problem.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Nachtrag:
http://www.mysql.com/doc/de/Replication.html
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®