当前位置:  开发笔记 > 编程语言 > 正文

Java嵌入式数据库比较

如何解决《Java嵌入式数据库比较》经验,为你挑选了9个好方法。

我打算开发一个小型(Java)应用程序来管理我的财务状况.我相信我需要使用嵌入式数据库,但我对此问题没有经验.我试着看一些可用的产品,但我无法决定哪一种更适合我.H2,HSQLDB,Derby和Berkeley DB似乎都是不错的候选者,但我仍然看不出他们如何相互比较.感谢您帮助我们比较它们并帮助我决定使用哪一个.

我打算在我的应用程序中使用Hibernate(除非你建议使用DBMS提供的API),但我也希望能够使用SQL浏览工具(修改模式和更改数据)轻松编辑数据库.

谢谢.



1> Sven Lilient..:

HSQLDB - 由OpenOffice使用,经过测试且稳定.它易于使用.如果要编辑db-data,只需打开文件并编辑insert语句即可.

要么

H2 - 据说更快(由开发人员,最初设计hsqldb)

您使用哪一个取决于您,具体取决于您需要多少性能和多少稳定性.

H2的开发人员提出了一个很好的性能评估:http:
//www.h2database.com/html/performance.html



2> Chris Dail..:

我使用Apache Derby几乎满足了我所有的嵌入式数据库需求.您也可以使用基于Derby的Sun的Java DB,但最新版本的Derby更新.它支持许多商业本机数据库支持的选项,但是更小,更容易嵌入.我有一些数据库表,超过一百万条记录没有问题.

大约3年前我曾经使用过HSQLDB和Hypersonic.它当时有一些主要的性能问题,由于这些问题,我从它切换到Derby.即使在Apache的孵化器中,Derby也很稳固.


@Hooli我无法证明这些错误,但是“ ...最近的更新是几年前”是不正确的。相对于您发表评论的时间(_August 2016_):在不到一年的时间(_October 2015_),在两个月后的(_October 2016_)之后的发布以及在一年后的时间(_October 2017-Latest_)之前的发布)。

3> Rohan Karwa..:

我需要在我的一个项目中使用Java嵌入式数据库,我做了很多研究,了解每个数据库的优缺点.我写了一篇博客,列出了流行的嵌入式java数据库(H2,HSQLDB,Derby,ObjectDB,Neo4j,OrientDB)的优缺点,你可以看看它.我选择了H2,因为我认为它最符合我的要求.博客链接:http://sayrohan.blogspot.in/2012/12/choosing-light-weight-java-database.html 希望它有所帮助!



4> K2J..:

我会选择H2,性能比德比要好得多.有关详细信息,请阅读http://www.h2database.com/html/performance.html.



5> Wookai..:

HSQLDB是一个很好的候选者(事实上它在OpenOffice中使用可能会让你们相信),但对于这样一个小型的个人应用程序,为什么不使用对象数据库(而不是经典的关系数据库)呢?

我在我的一个项目中使用过DB4O,我对此非常满意.面向对象,你不需要整个Hibernate层,可以直接插入/更新/删除/查询对象!而且,你不需要担心架构,你直接使用对象,DB4O做其余的事情!

我同意可能需要一些时间来习惯这种新型数据库,但请查看DB40教程,了解它如何轻松地使用数据库!

编辑:正如评论中所说,DB4O自动处理新版本的类.此外,还可以在此处找到用于浏览和更新应用程序外部数据库的工具:http://code.google.com/p/db4o-om/


谢谢.DB4O看起来很适合这么小的项目,但我相信在应用程序之外浏览和编辑数据的能力非常重要.处理更新版本的类也会很容易吗?(例如添加/删除字段)

6> Stu Thompson..:

Java DB(Sun的Apache Derby发行版)现在 JDK 6中发布!

我一直想做像Jason Cohen这样的事情,并且一直认为这看起来像是JDK发行版中最简单的方式(上周哪个版本现在是我的应用程序的要求).或者也许我只是懒惰.



7> Jason Cohen..:

我们在生产中使用HSQLDB作为我们应用程序的"无配置"选项.它允许人们在没有设置真实数据库的麻烦的情况下进行试用.

但是我们支持正常使用.原因有几个:

    与数据大小成比例减慢.

    很难在我们的应用程序外访问(例如,用于自定义报告).

    事务/磁盘同步很难正确,因此很容易丢失数据.

对于至少(2)和(3),有很多方法,但它很难; 安装MySQL要容易得多.



8> devstopfix..:

neo4j是:

嵌入式,基于磁盘的完全事务性Java持久性引擎,用于存储以图形而非表格形式构建的数据

我还没有机会尝试它 - 但看起来很有希望.请注意,这不是SQL数据库 - 您的对象图是为您保留的 - 因此它可能不适合您现有的应用程序.



9> Uros Majeric..:

可在此处找到良好的比较工具:http://www.jpab.org/All/All/All.html

另请注意DBMS/JPA比较的头对头

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有