Reputation: 18379
I am planning to use HSQL has a inmemeory datastore(only inmemory /no disk backup) .Then i wil take periodic backup of HSQL every x min (eg 15 min ) so that i can restore the data in case if box goes down for some reason.
Few doubts:
1)Is HSQL good for storing large amount of data . (Eg 15 GB)
2)Will search be good ? I guess yes since it is inmemory
3)Any other concerns?
4)Have you used HSQL for such purpose?
5)Any other open source which supports SQL like queries. I know memsql but its not open sourced
Upvotes: 3
Views: 644
Reputation: 4169
Here is a nice article which will maybe help you with your decision.
What I think: I have intensively used HSQLDB 2 years ago in in-memory mode but not with very large amount of data (2-3 GB) and it performed well enough. However it was said that it is not the best solution for production usage.
HSQLDB doesn't support full text search - use H2 for it. Also H2 has built-in support for clustering and replication according to their comparison.
If you don't need ACID in your application and feel that key-value storage is enough - I certainly recommend using Redis. It is designed to perform well on in-memory data and certainly can handle milions of rows.
Upvotes: 2
Reputation: 4030
Yes. I have used HSQL DB as in-memory database. I run a stand-alone java application with 20 GB heap and HSQL DB. I have faced no problems. Application process nearly 1 million records everyday and has round 12GB of data.
I do not see major concerns with HSQL DB. But, concurrent access and locking is something which has to be taken care properly.
There are many open source in-memory databases.
Derby (Java Db), H2, HSQL DB.
You can also use MySQL, PostGRESQL, Oracle Coherence (recently released)
Upvotes: 2