Bonjour,
Suite à ma prise de concience que je ne pouvais pas utiliser BerkelyDB dans mon projet (commercial) sans licence, je cherche une autre solution pour arriver à mes fins.
Mon but est de stocker des objets (serializble) et de les récupérer par la suite. Je sais qu'il existe la classe ObjectInputStream et ObjectOutputStream mais j'ai peur au niveau des performances. En effet, je doix poivoir stocker plusieurs millions d'objets qui eux-même comporte une liste d'objets.
J'avais choisi BerkeleyDB car apparemment niveau performance ça suivait. De plus, les objets étaient indexé par une clef ce qui aurait pus servir à d'éventuelles améliorations...

Donc pour l'instant je pense développer une petite API qui se chargera d'enregistrer les objets dans plusieurs fichiers de données. 1 fichier ne pouvant contenir qu'un nombre limité d'objet. Ainsi, la taille des fichiers pourra être maitrisé. Est-ce une bonne idée ? La taille des fichiers peut elle jouer sur les performances ?
Désérializer les objet dans une BloquingQueue qui servira de buffer d'objet pour encore augmenter les performance (j'aurais un consommateur qui se chargera de vifer la BloquingQueue).

Est-ce que ça tient la route ? Est-ce que je perd mon temps à fair eça car ça existe déjà ? Y'a-t-il d'autres solutions ?

merci

ps : je ne pense pas qu'un SGBD classique soit approprié car je n'ai pas besoin 'du mode' relationnel qui va ralentir la récupération des données je pense.