Es geht um 100 bis 200 Newsfeeds. Deren Meta-Daten sind in einer JSON-Datenstruktur vorhanden, die in einer Datei persistent gespeichert sind und bei Anwendungsstart ins RAM geholt werden und dort auch verbleiben.
Der Knackpunkt sind nun die Einzeleinträge (nenne ich jetzt mal "Nachrichten") je Feed. Mit enstprechender Nutzungszeit des Newsreaders kommen da schnell mehrere 1000 "Nachrichten" je Newsfeed zusammen. Wann ich diese Daten brauche, kann ich nicht voraussehen, weil ich nicht weiß, welche Feeds der Nutzer anklicken wird.
- Eine echte Dantenbank drunter legen, die solche Dinge für mich "lösen" würde, möchte ich nicht.
- Ich könnte je Feed eine eigenen Daten mit den Einzelnachrichten (auch im JSON-Format) anlegen. Die wird dann bei Bedarf geöffnet und ins RAM gelesen.
- Ich könnte alle diese Dateien (100-200) Stück bei Programmstart schon mal öffnen, aber noch nicht lesen. Das spart RAM. Würde es die Zugriffszeit verbessern?
- Alle Dateien und deren Daten (ca 200 x 2000 Feeds) bei Programmstart öffnen und ins RAM holen... Klingt nach overhead.
- Ich könnte auch ein bisschen jonglieren: Je Newsfeed, ungelesene "Nachrichten" in eine Dateie, die gelesenen der letzten drei Monate in eine zweite Datei und den noch älteren Rest in eine Dritte. Komplex. Ob das durch den Benefit aufgewogen wird?