H2 数据库可以有多大?

mer*_*2ch 3 database jvm clojure h2

H2 数据库可以有多大?我使用 H2 数据库和我在 Clojure 中编写的 Web 应用程序使用了大约半年,并且数据库变得非常大:.h2.db 文件的当前大小为 143GB,其中一个表包含超过 330000 个图像。该应用程序相当稳定,偶尔会因 JVM 垃圾收集器和数据库错误(例如“缺少 lob 条目”)而导致暂停。当前的内存占用大约为 6GB,这是可以接受的,到目前为止,我能够通过重建数据库从这些数据库错误中恢复。但是,我确实想知道,在迁移到多线程数据库引擎(例如 PostgreSQL 和 MySQL)之前,我实际上可以保持这种设置多长时间,我很想听听有使用大型 H2 数据库经验的人的意见。

mer*_*2ch 8

我想报告,以供将来参考,我最终遇到了 H2 的主要性能和稳定性问题,并切换到了 HyperSQL ( http://hsqldb.org/ )。对于我的 Web 应用程序,HyperSQL 比 H2 更稳定,实际上更快。HyperSQL 对多线程的支持尤为重要,而且我没有像使用 H2 那样使用 HyperSQL 损坏数据库。我还使我的应用程序与数据库无关并与 MySQL 和 PostgreSQL 兼容,这两者似乎比 H2 更稳定,对我的应用程序响应更快。我知道 H2 不是为像我这样庞大的数据库设计的,但我认为我应该让其他读者知道运行一个巨大的 H2 数据库的一些后果。