-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Hibernate persistence strucutre and performance
PostPosted: Wed Apr 03, 2013 8:49 am 
Newbie

Joined: Wed Apr 03, 2013 8:32 am
Posts: 2
Hallo Leute,

wir haben ein Projekt und wollen die Objekte (Java) über Hibernate in die Datenbank persistieren. Es scheint so zu sein, dass Hibernate eine Wunderwaffe und in der lage Objekte in die DB zu speichern und abzurufen ist, ohne dass man sich darüber, wie die Daten in der DB gespeichert werden, Gedanken machen müsste.
Ich glaube das nicht! Aus meiner Sicht hängt es davon ab, wie die Daten später abgerufen werden eineseitz, wenn Schnelligkeit und Massendaten gefragt sind sowohl beim Speichern, als auch beim Auslesen.

Beispiel: Ich mache eine Applikation, die gleichzeitig für allas, was man in dieser Applikation macht einen sogenannen Audit-trail fährt. Das heißt, dass wir einen sogenannten ActivityLogger im Hingergrund fahern werden. Es ist ein Log, der registirert, was Erstellt, Gelöscht, Geändert, Angefasst, wer sich Eingeloggt, wer sich ausgeloggt hat, einfach ALLESS logt und buchstäblich chronologisch abspeichern soll.

Natürlich muss der Logger KAUM RESSOURCEN verbrauchen und muss alles schnelle abrufen können, wenn nötig.

ICh will diese Daten später abrufen und entsprechend analysisiern, wenn ich Wartungsarbeiten mache, etc... Wenn ich diesen Auddittrail-Tool irgendwann mal starte, um eine Analyse über die letztn Änderungen zu machen, erwarte ich eine Tabellarische Ansicht mit Spalten. Die Spalten wären TimeStamp, Context, Field, Module, User, Old Value, New value. Diese Felder hängen an einem Datensatz und brauchen nicht getrennt von einander gespeichert werden, in der DB.

Nun miene Befürchten. Ich glaube, dass HIbernate die Daten nich in iener einzigen Tabelle, sondern mehrere Tabellen aufbauen wird und erst beim Einlesen diese zu einem Datensatz, wie ich es brauche, zusammengeführt werden. Das wäre nicht OK.

Selbst, wenn es im Millisekundenbereich liegt, das erstellen von mehreren Tabellen für die Properties, anstatt alles in einer Tabelle zu speichern macht schon einen großen Unterschied im Punkto Performance.
Außerdem, würde ich bei diesen besonders wichtigen Daten keine Chance haben, von aussen über SQL diese Daten verständlich abzufragen. (Das ist bei kritischen Daten immer nötig. Es kann nicht sein, dass ich von einem Framework abhängig bin.)

Daher die Frage: Kann ich für bestimmte Objektstrukturen in mienem JavaCode Hibernate vorgeben, wie er diese in die DB speichern soll?
Wenn nicht, gibt es eine Jave-Objekt struktur, die Hibernate standardmäßig als eine einzige Tabelle speichern würde?

Danke für Eure Meinungen und Tipps.


Top
 Profile  
 
 Post subject: Re: Hibernate persistence strucutre and performance
PostPosted: Mon Apr 08, 2013 1:26 am 
Senior
Senior

Joined: Tue Oct 28, 2008 10:39 am
Posts: 196
Du kannst das nicht nur vorgeben, du MUSST es vorgeben! Dazu gehört zu definieren, wie eine Tabelle heißt, welche Spalten es gibt, welchen Typ diese Spalten haben. Wie Relationen aussehen und und und.

Selbstverständlich muss man sich über die Art, WIE die Daten strukturiert werden Gedanken machen. Auch das Lesen/Schreiben, insbesondere bei großen Datenmengen (z.B. in Batches) oder vielen Fremdschlüssel-Beziehungen MUSS zwingend betrachtet werden, sonst tut man sich keinen Gefallen.


Top
 Profile  
 
 Post subject: Re: Hibernate persistence strucutre and performance
PostPosted: Mon Apr 08, 2013 10:23 am 
Newbie

Joined: Wed Apr 03, 2013 8:32 am
Posts: 2
Hi CDillinger,

vielen Dank für diese konkrete Aussage. Zu beginn, als du sagtest, dass ich es "MUSS" fühlte ich mich so, als hätte doch noch nicht ganz verstanden wie das Framework funktioniert. Ich bin leider noch stark von den alten Programmierparadigmen zwsichen Dialogen und Datenbanken stark geprägt.
Danke für die konkrete Antwort und vor allem beruhigt es mich, dass von der Perspektive aus betrachtet, die mir am wichtigsten erschein, dass ich entschieden kann, wie die Entitäten im BackEnd (DB) angelegt werden. Super. Danke schon mal.

Sabelm_m


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.