有什么理由不应该在生产中使用h2数据库吗?

ffscu2ro  于 2022-11-08  发布在  其他
关注(0)|答案(3)|浏览(207)

我最近正在考虑制作一个应用程序,使用h2数据库作为它的主数据库(因为它附带了JBoss),但我对此有点担心。我在一些地方(主要是讨论板)读到,人们不应该在生产中使用h2。有什么具体的原因吗?

kyks70gy

kyks70gy1#

不使用H2(或HSQLDB,或Derby)进行生产的主要原因是:

  • 严重Bug的几率:与“大型”数据库Oracle、IBM DB 2、MS SQL Server、MySQL、PostgreSQL相比,Java数据库相对较新,因此可能不稳定(有错误)。请注意,这对所有较新的产品都是如此,包括NoSQL数据库和“大”数据库的新版本。通常,产品测试得越多,错误的可能性就越小。当然,这取决于你的用例,是否有必要为此付出(可能是很多钱)。在任何情况下,你都需要备份数据,以防硬件故障。
  • 缺少的功能和优化:“大”数据库有更多的特性和针对特殊用例的优化。2是否需要这些特性取决于你自己。
  • 商业支持:更容易获得对更大数据库的支持。请注意,H2也提供商业支持。HSQLDB也提供商业支持。IBM过去曾提供对Apache Derby(嗯,IBM Cloudscape)的支持,但我相信他们已经停止了。
trnvg8h3

trnvg8h32#

根据我的个人经验,H2版本1.2.147似乎非常可靠,在大约60个安装中100%成功,但是我的客户只有相对较小的数据库(400 MB是更大的大小),并且我的程序只使用一个连接(哈哈),直到最近我才开始使用不止一个连接,但使用的是multi_threaded false。我有腐败与一些以前的版本,我害怕尝试较新的版本还没有。

mo49yndu

mo49yndu3#

对我来说,没有理由不将H2DB用于中型项目的生产中。我们为大约15个客户端部署了一个生产系统,所有客户端都使用H2DB,我们体验到了非常简单的安装和备份,而且没有任何关于数据库的问题。

相关问题