Reputation: 774
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?
Upvotes: 10
Views: 2926
Reputation: 533472
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.
Upvotes: 3
Reputation: 7937
As others have said, "hundreds" is really not a lot, and now it sounds like you are even saying potentially less than hundreds. ANd if the heap size is a problem you can Increase the JVM Heap Size
Upvotes: 2
Reputation: 23550
Try to do it with collections. If you then realize a problem you can still swich. It is all a matter of abstracting the implementation so your algorithms do not expect one or the other. (Yet another "early-optimization is evil" rant)
Upvotes: 3