Igor
Igor

Reputation: 774

Java Collections vs in-memory database performance

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

Answers (3)

Peter Lawrey
Peter Lawrey

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

Kevin Welker
Kevin Welker

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

Bernd Elkemann
Bernd Elkemann

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

Related Questions