Maps und Hibernate - Performancefrage

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Guten Tag zusammen,

ich möchte mal eure Meinung zu folgendem Problem einholen:

Ich erzeuge mithilfe einer XML-Datei (~10MB) Objekte, die ich dann in der Datenbank abspeichere, was auch problemlos klappt.
Allerdings halte ich einige dieser gespeicherten Objekte in jeweils unterschiedlichen Maps, damit ich, falls ich das gleiche Objekt wieder erzeugen muss, auf die gespeicherte Entität wieder zugreifen kann. Ich verhindere somit Dubletten in der DB und habe nur die benötigten Datenbankzugriffe.
Nun ist es so, dass die XML-Datei relativ groß ist und ich ein commit() erst ganz zum Schluss durchführe, was ja eigentlich performancegünstiger ist. Dementsprechend habe ich die Befürchtung, dass die Maps sehr groß werden und der Garbage Collector die Maps auch nicht bereinigen kann, weil ja schließlich erst zum Schluss ein commit() ausgeführt wird und die Maps u.U. noch benötigt werden.

Bei "kleinen" XML-Dateien(< 5MB) funktioniert das sehr schnell. Nur bei dieser "großen" nicht. Ich habe das Gefühl, dass ich die INSERT-Statements schneller selber eintippen kann, da diese doch sehr langsam vorangehen (aufgrund des begrenzten Speichers).

Nun meine Frage an euch:

Wie könnte man die Performanz deutlich verbessern? Alle paar Entitäten ein commit() durchführen, damit der Speicher wieder frei wird? Oder habt ihr noch andere Ideen?
 

byte

Top Contributor
Erklär mal, wie der Workflow genau aussieht. 10 MB an Daten ist ja nix. Ich würde es so machen: XML parsen und Objekte erzeugen. Equals / Hashcode implementieren, um Dublettenproblem zu lösen. Die Objekte dann in einem Set halten, so dass doppelte Objekte direkt beim parsen rausfallen. Wenn die XML fertig geparset ist und alle Objekte im Speicher liegen, dann alle am Stück in die DB schreiben.
 
G

Guest

