Hilfe beim Design

Status
Nicht offen für weitere Antworten.

nollario

Bekanntes Mitglied
servus..

bin gerade dabei ein design zu entwerfen, wo viele datenbank änderungen stattfinden... damit ich nicht jede einzelne änderung direkt an die datenbank absetze (zu lahm wegen netzwerk und db io), sammel ich die änderungen und setze sie am ende in einem aufruf ab.

problem: wie verwaltet man diese änderungen am besten? das geht ja so in richtung o/r mapping. ich habe zum beispiel an klassen gedacht, die eine tabelle repäsentieren und das ganze ergibt im endeffekt eine hierarchie. mittels dem Composite design pattern wollte ich das realisieren. hat jemand vielleicht was ähnliches gemacht und irgendwelche tipps/ kniffe parat? wäre super...

wäre da jdo eine alternative oder gibt es evtl andere technologien?

saludos

christian
 

0xdeadbeef

Top Contributor
Was spricht dagegen, sie einfach in einen Vector (oder Stack o.ä.) zu hauen? Schließlich sollen sie sequentiell erfaßt und auch sequentiell wieder abgearbeitet werden, oder?
 

nollario

Bekanntes Mitglied
dachte ich anfangs auch! ;-)

das wäre nun wieder zu einfach. da sich die objekte im laufe eines prozesses mehrfach ändern würden.... und ich bräuchte dann evtl trotzdem die info wie das objekt nach der ersten änderung aussah... dann habe ich mit dem stack/ vector ansatz gelitten....
 

abollm

Top Contributor
nollario hat gesagt.:
servus..

bin gerade dabei ein design zu entwerfen, wo viele datenbank änderungen stattfinden... damit ich nicht jede einzelne änderung direkt an die datenbank absetze (zu lahm wegen netzwerk und db io), sammel ich die änderungen und setze sie am ende in einem aufruf ab.
...
wäre da jdo eine alternative oder gibt es evtl andere technologien?

saludos

christian

Ich bin mir nicht sicher, ob ich dich richtig verstanden habe, aber willst du viele, unterschiedliche Datenbankänderungen in einer bestimmten Folge durchführen?

Wenn ja, dann wäre zunächst die Frage zu stellen, mit welchem darunterliegenden RDBMS du arbeitest. Nämlich deshalb, weil man sich in Abhängigkeit davon das Leben schon in vielen Fällen sehr erleichtern kann. In Oracle oder in DB2 kannst du dir z.B. bestimmte Packages schreiben, die wiederum z.B. deine Sammeländerungen durchführen. Für Sammeländerungen werden dir in Oracle z.B. verschiedene Möglichkeiten geboten.

Vorteile:
Der Client schickt die entsprechende Aktualisierungsnachricht an das DBMS und dies führt anschließend direkt die notwendigen Änderungen in der DB durch. Dadurch wird die Netzlast auf ein Minimum reduziert. Außerdem sind direkt im RDBMS durchgeführte Sammeltransaktionen immer schneller als wenn du diese vom Client aus einzeln oder gebündelt an die DB sendest.

Restriktion:
Server mit dem RDBMS muss ausreichend leistungsfähig sein. Das sollte aber eine Selbstverständlichkeit sein.
 

nollario

Bekanntes Mitglied
es handelt sich um sybase....

wie sieht das technisch aus mit den sammeländerungen? wie geht das über jdbc?
 
G

Guest

Gast
Ich kenne mich mit Sybase nicht aus, aber schau doch einmal in die Sybase-FAQ, der folgende Link zeigt dir die Ergebnisse über "stored" + "procedure":

http://www.isug.com/cgi-bin/faq_ez_...CTION=ASA&SECTION=REP&IGNORE_CASE=Ignore+case

Wenn das mit den "Stored Procedures" (SP), d.h. dem Anlegen und Aufrufen einzelner Funktionen dann klar ist, sollte ein Aufruf aus Java heraus auch keine grundsätzlichen Probleme bereiten. Aber vermutlich benötigst du beim Aufruf der SPs vermutlich einen proprietären Treiber.

BTW: Wir hatten kürzlich hier im Forum eine Frage wg. Ansprechen von Oracle-Funktionen aus Java heraus.
 

abollm

