我最近正在考虑开发一个使用H2数据库作为其主数据库的应用程序(因为它附带了JBoss),但我有点担心这一点.我在一些地方(主要是讨论板)看到,在生产中不应该使用H2.有没有具体的原因呢?
我最近正在考虑开发一个使用H2数据库作为其主数据库的应用程序(因为它附带了JBoss),但我有点担心这一点.我在一些地方(主要是讨论板)看到,在生产中不应该使用H2.有没有具体的原因呢?
不使用H2(或HSQLDB或Derby)进行生产的主要原因是:
关键错误的概率:与"大"数据库Oracle、IBM DB 2、MS SQL Server、MySQL、PostgreSQL相比,Java数据库相对较新,因此可能不太稳定(有错误).请注意,这适用于所有较新的产品,包括NoSQL数据库和新版本的"大"数据库.一般来说,一个产品被测试的次数越多,出现错误的可能性就越小.当然,这取决于您的用例,为这个优势支付(可能是很多钱)是否合理.在任何情况下,您都需要备份数据,例如在硬件故障的情况下.
缺少功能和优化:"大"数据库有更多针对特殊用例的功能和优化.您是否需要这些功能由您决定.
商业支持:更容易获得对更 Big Data 库的支持.也请注明commercial support is available for H2美元.HSQLDB还Provider 业支持.IBM曾经提供对Apache Derby(嗯,IBM Cloudscape)的支持,但我相信它们已经停止了.