【问题标题】:Embedded Java Databases for Large Data Sets用于大型数据集的嵌入式 Java 数据库
【发布时间】:2012-07-01 18:35:44
【问题描述】:

我想将基于 PHP/MySQL 的客户端/服务器应用程序移植为用 Java 编写的独立桌面应用程序。数据库已经变得相当大,有几张表,有几十万行。我预计某些表格的条目数可能会增长到一百万以上。

哪种嵌入式数据库能最好地处理这个问题? HSQLDB 和 Sqlite 似乎是显而易见的选择,尽管我猜还有其他选择。我的主要优先事项是高效地对大量数据执行查询的能力(this thread 似乎证实 Sqlite 可以处理这个问题)以及我可以轻松地从 MySQL 导入旧数据(我记得 HSQLDB 对此有点痛苦) )。

注意:我知道之前已经发布过比较嵌入式数据库的类似问题(例如 herehere),但是考虑到大数据迁移,我的优先级与大多数应用程序有所不同,我认为这是一个新问题的合理性.

【问题讨论】:

    标签: java sql sqlite hsqldb h2


    【解决方案1】:

    您会担心,随着时间的推移,您将不再那么担心,您是否会有内存不足的用户来处理嵌入式数据库中的数百万行。

    如果每个人都拥有 64 位操作系统和 8GB 或更多的 RAM,那么您就很清楚了。

    我同意 SQLLite 或 Hypersonic 只要有足够的内存就可以处理它。我想知道对于那些内存变得稀缺的情况,每个人会做什么。

    您当然可以选择在服务器模式下运行 Hypersonic 并将数据保存在磁盘上。这可能是一个有吸引力的替代方案,尤其是在 SSD 变得普遍的情况下。您可以保持不需要安装数据库的便利,并且仍然可以在不耗尽可用 RAM 的情况下管理大型数据集。

    【讨论】:

      【解决方案2】:

      最新版本的 HSQLDB 用于具有千兆字节数据的商业应用程序。 HSQLDB 的持久化机制已经过彻底的测试,它系统地使用 fsync 避免了数据丢失。查询优化得到了改进。使用 HSQLDB SqlTool 从 CSV 或 SQL 转储导入数据现在非常容易

      【讨论】:

      • 看起来你对 hsqldb 有专业的依恋,fredt。我不担心,但很高兴知道这里表达的观点的影响。
      猜你喜欢
      • 2018-03-03
      • 2011-01-27
      • 2017-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2011-10-18
      • 2016-05-24
      相关资源
      最近更新 更多