Top Contributor
Hab' doch noch etwas gefunden. Hier ein Beispiel einer SP in Sybase:
Code:
create procedure my_stored_proc
@param1 int,
@param2 int out
as

begin
if something exists(select * from mytable where whereClause)
select @param2="TRUE"
else
select @param2="FALSE"
end
go

GRANT EXECUTE...
EXEC sp_procxmode 'dbo.proc2,'unchained'
go

Aufrufen kannst du das aus Java heraus dann mit "executeQuery()"
 

nollario

Bekanntes Mitglied
na ja... ich arbeite schon lange mit stored procedure....

aber genau die wollen wir ja durch java code ersetzen. und ausserdem: die brauchen ja dann auch alle infos.

mein problem ist ja auch nicht die datenbank verbindung, sondern die art, mit der ich die objekte in java verwalte, bzw wie die objekte überhaupt aussehen
 

abollm

Top Contributor
nollario hat gesagt.:
na ja... ich arbeite schon lange mit stored procedure....

aber genau die wollen wir ja durch java code ersetzen. und ausserdem: die brauchen ja dann auch alle infos.

mein problem ist ja auch nicht die datenbank verbindung, sondern die art, mit der ich die objekte in java verwalte, bzw wie die objekte überhaupt aussehen

Ja dann verstehe ich dein Ausgangsposting wirklich nicht, weil du dort ja ausdrücklich von "zu lahm wegen netzwerk und db io" gesprochen hast.
 

nollario

Bekanntes Mitglied
wieso?

ist doch einfach -> 10 mal einen call über jdbc absetzen ist langsamer als 1 mal einen dicken absetzen (egal ob das ein skript, eine sp oder sonst was ist).

ablauf:

1. änderung 1
2. synch 1 mit db
3. änderung 2
4. synch 2 mit db

ist langsamer als:

1. änderung 1
2. änderung 2
3. synch 1 und 2 mit db

die frage ist: wie verwalte ich die objekte und deren änderungen....
 

abollm

Top Contributor
nollario hat gesagt.:
...
ist doch einfach -> 10 mal einen call über jdbc absetzen ist langsamer als 1 mal einen dicken absetzen (egal ob das ein skript, eine sp oder sonst was ist).
...
die frage ist: wie verwalte ich die objekte und deren änderungen....

Ja, das ist - wie bereits von mir oben angedeutet - richtig. Die Antwort deiner Frage hängt aber zunächst von den "Objekten", d.h. von der Verwaltung ihrer Änderungen ab. Was sind das für "Objekte"?

In Oracle kann man mit Set-Operationen auf der DB ein komplettes Ergebnis-Set zurückerhalten, das dann rel. einfach in Java zu verwalten ist.

Aber wie bereits gesagt, ich kenne Sybase nicht, dass ich hier konkrete Hinweise geben kann. Mein Eindruck ist nur der, dass ein Ablösen der SPs nicht der bessere Weg zu sein scheint, weil du mit Hilfe dieser Technik mehrere SQL-Operationen (z.B. Abfragen) in einem Aufruf kombinieren kannst.
 

nollario

Bekanntes Mitglied
echt schwierig, die ganze kiste...

vielen dank jedenfalls für eure ideen!

sps sind schon praktisch, allerdings kann ich auch mehrere statements quasi wie in einem skript bündeln und dann per execute in java absetzen.... ist dann nicht so schick, ich spar mir aber die sps auf datenbankseite und habe trotzdem nur einen calll zur datenbank.
 

abollm

Top Contributor
nollario hat gesagt.:
echt schwierig, die ganze kiste...

vielen dank jedenfalls für eure ideen!

sps sind schon praktisch, allerdings kann ich auch mehrere statements quasi wie in einem skript bündeln und dann per execute in java absetzen.... ist dann nicht so schick, ich spar mir aber die sps auf datenbankseite und habe trotzdem nur einen calll zur datenbank.

Auch als Ergänzung zu meinem letzten Posting oben noch ein kleiner Comment meinerseits:

In Oracle würde jeder halbwegs versierte Pl/SQL-kundige Programmierer deine Aussage wg. Bündelung der Statements bezweifeln. Denn bei halbwegs geschickter Programmierung auf DB-Seite mit Packages, Triggern etc. bist du im Regelfall immer schneller, als wenn du vom Client aus gebündelte Abfragen an die DB absendest. Zum Testen gibt es in Oracle den so genannten "Execution Plan", mit dem du die Performance deiner Abfragen "messen" und ggf. auch vergleichen kannst.

