为什么不应该';是否在Liferay的生产中使用HSQLDB?

为什么不应该';是否在Liferay的生产中使用HSQLDB?,liferay,hsqldb,Liferay,Hsqldb,我已将liferay安装为一个小型intranet门户,可供200人使用。 这样做的目的是让每个人都可以存储数据并参与论坛 在《Liferay安装指南》中,我读到不应在生产中使用HSQLDB 我想知道它是否适用于我的案例(小流量),如果我使用它,我会遇到什么问题。这不是一个权威的答案,因为我不知道Liferay做出决定的原因。但我可以告诉您,HSQLDB在过去(2.0版之前)存在相当严重的数据损坏问题,这对生产系统来说是致命的。根据HSQLDB的创建者的说法,这些问题现在应该得到解决。也许Lif

我已将liferay安装为一个小型intranet门户,可供200人使用。 这样做的目的是让每个人都可以存储数据并参与论坛

在《Liferay安装指南》中,我读到不应在生产中使用HSQLDB


我想知道它是否适用于我的案例(小流量),如果我使用它,我会遇到什么问题。

这不是一个权威的答案,因为我不知道Liferay做出决定的原因。但我可以告诉您,HSQLDB在过去(2.0版之前)存在相当严重的数据损坏问题,这对生产系统来说是致命的。根据HSQLDB的创建者的说法,这些问题现在应该得到解决。也许Liferay的文档还不是最新的?

因为HSQLDB非常灵活,它可以用于非常快速的配置中,但对于数据持久性来说不是很好。出于演示目的,一些供应商已经以这种方式配置了HSQLDB

一般来说,如果您使用HSQLDB版本1.8.1.3或2.1.x(取决于Liferay使用的主要版本),并将其作为服务器运行(而不是在进程中),那么它应该可以正常工作

通过修改应用程序中的HSQLDB连接URL,可以非常简单地更改配置

您可以添加数据库备份过程以获得最大的可靠性


根据存储的数据量,您可能希望切换到基于磁盘的表,这些表比基于内存的表消耗更少的内存。这可以在现有数据库服务器上完成。

公平地说,这些损坏主要是由于用户没有正确阅读手册造成的。如果引擎正确关闭,几乎不会出现任何问题。这可能是真的,但我不记得上次为了防止数据损坏而担心正确关闭Oracle数据库是什么时候了。我只是猜测,但这可能是Liferay建议不要使用HSQLDB的一个很好的理由,因为他们对此类支持案例不感兴趣……在最新版本中,异常进程终止或崩溃只会导致最后半秒(如果关闭写延迟,则为零)的数据丢失量。几年前情况并非如此,我只是想让你知道:到目前为止,HSQLDB仍在运行,没有出现任何问题。