【问题标题】:using HSQL as in memeory data store使用 SQL 作为内存数据存储
【发布时间】:2013-09-08 21:24:50
【问题描述】:
我打算使用 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
【问题讨论】:
标签:
hsqldb
in-memory-database
【解决方案1】:
Here 是一篇不错的文章,可能会帮助您做出决定。
我的想法:
2 年前,我在内存模式下大量使用了 HSQLDB,但数据量不是很大(2-3 GB),而且性能足够好。但是据说它不是生产使用的最佳解决方案。
HSQLDB 不支持全文搜索 - 使用 H2。此外,H2 还根据其comparison 内置了对集群和复制的支持。
如果您的应用程序不需要 ACID,并且觉得键值存储就足够了——我当然推荐使用 Redis。它旨在在内存数据上表现良好,当然可以处理数百万行。
【解决方案2】:
是的。我使用 HSQL DB 作为内存数据库。我运行一个具有 20 GB 堆和 HSQL DB 的独立 Java 应用程序。我没有遇到任何问题。应用程序每天处理近 100 万条记录,拥有约 12GB 的数据。
我没有看到 HSQL DB 的主要问题。但是,并发访问和锁定是必须妥善处理的。
有很多开源的内存数据库。
Derby(Java 数据库)、H2、HSQL 数据库。
还可以使用 MySQL、PostGRESQL、Oracle Coherence(最近发布)