Gast
XML parsen und Objekte erzeugen (dabei wird bei einer Entität in einer "alten" DB nach Binärdaten selektiert und in das dazugehörige Feld der Entität gepackt). Fertige Objekte in die jeweiligen HashMaps packen. Werden Entitäten des gleichen Typs geparst, wird vorher in der jeweiligen Map nachgeschaut, ob die Entität bereits in der Form in der Map bereits existiert. Existiert diese in der Map wird die bereits gespeicherte Entität aus der Map genommen und weiterverwendet.
Zum Schluss des Parsens werden alle Entitäten in die DB geschrieben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Google maps bild mit marker versehen Java Basics - Anfänger-Themen 12
X Collections Collections Maps Frage Java Basics - Anfänger-Themen 4
S equalsIgnoreCase bei maps Java Basics - Anfänger-Themen 2
R Key/Value ohne Maps? Java Basics - Anfänger-Themen 2
M Collections Maps Java Basics - Anfänger-Themen 7
R Array von Maps Java Basics - Anfänger-Themen 8
H Maps? Wozu? Nutzen? Java Basics - Anfänger-Themen 3
K Maps mit veränderlichen Daten als Value Objekte Java Basics - Anfänger-Themen 3
D Fehler bei Maps.get Java Basics - Anfänger-Themen 27
J Hash-Maps / ArrayLists testen Java Basics - Anfänger-Themen 12
M Frage zu Maps Java Basics - Anfänger-Themen 11
G Welche Datenstruktur ( Sets / Maps)? Java Basics - Anfänger-Themen 10
M Frage zu den ganzen Trees / Maps Java Basics - Anfänger-Themen 6
M Speichern von Matrizen in Maps günstiger als in Arrays? Java Basics - Anfänger-Themen 22
G Weltkarte a la Google Maps Java Basics - Anfänger-Themen 4
P Was sind Vectoren und Maps in Java? Java Basics - Anfänger-Themen 3
N Suche Infos zu Maps - Collections Java Basics - Anfänger-Themen 4
G Google Maps und Java Java Basics - Anfänger-Themen 8
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
I JPA / Hibernate "Predicate" kombinieren in der gleichen Query Java Basics - Anfänger-Themen 1
I BLOB / CLOB und Hibernate... Ratschläge benötigt Java Basics - Anfänger-Themen 10
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
D hibernate annotation Java Basics - Anfänger-Themen 2
D hibernate: string vs setparameter Java Basics - Anfänger-Themen 1
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Java Basics - Anfänger-Themen 4
Todesbote Int Array mit Hibernate in Datenbank speichern. Java Basics - Anfänger-Themen 2
DStrohma Best Practice Hibernate für kleine Anwendung nutzen? Java Basics - Anfänger-Themen 4
I Hibernate Java Basics - Anfänger-Themen 4
T Hibernate Fehlermeldung Java Basics - Anfänger-Themen 9
D [Hibernate] Objektinhalte auslesen Java Basics - Anfänger-Themen 8
N Hibernate "Hello World" Tutorial gesucht Java Basics - Anfänger-Themen 9
F Logging von Hibernate-Statements und Glassfish Java Basics - Anfänger-Themen 2
G hibernate . tutorial prob . Java Basics - Anfänger-Themen 4
G org.hibernate.MappingException:An AnnotationConfiguration. Java Basics - Anfänger-Themen 3
G [Hibernate] Node to traverse cannot be null Java Basics - Anfänger-Themen 3
G java.lang.IllegalArgumentException -> Hibernate Java Basics - Anfänger-Themen 2
G Hibernate, JDO und Alternativen Java Basics - Anfänger-Themen 4
G [Hibernate] Richtiger ColumnType Java Basics - Anfänger-Themen 2
G [Hibernate] Aus SQL-Statement Entities erzeugen Java Basics - Anfänger-Themen 2
G [Hibernate] Constraints über mehrere Tabellen Java Basics - Anfänger-Themen 2
G [Hibernate] Could not find a setter for property Java Basics - Anfänger-Themen 2
M [Hibernate] "Illegal start of expression"-Fehler b Java Basics - Anfänger-Themen 2
B Hibernate - DB2 - Java Java Basics - Anfänger-Themen 3
M [Hibernate]: Cascade-Frage Java Basics - Anfänger-Themen 4
S Hibernate Session: Wie in alle Klassen Java Basics - Anfänger-Themen 19
M [Hibernate] Speichern von ManyToOne-Beziehungen in der DB Java Basics - Anfänger-Themen 12
G JTable aus Hibernate Zeile löschen Java Basics - Anfänger-Themen 4
H [Hibernate] HibernateSessionFactory Pfad setzen Java Basics - Anfänger-Themen 4
G [Hibernate] Dynamischer Datenbankpfad Java Basics - Anfänger-Themen 4
G [Hibernate] Laden aus DB funktioniert nicht Java Basics - Anfänger-Themen 8
G [Hibernate] Beschränkte Selektion Java Basics - Anfänger-Themen 2
G [Hibernate] StaleStateException beim Löschen Java Basics - Anfänger-Themen 3
G Einfacher Anfang mit Hibernate Java Basics - Anfänger-Themen 4
F [Hibernate] Debug INFO Einstellungen Java Basics - Anfänger-Themen 5
F [Hibernate] Alle Objekte laden aus der DB laden Java Basics - Anfänger-Themen 6
F [Hibernate] Id aus DB auslesen Java Basics - Anfänger-Themen 5
C Hibernate und Mandantenfähigkeit Java Basics - Anfänger-Themen 7
G hibernate tutorial Java Basics - Anfänger-Themen 3
R Verständnisproblem mit Hibernate Java Basics - Anfänger-Themen 2
N Hibernate will nicht so wie ich Java Basics - Anfänger-Themen 4
Spin Performancefrage Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben