2009-03-25 7 views
0

J'ai un objet Java que je veux stocker dans une base de données locale en mémoire. L'objet a une relation FK One-Many, sinon il a environ 20 champs Integer/String/Enumerated.Ecriture d'un code ORM personnalisé simple et efficace dans Java

Je voudrais éviter d'utiliser un cadre.

Même si les objets eux-mêmes ne sont pas très volumineux, une grande partie de ces objets seront insérés/mis à jour à haute fréquence (20 000 mises à jour toutes les 5 secondes).

Quelle est la manière la plus simple de résoudre ce problème? Ce que je voudrais, c'est Java Object dans cette couche ORM, Java Object hors de cette couche ORM (lorsque demandé). Je veux aussi pouvoir interroger des objets.

Des astuces?

Répondre

2

Vous n'avez pas besoin d'une solution ORM: vous avez besoin d'une solution de mise en cache. Voici un overview of the more popular Java grid, caching and clustering solutions. Je voudrais probablement commencer par regarder Terracotta.

Vous avez dit que vous ne vouliez pas de cadre. Eh bien, je ne suis pas d'accord: les ORM sont compliqués. La mise en cache est compliquée. De plus, quand vous le faites vous-même, vous êtes obligé de vous tromper (ce qui n'est pas une réflexion sur vous, cela s'applique presque universellement). Il y a des problèmes à considérer ici au-delà de l'interface comme la tolérance aux pannes, la cohérence, la persistance, la récupération, etc.

+0

Les caches peuvent-ils être interrogés? – systemoutprintln

+0

Selon la technologie que vous utilisez et ce que vous entendez exactement par interrogation (je suppose que vous voulez obtenir des listes d'objets qui correspondent à certains critères éventuellement complexes), la réponse est un oui qualifié. – cletus

1

Prevayler serait mieux pour cela, avec des écritures par lots.

Vous souhaitez l'essayer avant de jeter un œil sur les solutions complexes de mise en cache et de distribution.

Questions connexes