在内存数据存储中使用HSQL

时间:2013-09-05 06:52:34

标签: hsqldb in-memory-database

我打算使用HSQL有一个内存数据存储区(只有内存/无磁盘备份)。然后我每隔x分钟(例如15分钟)定期备份HSQL,以便我可以恢复数据,以防盒子进入由于某种原因。

很少有人怀疑:

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

2 个答案:

答案 0 :(得分:2)

是。我使用HSQL DB作为内存数据库。我运行一个具有20 GB堆和HSQL DB的独立Java应用程序。我没有遇到任何问题。申请过程每天有近100万条记录,并有12GB的数据。

我没有看到HSQL DB的主要问题。但是,并发访问和锁定是必须妥善处理的事情。

有许多开源内存数据库。

Derby(Java Db),H2,HSQL DB。

您还可以使用MySQL,PostGRESQL,Oracle Coherence(最近发布)

答案 1 :(得分:2)

Here是一篇很好的文章,可能会帮助您做出决定。

我的想法: 我在2年前在内存模式下集中使用了HSQLDB,但没有大量数据(2-3 GB),并且表现得非常好。但据说它不是生产使用的最佳解决方案。

HSQLDB不支持全文搜索 - 使用H2。此外,H2还根据其comparison内置了对群集和复制的支持。

如果您的应用程序中不需要ACID并且认为键值存储足够 - 我当然建议使用Redis。它旨在很好地处理内存数据,当然可以处理数百万行。