# Simulation mit vielen Objekten: Datenbank?



## jrthies (31. Jul 2006)

Hi!

Ich plane ein Simulationsspiel mit sehr vielen (1000-5000) Objekten, die unterschiedliche Eigenschaften haben und permanent agieren/interagieren (also nicht in Spielrunden). Man soll den Zwischenstand abspeichern können. Meine erste Idee war, für die Objekte eine kleine Datenbank zu bauen, z.B. in HSQLDB. 
Hat schon mal jemand etwas in dieser Richtung probiert und kann etwas über die Performance sagen? Weitere Empfehlungen/Tipps/Links sind natürlich auch willkommen.

Vielen Dank!

Rene


----------



## Neolity (31. Jul 2006)

Ich kann dir bei dem Problem leider nicht helfen, aber vielleicht kann mir jemand sagen, wie ich allgemein Objekte verwalten kann. Es geht um eine viel kleinere Zahl. Im Endeffekt vielleicht maximal 50 Stück!


----------



## AlArenal (1. Aug 2006)

Auf allgemeine Fragen dieser Art, wirst du keine zufriedenstellenden Antworten bekommen (können). Wir können weder eine AUssage machen, wie gut (in Bezug auf Performance) dein noch zu schriebender Code sein wird, noch wie genau du vorhättest mit der DB zu interagieren (dauernd Lesen/Schreiben, oder nur ab und an alles in einem Rutsch Lesen/Schreiben/Updaten), wie du auf die DB zugreifen willst (Client-/Server, In-Process, direkt über JDBC oder mittels zusätzlichem OR-Schicht), wie umfangreich deine Objekte sind, wie die DB aufgebaut sein wird, wie komplex die Abfragen sind, ....

Einfachste Möglichkeit, einen Eindruck zu bekommen: 
Schreib dir nen Prototyp und teste es aus.


----------



## SnooP (1. Aug 2006)

Ich würde da ne "Persistenz-Fassade" machen, die ich über die Applikation anspreche und die das speichern übernimmt... und dann verschiedene tatsächliche Speicherer erstellen... dann kannst du ausprobieren, ob ne Datenbank direkt per JDBC, sowas wie Hibernate oder aber auch die java-eigene Objektserialisierung am besten läuft...
wenn's nur um das gelegentliche Speichern geht, dann würde ich letzeres evtl. sogar vorziehen, weils auch recht schnell programmiert ist...

@neolity: was genau meinst du mit Objekte verwalten? Wenns ums Speichern geht, dann siehe Objektserialisierung - bei 50 Stück macht das mehr Sinn als ne DB zu bemühen. Wenns um was anderes geht... - präziser


----------



## kama (1. Aug 2006)

Hi,

schon mal db4o angeschaut?

MfG
Karl Heinz Marbaise


----------



## 0xdeadbeef (1. Aug 2006)

Also 1000-5000 Objekte sind jetzt nicht _so_ viel. Wenn permanente Interaktion zwischen den Objekten gefordert ist, klingt das IMHO nicht unbedingt wie ein typisches Datenbankszenario. Ohne nähere Informationen wird man Dir aber keine vernünftigen Ratschläge geben können.


----------



## Natorion (3. Aug 2006)

wenn die andauernd miteinander kommunizieren, kannst das mit der datenbank dauerhaft vergessen. einzig sinnvoll zum speichern wäre sie zu gebrauchen, für die laufzeit aber eher weniger


----------

