Was meint ihr?
Ich habe mir ein Programm geschrieben, dass mir als Tagebuch für meine sportlichen Aktivitäten dient.
Ich verwalte für jeden Tag einzelne eigene Dateien die jeweils unterschiedliche Datensätze in XML-Struktur enthalten.
Da ich es nun schon seit einiger Zeit verwendet, sind natürlich schon einige hundert kleine Dateien entstanden.
Das Problem ist, dass ich mir dachte, die einzelnen zusammengehörenden Datensätze in eigene kleine Dateien zu speichern, damit nicht immer eine große Datei wegen der Änderung weniger Buchstaben im Text gespeichert werden muss.
Der Nachteil ist nun, dass beim Laden der Zusammenfassung aller Dateien die Festplatte einiges zu tun hat bevor es dargestellt werden kann 🙂
Meine Frage nun:
Ist es besser die Zusammenfassungdaten tageweise in jeweils einer eigenen Datei zu speichern oder alles in einer einzigen?
Bin gespannt wie man sowas am besten machen soll...
da du dich mit deinen fähigkeiten warscheinlich immer weiterentwikeln wilst versuche das ganze doch mit einer stand alon datenbank zu machen (access, fierbird (glaube!) oder so)
oder aber mache für jede woche eine xml datei dan haste selbst nach 2 jahre gerade mal 100 dateien 😉
und schao mit einem profiler (Nprof) wo dein jetziger coe die ziet biem einlsen und abspeichern frisst und versuche zu optimiern. vlt kannste dan schon auf monatliche oder gar eine edatei zurückgreifen 😉
MfG Paul
Bau dir ne Datenbank. Dann haste die ganzen XML dateien nicht am hacken. Ansonsten, ist XML recht fix, also kannste das auch alles in eine datei machen, oder für jeden monat eine datei machen. Musst halt schauen wie schnell das ist. Aber DB wäre wohl die schnellste Lösung
Gruss Ari
Wer lesen kann ist klar im vorteil!
MSDN
Dein Feund in allen fragen
Datenbank möchte ich eigentlich vermeiden, da ich es klasse finde einfach eine "lowlevel DB" quasi schon an Board zu haben ohne etwas zusätzliches installieren zu müssen.
Mir bleibt in diesem Fall anscheinend auch nichts anderes übrib als zu versuchen die einzelnen Dateien nun doch zusammenzufassen.
Datenbank heisst nicht das du was installieren müsstest.
Das thema haben wir hier ständig ( so oder so ).
Such mal nach SQLite
Ist es besser die Zusammenfassungdaten tageweise in jeweils einer eigenen Datei zu speichern oder alles in einer einzigen?
Wenn du XmlDocument oder XPath verwendest, wo die kompletten Daten im Speicher liegen, würde ich die Daten bis maximal 6 bis 10 MB noch in eine einzige Xml-Datei packen. Realisiert mit einem schönen Splashscreen lässt sich die Ladezeit von etwa 30 bis 45 sec gut verstecken.
Eine eigene Datenbank, egal ob installiert werden muss, oder im selben Verzeichnis liegt, würde ich in solch einem Fall nicht verwenden. Allein der Grund Datenaustausch ist mit Xml (Copy, Paste) einfacher als mit Datenbanken
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Hallo,
eine weitere Lösung währe es alle Dateien in einem Zip-Container zu speichern, so wie es zum Beispiel in Spielen gemacht wird (Quake .pak files 😄). So hast du den Vorteil dass du einzelne Datein extrahieren kannst und als dreingabe ist das ganze auch noch komprimiert.
Gruss
tscherno
unterschiedliche Datensätze
Wenn die Datensätze alle den gleichen aufbau haben dann nimm ne Datenbank, z.B. SQL Server Compact Edition.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Derzeit organisiere ich die einzelnen Datensätze in verschiedenen (zusammengehörigen) XML-Schemas bzw. DataSets mit der Dateiendung .xsd.
Auch hier könnte man ja innerhalb eines Schemas mehrere Tabellen zusammenfassen.