[Conception] Java et manipulation grandes quantités de données
Bonjour,
Je travaille actuellement sur un analyseur de listes de discussion. Chaque liste peut contenir de 100 messages à 200 000 messages, chaque message une douzaine de champs.
Je dois faire des statistiques sur ces messages. Le problème, c'est que pour effectuer ces statistiques, je dois extraire les messages puis les manipuler pour les classer, les trier ... etc.
Tout marche très bien avec 10 000 voire 50 000 messages. Mais le problème se corse avec 200 000 messages, ce qui entraine des dépassements de mémoire, que cela soit en tout objet (si j'utilise l'objet Message), ou en base de données (table Message).
Dans le premier cas, la mémoire se sature lorsque j'applique des comparators sur plusieurs critères à mes messages (par sujet ET par date par exemple) afin de classifier les messages en discussion.
Dans le second cas (avec H2), la mémoire se sature lorsque je fais un simple SELECT sur 3 champs de ma table Message.
Java est-il inadéquat dans mon cas de manipulation de grandes quantités de données ou avez-vous des idées qui pourraient me sortir de l'impasse ?