2009-03-25 1 views
0

Ich habe ein Java-Objekt, das ich in einer lokalen In-Memory-Datenbank speichern möchte. Das Objekt hat eine Ein-Viele-FK-Beziehung, andernfalls hat es 20 Integer/String/Enumerated-Felder.Schreiben von einfacher und effizienter Datenbank Benutzerdefinierter ORM-Code in Java

Ich möchte vermeiden, ein Framework zu verwenden.

Obwohl die Objekte selbst nicht sehr groß sind, wird eine große Menge dieser Objekte mit hoher Häufigkeit eingefügt/aktualisiert (20.000 Aktualisierungen alle 5 Sekunden).

Was ist der einfachste Weg, um dieses Problem anzugehen? Was ich möchte, ist Java-Objekt in diese ORM-Ebene, Java-Objekt aus dieser ORM-Ebene heraus (wenn nach abgefragt). Ich möchte Objekte auch abfragen können.

Irgendwelche Tipps?

Antwort

2

Sie benötigen keine ORM-Lösung: Sie benötigen eine Caching-Lösung. Hier ist eine overview of the more popular Java grid, caching and clustering solutions.

Ich würde wahrscheinlich mit Blick auf Terracotta beginnen.

Sie sagten, Sie wollten kein Framework. Nun, ich bin anderer Meinung: ORMs sind kompliziert. Caching ist kompliziert. Wenn du es selbst machst, musst du es falsch verstehen (das ist keine Reflexion über dich, es gilt fast überall). Es gibt hier Probleme, die über die Schnittstelle hinausgehen, wie Fehlertoleranz, Konsistenz, Persistenz, Wiederherstellung und so weiter.

+0

Können Caches gegen abgefragt werden? – systemoutprintln

+0

Je nachdem, welche Technologie Sie verwenden und was genau Sie mit Abfragen meinen (ich nehme an, Sie meinen Listen von Objekten, die bestimmte, möglicherweise komplexe Kriterien erfüllen), ist die Antwort ein qualifiziertes Ja. – cletus

1

Prevayler wäre am besten dafür, mit Batch-Schreibvorgänge.

Sie möchten es ausprobieren, bevor Sie sich die komplexen Caching- und Verteilungslösungen ansehen.

Verwandte Themen