QUOTE
Das ist keine Option, wenn viele Datenbanken regelmäßig gesichert werden müssen. Da können Nutzer parallel drauf sein, auch nachts und solche 'wichtigen Schreiboperationen' durchführen. Das muß völlig automatisiert sein.
Glaubst im Ernst ich würde nachts alle 5 Minuten aus dem Bett springen, schauen ob gerade kein User mehr da ist und dann schnell ein Backup machen?
QUOTE
Ketzerisch:
JEDES Backup ist "inkonsistenz". DENN: Wenn es eingespielt wird, ist es mindestens 15 Minuten alt und somit habt Ihr so oder so einen Datenverlust.
Das System sollte so aufgebaut sein, das ein Backup mit allergröster Wahrscheinlichkeit NIE benötigt wird.
Das ist überhaupt nicht ketzerisch, wenn du meinst dass bei Benutzung eines Backups Daten wegen fehlender Aktualität eventuell verlorengegangen sind.
Die Konsistenz sollte davon aber eben nicht betroffen sein und darum geht's hier, glaube ich.
Wenn ich an Fremdschlüssel denke, kommen mir hochkomplizierte Datenbankstrukturen mit nicht mehr nachvollziehbaren Verknüpfungen in den Sinn,
sodass ich nach 3 Wochen der Datenbank den Stempel "please don't touch" aufgedrückt habe.
Ich kann mit Fremdschlüsseln nicht arbeiten. Das führt bei mir nur zu einem Riesenchaos.
Ohne Fremdschlüssel schreibe ich viel klarere Strukturen.
sodass man im schlimmsten Fall auch selbst eine Fehlerroutine schreiben kann, um inkonsistente Datensätze raus zu schmeissen oder gegebenenfalls zu ergänzen.
QUOTE Du kennst sicherlich Komplett-Backups plus Backups des Transaktionslogs?
Das ist wirklich ein Schwachpunkt in mysql. In der letzten mit bekannten Version wurde wegen der performance noch von Transaktionslogs andeutungsweise abgeraten.
Kann sein, dass sich das aber inzwischen verbessert hat. Da bin ich nicht mehr auf dem neuesten Stand.
====================================================
Ich weiss, der Edit passt jetzt überhaupt nicht zum Thema, doch nur zu Jürgens Genugtuung habe ich gerade einen Kommentar vom letzten Jahr wiedergefunden:
Das ist jetzt weder eine Anfrage noch ein Problem, sondern nur ein Beispiel für "nobody's perfect" und auch schon lange abgehakt.
CODE
/*
mysql server crash:
$result=mysql_query("select distinct f.freunde, w.foto, w.format, l.benutzername, l.id, l.onlinestatus,b.y1,min(w.lfdnr) from benutzer b,
login l, freunde f left join foto w on (w.lfdnr<>0 and w.id=f.freunde and f.id=".$ids.") or
(w.lfdnr<>0 and f.freunde=".$ids." and f.id=w.id) where (l.id<>".$ids." and b.id<>".$ids." and b.id=l.id and (b.id=f.id or b.id=f.freunde) and (f.id=".$ids." or f.freunde=".$ids."))
group by l.benutzername asc,l.onlinestatus, b.y1, w.lfdnr, f.freunde, w.foto, w.format
",$link)or die(mysql_error());
*/
=====================================================