4 Stimmen

Zwischenspeicherung schreibgeschützter Daten für Java-Anwendungen

Ich habe eine Datenbank mit rund 150.000 Datensätzen und einem Primärschlüssel in der Tabelle. Die Datengröße für jeden Datensatz beträgt weniger als 1kB. Die Verarbeitungszeit für die Konstruktion eines POJO aus dem DB-Datensatz dauert etwa 1-2 Sekunden (es gibt einige Geschäftslogik, die zu viel Zeit benötigt). Diese Daten sind schreibgeschützt. Daher plane ich, eine Zwischenspeicherung der Daten zu implementieren. Was ich denke, zu tun ist. Laden Sie die Daten in Teilmengen (jeweils 200 Datensätze) und erstellen Sie einen Thread, der die POJOs erstellt und sie in einer Hashtabelle speichert. Während der Cache geladen wird (wenn ich die Anwendung starte), wird der Benutzer ein Wartezeichen sehen. Für die Speicherung der Daten in HashTable ist ein Problem, das ich tatsächlich speichern die verarbeiteten Daten in eine andere DB-Tabelle (marshall die POJO zu xml). Ich verwende eine Drittanbieter-API, um die Daten aus der Datenbank zu laden. Sobald ich einen Datensatz geladen habe, muss ich die Daten laden, um Assoziationen für die geladenen Daten und dann Assoziationen für die Assoziation auf der obersten Ebene zu laden. Es ist wie das Laden eines Stammbaums.

  1. Ich kann nicht Hibernate oder ein ORM-Framework verwenden, da ich eine Drittanbieter-API zum Laden der Daten verwende, die mit der Datenbank selbst ausgeliefert wird (es ist ein Produkt). Mehr über ich glaube nicht, dass das Laden von Daten einmal ist kein großes Problem.
  2. Wenn es eine Möglichkeit zur Feinabstimmung der Geschäftslogik gäbe, hätte ich diese Frage hier nicht gestellt.

Das Zwischenspeichern der Daten bei Bedarf ist eine Option, aber ich versuche zu sehen, ob ich etwas Besseres tun kann.

Schlagen Sie mir vor, wenn Sie eine bessere Idee kennen. Vielen Dank.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X