Stefan Bach: Suchdauer, Dateiwust & ACID

Beitrag lesen

Hallo,

Das Problem kann man vorraussehen und umgehen, z.B.
Dateinamen in Form des aktuellen Datums, das würde mir
z.B. bei einem extremen Gästebuch eine einfachen Archivierung ermöglichen.

Sicherlich kann man im Endeffekt alles in Dateien packen. (Eine Datenbank macht es ja auch nicht anderst. Irgendwo muss sie ihre Daten auch ablegen.) Aber irgendwann ist deine Implementierung dann so kompliziert geworden (weil du alle möglichen Probleme umgehen willst), dass du gleich eine Datenbank verwenden könntest.

Das würde bedeuten, das Beispiel-Array währe kaput
und ich kann es nicht mehr einlesen?
Ein guter Provider müsste doch dann Backups haben,
sicherlich sinds diese Daten dann einige Stunden oder Tage alt.

Sich auf jemand anderen (Provider) zu verlassen ist schon mal keine so gute Idee. Und wie du selbst sagst, das Backup wäre etwas älter. Bei einer Datenbank wäre nur der Datensatz, der gerade hätte geschrieben werden sollen verloren.

Ich muss doch sowieso grundsätzlich allen Eingaben misstrauen
und diese auf mögliche Probleme, z.B. HTML-Tags untersuchen.
Oder meinst Du was anderes? Hättest Du ein kleines Beispiel?

Hast du nicht vorhin mal aufgeführt, dass so eine Textdatei prinzipiell auch per Hand gepflegt werden könnte. Da kann man sicherlich einiges ausversehen bei kaputtmachen.

Wieder das Beispiel Gästebuch, angenommen 100 user tragen
sich innerhalb von einer Sekunde ein. Werden Sie dann
nicht nacheinander abgearbeitet, also 1. Eintrag
wird empfangen, *.dat wird gelesen und mit neuem Eintrag
am Ende neu geschrieben, 2. Eintrag wird empfangen,...

Die Scripte laufen parallel ab, wenn die Anfragen auch parallel eingingen. Dafür, dass sie sich nicht in die Quere kommen, musst du selbst über locking sorgen. Ich weiß nicht, wie es bei PHP ausschaut, aber bei Perl musst du flock manuell aufrufen, damit du auf der sicheren Seite bist.

Ich bin noch nicht ganz in der Lage das Verhälltniss zwischen
Aufwand und Sicherheit einer DB abzuschätzen.

Selbst bei einem Gästebuch währe es ja peinlich wenn
man eine Fehlermeldung 'Ausser Betrieb' ausgeben muss.

Wenn du wirklich ein Gästebuch schreiben wolltest, dann könntest du das mit Textdateien zur Datenhaltung machen oder eine Datenbank verwenden. In diesem Fall würden sich sicher keine erkennbaren Unterschiede für den Anwender zeigen. Programmierfehler können dir bei beiden Varianten unterlaufen, und diese wären wohl mit der größten Wahrscheinlichkeit für das "Außer Betrieb"-sein Schuld.

Viele Grüße,

Stefan

--
Lass dir das Tanzen NICHT verbieten
http://tanzverbot.de