Aber, wie du bereits gesagt hast, das ist eine "schwierige Kiste".

Good luck.
 

nollario

Bekanntes Mitglied
und eine weitere problematik deutest du auch an:

man ist absolut hersteller gebunden (sobald ich auf pl/sql oracle oder transact sql sybase setze)... und das sollte auch jeder halbwegs versierte programmierer bedenken...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
hdi Hilfe beim Design (Stichwort OO, Pattern, ...) Allgemeine Java-Themen 11
A Hilfe beim Verständnis Allgemeine Java-Themen 16
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
Y Benötige Hilfe beim Programm Allgemeine Java-Themen 2
B Hilfe beim Verständnis von Mergesort Allgemeine Java-Themen 5
F Hilfe beim Starten einer Java Anwendung unter Windows gesuch Allgemeine Java-Themen 8
M Hilfe beim substring, indexOf, etc. Allgemeine Java-Themen 8
W Hilfe bei Methode Allgemeine Java-Themen 14
M Javascript Hilfe bei ToDoList? Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
T Hilfe bei negation von suchabfrage Allgemeine Java-Themen 2
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
V Hilfe mit Java Code Allgemeine Java-Themen 4
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
A Preisberechnung, Hilfe Allgemeine Java-Themen 4
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
s_1895 Hilfe bei Java Tic Tac Toe Allgemeine Java-Themen 8
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
U Erste Schritte Hilfe bei simplem Glücsspiel in Java Allgemeine Java-Themen 4
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
K Objektorientierung, hilfe Allgemeine Java-Themen 9
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
D Hilfe bei Informatik Hausaufgaben Allgemeine Java-Themen 30
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
F NetBeans Hilfe!!! Allgemeine Java-Themen 23
H Schiffe versenken JButton Schiffe mit GUI verbinden Hilfe! Allgemeine Java-Themen 2
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
B Hilfe bei Übungsblätter Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
C Hilfe Bei Vegas Slide Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
Ice4P4rty Hilfe Bei Promillerechner Allgemeine Java-Themen 9
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
G Hilfe bei Projektarbeit Allgemeine Java-Themen 5
GenerationLost Input/Output Custom Serialization - hilfe bei Realisierung Allgemeine Java-Themen 8
J Hilfe!!! Ausbildung Allgemeine Java-Themen 14
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
S Hilfe bei Gui Allgemeine Java-Themen 3
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
C Hilfe bei den Ausgaben Allgemeine Java-Themen 4
K Hilfe bei GUI für Pizza-Service Allgemeine Java-Themen 11
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
I Bitte Drngend hilfe Allgemeine Java-Themen 2
C Hilfe bei NoClassDefFoundError Allgemeine Java-Themen 14
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
N Erste Schritte [HILFE] effizienter,leistungsfähigermbackground Pixelbot Allgemeine Java-Themen 5
A Hilfe gesucht Allgemeine Java-Themen 44
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
C Hilfe bei MalformedURLException Allgemeine Java-Themen 7
D Baum zeichnen hilfe Allgemeine Java-Themen 4
M Hilfe bei parseInt Allgemeine Java-Themen 4
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
M Brauche Hilfe bei Quellcodeverständnis Allgemeine Java-Themen 4
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
X Hilfe bei Programm Allgemeine Java-Themen 5
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
F Bitte um Hilfe! Allgemeine Java-Themen 5
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
F Brauche Hilfe bei Java Allgemeine Java-Themen 6
S Hilfe bei simplem Programm Allgemeine Java-Themen 3
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
C Brauche Hilfe mit Modulo Strategie Allgemeine Java-Themen 2
S Brauche Hilfe: Prüfungsaufgabe Java Allgemeine Java-Themen 8
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
M google plus java api - Anfänger sucht Hilfe Allgemeine Java-Themen 7
M Hilfe mit JOptionPane Allgemeine Java-Themen 2
I Hilfe: Klasse Vieleck Allgemeine Java-Themen 5
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
S Hilfe bei der Cosinusapproximation Allgemeine Java-Themen 10
K Arraylist Hilfe Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben