db4o und Performance

Status
Nicht offen für weitere Antworten.

Ralf Ueberfuhr

Bekanntes Mitglied
Hallo,

Ich überlege zum ersten Mal, eine Objektdatenbank wie db4o zu verwenden. Meine Frage dazu: Wie stehts zur Zeit mit der Performance von Objektdatenbanken? Sind sie ähnlich flink wie MySQL?
 

Bleiglanz

Gesperrter Benutzer
was heisst "zur Zeit"?

die Objektdatenbanken können [auf bestimmten Gebieten] NIE so schnell sein wie eine relationale Datenbank

vor allem bei SELECT(SUM(...)...) oder SELECT(MAX(..)...) beissts bei denen IMHO aus

AFAIK wird der Einsatz empfohlen, wenn es viele Objekte mit SEHR vielen Beziehungen gibt in denen man navigieren muss, dann wird nämlich SQL extrem unhandlich wegen der zahlreichen Fremdschlüssel

schätze aber mal dass es für kleinere DBs schon eine Alternative ist, mach halt mal ein paar Tests?
 

AlArenal

Top Contributor
Ich glaube die Frage ist schon "falsch" ;)
Du kannst, um bei den Beispielen zu bleiben, db40 nicht 1:1 mit einer relationalen DB vergleichen, denn bei letzerer bekommst du ja zunächst nur Daten und musst diese erst wieder in deine Objekte reinbekommen (und aus diesen wieder in die DB). Wenn du dann noch Datenhaltung und Logik auch physisch trennst (DB und Anwendung auf unterschiedlichen Maschinen), wirds mit der Vergleichbarkeit noch komplizierter, weil du dann in der Arbeit mit db4o auf RMI o.ä. zurückgreifen musst.

Ist immer Äpfel mit Birnen zu vergleichen. Ist zwar beides Obst, aber das isses dann auch mit Gemeinsamkeiten..

Wenn ich mich recht entsinne ist db4o auch kommerziell und kostet pro eingesetzter Anwendung Lizenzgebühren. Letztens stolperte ich noch über JoSQL, was auch sehr nett zu sein scheint um SQL-Abfragen über Objekte laufen zu lassen.

http://josql.sourceforge.net/index.html

Grundsätzlich entscheidet sich glaube ich niemand rein aus Performance-Gründen für oder gegen eine relationale DB contra db4o, da das Anwendungsdesign in beiden Fällen doch stark unterschiedlich sein dürfte. Und ob eine vergleichbare Abfrage inkl. Instanz-Erzeugung für große Datenmengen nun bei der einen oder anderen Lösung Laufzeutunterschiede im einstelligen Bereich hat, ist in der Praxis in den meisten Fällen nicht relevant.

Wenn ich sehe wie schlecht manche SQL-Datenbanken aufbauen, den Server konfigurieren und die Abfragen gestalten, könnte man oft auch gleich mit flat files arbeiten ;)

P.S.:
http://www.db4o.com/about/productinformation/benchmarks/
 

Bleiglanz

Gesperrter Benutzer
masseur81 hat gesagt.:
Ok, muss halt nur wissen, ob sich die Tests überhaupt erstmal lohnen.
Ich probier's aus. Danke erstmal.

es kommt eben darauf an was man machen will: zum Programmieren in Java ist so eine OO-Datenbank wahrscheinlich komfortabler als etwa das Gespann Hibernate+SQL-DB

Wenn

*es um überschaubare Datenmengen geht

*und keine komplexen statistischen Abfragen a la "alle Kunden, die im letzten Jahr mehr als 1000€ Umsatz hatten"

*und der Einsatz einer solchen Dingens "philosophisch" OK ist (Support, Team-Skills, usw.)

Oder wenn

*wahnsinnig komplexe Beziehungen zwischen den Entitäten bestehen

dann würd ich das auch gerne mal machen
 

Ralf Ueberfuhr

Bekanntes Mitglied
In meinem Falle möchte ich ein erweiterbares Programm mit Datenbankanbindung umsetzen. Erweiterbar heißt, dass man es PlugIns und damit auch um neue Datenstrukturen erweitern kann, die dann auch in die DB sollen. Mit SQL muss ich mir was einfallen lassen, SQL2Java z.B.

Danke erstmal für die guten Antworten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S db4o Datenbankprogrammierung 0
D DB4O in Tomcat Datenbankprogrammierung 2
C Db4o speichert verschachtelte Objekte nicht vollständig Datenbankprogrammierung 8
K Db4o Delete Problem Datenbankprogrammierung 11
F db4o - Zuweisungsproblem! Datenbankprogrammierung 2
P DB4o Attribute hinzufügen Datenbankprogrammierung 5
S Anzahl Datensätze in db4o Datenbankprogrammierung 2
S db4o vs. H2 - Meinungen erbeten Datenbankprogrammierung 6
F [DB4O] Objekte sollen sich nicht verändern Datenbankprogrammierung 5
A db4o - Datenbank auf USB-stick Datenbankprogrammierung 3
B Performance steigern, aber wie? Datenbankprogrammierung 8
V SQLite Performance: 1 Datei mit einzelnen Einträgen gegenüber SQLite Datenbankprogrammierung 7
S HSQLDB Performance von CHECKPOINT Datenbankprogrammierung 1
R Oracle Performance bei SELECT mit vielen Reihen Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
A Performance GPS Entfernung berechnen Datenbankprogrammierung 8
F Performance-Tool für Oracle Datenbankprogrammierung 2
D mysql insert - performance/robustheit, "best practice" Datenbankprogrammierung 15
P Was ist Performance-Mäßig besser? Datenbankprogrammierung 21
H performance frage Datenbankprogrammierung 9
S Performance bei Massinserts Datenbankprogrammierung 5
V Performance gut? Datenbankprogrammierung 22
O Derby Performance Probleme? Datenbankprogrammierung 4
G JDBC - Performance Datenbankprogrammierung 4
A HSQLDB Performance bei erstem Zugriff Datenbankprogrammierung 6
Y Hibernate - Performance Datenbankprogrammierung 6
M JDBC-Performance extrem schlecht - Konfigurationsfehler? Datenbankprogrammierung 4
A Viele Abfragen auf einmal: Performance Datenbankprogrammierung 2
J MySQL - executeUpdate - Performance Datenbankprogrammierung 13
R hsqldb: performance, große tabellen und so Datenbankprogrammierung 10
S ResultSet, Performance Datenbankprogrammierung 18
G Datenbank: Performance Tuning Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben