Eigentlich sind RDBMS’ ja dazu da, Daten strukturiert zu speichern. Gelagert werden die Daten ja letztendlich auch in Dateien auf dem Server. Grundsätzlich ist immer ein Datenbanksystem vorzuziehen, aber das liegt eben daran, dass… nun, ich gebe dir mal ein Szenario.
Ein kleiner Counter, der sich bei jedem Aufruf um 1 erhöht und den Wert in einer Textdatei speichert. MySQL wäre hier vollkommen unsinnig.
Doch jetzt willst du, sagen wir mal, eine IP-Sperre, sodass jede IP nur einmal gezählt wird. Also wird die IP zusammen mit dem Timestamp in einer neuen Datei abgelegt, jeweils in eine Zeile. Bei jedem Aufruf wird die gesamte Datei Zeile für Zeile gelesen, um zu sehen, ob die IP schon vorhanden ist. Aber ich nehme an, dass deine Seite nicht Hunderttausende von Besuchern täglich anlockt, also naja.
Doch dann wird dir klar, dass 90% aller IPs gegen Mitternacht neu vergeben werden und du viele alte IPs speicherst. Lösung: Beim Aufruf des Counters wird wieder die ganze Datei gelesen und der Timestamp analysiert, ob der Tag des Timestamps der heutige ist. Wenn nicht wird die Zeile gelöscht - Moment mal, wie denn? Du müsstest die ganze Datei im Speicher wieder zusammensetzen und alte Zeilen dabei auslassen.
Nicht zu vergessen: PHP ist nicht dafür geschaffen, mit großen Textdateien zu arbeiten, und die File-I/O-Performance (besonders bei großen Dateien) auf PHP-Level ist schrecklich.
Wenn es sinnvoll wäre, dass deine Daten Reihen-Struktur haben wie im Szenario oben, bietet sich MySQL oder ein anderes RDBMS an. Im Falle eines Counters, der nur einfache Daten zwischen Requests speichert, ist das grober Blödsinn - das wäre eine Tabelle mit einer Zeile. 
… und ganz komplexe Script wie phpBB3 sind damit so gut wie unmöglich. Nein ehrlich, ich würde gerne mal den Olympus-Quelltext sehen, wenn er umgeschrieben wurde, um Flatfiles zu benutzen.
[size=50](SQLite zählt nicht)[/size]