I am not sure whether to use Java Collections or some in-memory DB (H2 or HSQLDB – they are probably the fastest). I need a good performance results – there will be hundreds of objects/rows, no JOIN or more complex queries would be performed.
I am really considering in-memory DB, because of limited size of java heap – the objects that I am working with may be quite large and also there will be a lot of them (hundreds as I mentioned)
do you think it is a good idea to use in-memory database for a large amount of data?
Hundreds of 10 KB objects is still only a few MB. Keep it simple is my suggestion. Hundreds of thousands of 1 KB objects will still easily fit into a 32-bit JVM.
I wouldn’t use an in memory database until you are getting into the GBs of data. If you have hundreds of GB, your only option is to use a database of some sort.
Disclaimer: I use in memory databases and have even written one or two.