我打算使用 HSQL 有一个不可处理的数据存储(仅在内存中/无磁盘备份)。然后我将每x分钟(例如15分钟)定期备份HSQL,以便在box由于某种原因出现故障时可以恢复数据。
几个疑问:
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
是的。我已使用 HSQL DB 作为内存数据库。我运行一个具有 20 GB 堆和 HSQL DB 的独立 Java 应用程序。我没有遇到任何问题。应用程序每天处理近 100 万条记录,并拥有大约 12GB 的数据。
我没有看到HSQL DB的主要问题。但是,并发访问和锁定是必须妥善处理的事情。
有许多开源内存数据库。
Derby (Java Db), H2, HSQL DB.
您还可以使用MySQL,PostGRESQL,Oracle Coherence(最近发布)
这是一篇不错的文章,可能会帮助您做出决定。
我的想法:2年前,我在内存模式下大量使用了HSQLDB,但数据量不大(2-3 GB),而且性能足够好。但是,据说这不是生产用途的最佳解决方案。
HSQLDB 不支持全文搜索 - 使用 H2。此外,H2 还根据它们的比较对集群和复制提供了内置支持。
如果你的应用程序中不需要 ACID,并且觉得键值存储就足够了 - 我当然建议使用 Redis。它旨在对内存中的数据执行良好,当然可以处理数以亿计的行。