Robustheit einer MySQL-Datenbank

Papp Nase

Aktiver Benutzer
Beiträge
48
Hallo,

ich würde gerne mal wissen, wie robust eine MySQL-Datenbank ist. Wenn ich einen Server habe und waehrend eines Schreibprozesses eines Clients geht die Energie verloren - klar, dann gehen die einen oder anderen Daten verloren.

Aber kann es auch passieren, wenn der MySQL-Server nicht ordentlich heruntergefahren wird, dass Tabellen so kaputt gehen, dass die Daten nicht mehr verwendet werden können? Dabei mein ich jetzt keinen Festplattencrash - dann sind alle Daten vielleicht kaputt.
 
Werbung:
Hallo,

ich würde gerne mal wissen, wie robust eine MySQL-Datenbank ist. Wenn ich einen Server habe und waehrend eines Schreibprozesses eines Clients geht die Energie verloren - klar, dann gehen die einen oder anderen Daten verloren.

Aber kann es auch passieren, wenn der MySQL-Server nicht ordentlich heruntergefahren wird, dass Tabellen so kaputt gehen, dass die Daten nicht mehr verwendet werden können? Dabei mein ich jetzt keinen Festplattencrash - dann sind alle Daten vielleicht kaputt.

Ja. Das kann passieren.

Je nach Engine die die Gefahr unterschiedlich. Bei MyISAM kannst Du fast drauf wetten, daß Daten futsch sind. Bei InnoDB hast etwas bessere Karten.


Wem seine Daten wichtig sind, verwendet kein MySQL. Zumindest kein 2tes Mal. Selbst im normalen Betrieb, ohne 'Strom weg' oder so, zerlegt sich MySQL ab und an freiwillig und ohne äußere Not.
 
Ich muss diese Aussage unseres Postgres-Fans ein wenig relativieren. Meine Erfahrungen der letzten 13 Jahre (2001 bis 2014) mit einigen Mysql-Servern sehen anders aus (aber natürlich ist auch das keine wissenschaftliche Studie über die Zuverlässigkeit):

  • Mir ist noch nie eine MYISAM-Tabelle so gecrasht, dass sie nicht reparierbar war.
  • 2x waren aufgrund eines Reboots nach einem Hardwaredefekt mehrere MYISAM-Tabellen beschädigt, sie liessen sich aber reparieren
  • Wir sind dabei, alles von MYISAM nach INNODB zu migrieren (auf Innodb läuft zB auch dieses Forum). Von befreundeten Admins habe ich aber schon gehört, dass INNODB zwar noch robuster ist, wenn es aber mal gecrasht ist dann ist es so gut wie nicht mehr reparierbar.
Illusionen mache ich mir trotzdem keine, natürlich ist Mysql nicht so robust wie die praktisch unkaputtbare Oracle. Aber in vielen Fällen gibt ohnehin die Software die zu verwendende Datenbank vor :)

Anmerkungen: Energieverlust ist kein Problem, ich glaube nicht dass jemand einen Datenbankserver ohne USV betreibt. Und auch für die robusteste Datenbank muss es eine solide Datensicherung geben.
 
Werbung:
Anmerkungen: Energieverlust ist kein Problem, ich glaube nicht dass jemand einen Datenbankserver ohne USV betreibt. Und auch für die robusteste Datenbank muss es eine solide Datensicherung geben.

Naja. Es gibt noch andere Wege, eine MySQL-DB inkonsistent zu bekommen. Beliebt und gern genommen: erstelle eine VIEW, lösche dann die zugrunde liegende Tabelle. Das geht. Was dann nicht mehr geht: einen Dump zu erstellen. Der bricht irgendwann ab, Du hast dann kein konsistentes Backup mehr.

Das sind so die tausend kleinen Dinge, die so passieren. Bei einer 4-stelligen Zahl von Kundenservern, wo fast überall MySQL drauf ist, bekommt man quasi täglich unschöne Dinge zu sehen. Insbesondere inkonsistente Daten, aber auch Locking-Späße. Und daß es ein extra Repair-Programm gibt, spricht ja auch schon mal Bände, oder?

PS.: USV. Nützt nix, wenn das Netzteil abraucht. Und das Konzept bei PG mit den WAL-Files ist nicht schlechter als das, was Oraggle macht. Dir geht maximal die letzte Transaktion futsch.

Egal. Ich schrieb ja, daß Inno-Dingens besser ist. Aber es gibt halt bessere Alternativen. Wenn die Applikation die DB vorschreibt, daß hat man natürlich wenig Chancen.
 
Zurück
Oben