Frank (no reg): XML-file oder flat-file?

Beitrag lesen

Hallo,

für beide Speichervarianten musst du ein Format definieren, für die .dat ein Format mit Delimitern (wie von dir erwähnt), für XML die Struktur aus Elementen und Attributen von einen Eintrag.

XML hat bei den Nachteil, dass es je nach Schema mehr oder weniger Overhead erzeugt, aber es erzeugt definitiv mehr Overhead gegenüber der Flatfile Variante.

Wenn die Verwendung des Flatfiles für dein Programm ausreicht, keine oft stattfindende Strukturänderung (entfernen oder hinzufügen von Loginformationen) vorgenommen wird, dann halte ich die Variante des Flatfile für effektiver (auch weil platzsparender) und _einfacher_.

Möchtest du hingegen die Daten des Loggers publizieren, so dass andere Leute (speziell andere Software) etwas damit anfangen kann, ohne die Implementierung deines Programms zu kennen, dann empfiehlt sich (imho) eher XML, da es in Form von Element- und Attributnamen auch eine Beschreibung der Daten enthält. Kombiniert mit einem Schema (XSD) ließe sich auch die Form des Inhalts auf gültigkeit validieren.

In Bezug auf spätere Migration in eine relationale Datenbank sehe ich für keine der beiden Seiten einen expliziten Vorteil.

Ich weiß leider nicht, inwieweit OOP mit deinem Script möglich ist, aber vielleicht kannst du dein Script nach dem Mediator Pattern gestalten, so dass es bezüglich der Ausgabe verschiedene Implementierungsmöglichkeiten gibt (XML oder Flatfile oder DB).

Grüße, Frank