Hallo,
Es geht auch nicht um ein Flatfile-System, sondern um strukturierte Daten im RAM. Ob man die dann zu Langzeitspeicherzwecken in eine Datei serialisiert oder woanders hin ist weitestgehend egal.
Nicht zwingend. Eine Datei ist immer als ganzes zu betrachten. Wenn
du eine Datei ändern möchtest, wirst du diese üblicherweise
vollständig neu beschreiben.Du hast doch meinen Satz dass es nicht wirklich um Dateien geht sogar mitzitiert.
Ja. Deshalb habe ich den unteren Teil, als es wirklich nicht mehr
um Dateien ging, auch gesnippt.
Ich habe oben zu viel zitiert. Ich bezog mich einzig und alleine
auf folgenden Satz: "Ob man die dann zu Langzeitspeicherzwecken in
eine Datei serialisiert oder woanders hin ist weitestgehend egal"
Und das ist es nicht.
Aber sei's drum, es wäre prinzipiell auch überhaupt kein Problem das ohne serialisieren zu machen. Man mmapt 'einfach' eine Datei in den Speicher und hält die Datenstruktruren des Forums in diesem Speicher. Das ist im Prinzip so schnell wie die reine RAM-Lösung und muß die Daten nicht serialisieren (bzw. tut es doch in ein besonderes Format das man noch als Flatfile bezeichnen könnte). Es ist nur etwas .. aufwändig zu implementieren, da man große Teile der Speicherverwaltung für diesen Zweck selbst neu schreiben müsste.
Naja, am von mir beschriebenen Problem ändert das aber nichts. Ich
habe absichtlich nichts über die Serialisierung gesagt, weil diese
nicht übermäßig stark ins Gewicht fällt. (Nicht im Vergleich
zu den Dateioperationen, zumindest.) Höchstens indirekt, weil durch
die Serialisierung die auf die Festplatte zu schreibende Datenmenge
eher größer wird, als wenn man den Speicher direkt auf die Platte
schreibt.
Oder habe ich dich jetzt falsch verstanden? Mit "Serialisierung"
meinst du doch das Wandeln des plattformabhängigen Speicherbildes
in ein irgendwie geartetes anderes Format (wie z.B. XML), ja?
Gruß
Slyh