Thread Thread zum Freuen 2.0 (143 answers)
Opened by GwenDragon at 2009-09-09 17:43

rosti
 2011-06-17 09:12
#149688 #149688
User since
2011-03-19
3411 articles
BenutzerIn
[Homepage]
user image
Das Ganze nochmal überarbeitet, es läuft wunderprächtig!!!

Der Austausch des alten Layers mit dem Neuen verlief absolut problemlos. Beide Layer sind Tie-Klassen, mit denen die Datenhaltung von der Anwendung getrennt wird. In der Anwendung wird nur noch mit Datenstrukturen gearbeitet.

Die geschaffte Neuerung:

Alte TieKlasse: Hat die Daten komplett in den RAM gelesen.
Neue TieKlasse: liest nur die Attribute, weniger RAM. Die Werte zu den Attributen werden mit der neuen Klasse nur auf Anforderung gelesen.

Code (perl): (dl )
1
2
# Alte TieKlasse: Attribut => Wert
# Neue TieKlasse: Attribut => [$position_in_file, $offset]


Was mich überrascht hat, ist die Performance der neuen TieKlasse, gegenüber der Alten gab es keinen Einbruch.

Wer das mal sehen möchte: http://rolfrost.de/apps/forum
Login gast/gast

Beim Seitenaufbau des Forums, was in einer Binärdatei gespeichert ist, werden nur die Titel gebraucht, um die Threads als Listen darzustellen. Beim Anklicken einer Nachricht werden der Body und weitere Attribute erst an dieser Stelle aus der Datei gelesen. Bis dahin liegen im RAM nur die Namen der Attribute und anstelle der Werte [Position, Offset];

Jetzt ist es möglich, dass viele Nachrichten mit viel Text im Forum gespeichert werden können, getestet habe ich Nachrichtengrößen von 1 MB mit einer Forum-Datei in der Größe von mehreren Megabytes...

Die Datenhaltung für die gesamte Website erfolgt ebenfalls über die neue TieKlasse, die Site ist zwar noch klein, Inhalte mit über 500 Bodies sind jedoch ohne Weiteres mit der neuen TieKlasse realisierbar, das ging schon mit der alten TieKlasse, allerdings mit erheblich mehr RAM-Bedarf.

Und das Allerschönste: Die Klasse ist austauschbar. Für eine etwaige Umstellung von Datei auf Datenbank wird nur die Klasse ausgetauscht, am Code in der Anwendung bleibt alles beim Alten ;)

Danke Perl!

View full thread Thread zum Freuen 2.0