# relationale vs. objekt-orientierte Datenbank



## KSG9|sebastian (9. Feb 2006)

Hi...

ich hab mich vor kurzem mal mit objekt-orientierten Datenbanken beschäftigt. Dabei bin ich auf db4Objects (db4o)  gestoßen.
Für das Programm das ich gerade entwickle ist es teilweise sehr schwer, ein gescheites DB-Design zu entwickeln. Es ist schon möglich, aber dann werden die SQL-Abfragen mit der Zeit sehr sehr eklig. 
Nächste Idee war ein OR-Mapping-Framework zu verwenden. Problem ist aber, dass z.B. Hibernate völlig overdosed für das ist was ich machen will. 
Mit einer oo-Datenbank lässt sich das ganze Problem sehr schnell lösen. Ob die Lösung wirklich gut und sauber ist weis ich noch net..muss ich mir mal anschauen 

Deshalb mal ne grundlegende Frage:

Welche großen Vorteile haben relationale Datenbanken im Vergleich zu objektorientierten ?

Könnt ihr eine oo-Datenbank empfehlen ?

Gruß Sebastian


----------



## Bleiglanz (10. Feb 2006)

KSG9|sebastian hat gesagt.:
			
		

> Welche großen Vorteile haben relationale Datenbanken im Vergleich zu objektorientierten ?


Kann dir leider nix empfehlen, hab bisher nur rumgespielt

Vorteile der Relationalen:

- bewährt, jeder kennts, alle hams

- schnelle "Aggregation", SELECT SUM(spalte) FROM WHERE...
kannst du mit einer ObjektDB nur schlecht nachbilden, auch wenn die das langsam nachziehen

- mehr Kontrolle über das Ladeverhalten, weil von Hand gesteuert
(wenn du bei einer ObjektDB ein Objekt rausziehst, wie gross ist dann der Teil des ganzen Abhängigkeitsnetzes der mitgezogen wird?)

- Projektionen: Wenn du eine Tabelle mit 50 Spalten hast, kannst du mit "SELECT spalte1 FROM t" deinen Ressourcenverbrauch eindämmen

Nachteil:

komplizierte Designs mit vielen Fremdschlüsseln werden schnell ziemlich hässlich und verkomplizieren die Anwendungsentwicklung


----------



## KSG9|sebastian (10. Feb 2006)

ja..bisher hab ich auch immer auf relationale DBs gesetzt, da sie von der Performance her viel schneller sind.
Bei dem aktuellen Problem seh ich aber keine Möglichkeit, das ganze irgendwie sinnvoll ich ne rel. DB zu bringen.

Na ja..
ich spiel weiter damit rum


----------



## wro (13. Feb 2006)

Das ist ein interessante Thema mit dem ich mich auch seit langem beschäftige. Ich sehe trotz vielen Ansätzen noch keine für mich optimale Lösung. Objektorientiert hat seine Vor- und Nachteile genauso das relationale Modell. 
Falls es was kosten darf schau dir mal Caché von Intersystems an. Das ist eine interessante Mischung aus beidem. Es gibt eine kostenlose Lizenz zum Ausprobieren, darf nur nicht kommerziell genutzt werden.

Gruß

Wolfgang


----------



## KSG9|sebastian (15. Feb 2006)

werd ich mal tun, danke


----------

