Hello,
bei der Betrachtung von Textdatei kontra Datenbank sollte man auch nicht vergessen, dass bei der Verwendung von Textdateien jeder Request die volle Datenmenge selber einlesen muss, wenn er Änderungen in der Textdatei vornhemen will. Bei einer Datenbank macht dies die Datenbankmaschine, aber nicht für jeden Client gesondert, sondern für alle zusammen. Änderungen können koordiniert im Speicher gehalten werden und werden immer erst dann auf die HDD zurückgeschrieben, wenn es sich lohnt... Darum muss man ja einen Datenbankserver auch erst herunterfahren, bevor man die Tabellen-Files anderweitig anfasst.
Es gibt aber über klassische Textdateien hinaus eine Vielzahl anderer Modelle, die einen wesentlich schnelleren Zugriff ermöglichen und es nicht erfoderlich machen, für eine Änderung die gesamte Datei inzulesen.
- Textdateien, sequenziell
- Textdateien mit fester Satzlänge
- Random Access Dateien, Dateien mit fester Satzlänge und festem Satzaufbau
- direktgestreute Dateien
und diverse komplexere Dtrukturen, die dann aber schon nahe an der Datenbank sind.
PHP unterstützt leider Random Access Dateien nur über einen Umweg. Diese sind aber durchaus eine akzeptable Lösung für kleinere oder vom Datenmodell einfachere Projekte. Sie sind i.d.R. dann merklich schneller, als eine Datenbank.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg