Java桌面应用程序最好使用什么数据库

Java桌面应用程序最好使用什么数据库,java,database,firebird,Java,Database,Firebird,以下哪个数据库最适合大型桌面应用程序:Firebird、JavaDB、hsqldb? 我需要性能、易用性和完全免费的许可证。取决于要求和数据量。我最后一个选择是MySQL,它非常舒适(swing应用)让我在Postgres上推荐你( ),这是我所知道的最好的免费数据库之一 在我以前的项目中,我有过使用这个数据库的经验,在这个项目中,模式中有20个表,最大的表有100000行,总数据量没有那么大 该项目已投入生产两年多,没有任何特殊问题 Shay如果您正在寻找一个嵌入式数据库,我的建议是(代表高超

以下哪个数据库最适合大型桌面应用程序:Firebird、JavaDB、hsqldb?
我需要性能、易用性和完全免费的许可证。

取决于要求和数据量。我最后一个选择是MySQL,它非常舒适(swing应用)

让我在Postgres上推荐你( ),这是我所知道的最好的免费数据库之一

在我以前的项目中,我有过使用这个数据库的经验,在这个项目中,模式中有20个表,最大的表有100000行,总数据量没有那么大

该项目已投入生产两年多,没有任何特殊问题


Shay

如果您正在寻找一个嵌入式数据库,我的建议是(代表高超音速2,由HSQLDB作者重新编写)。请参阅的和


使用100%Java数据库将允许在相同的过程中运行它,并使事情变得更容易。

我认为使用嵌入式数据库会更好。HSQLDB或H2也可以工作。SQLite在Java世界之外非常流行(例如,Mozilla项目使用它)。我不熟悉JavaDB,所以我不能谈论它的功能


众所周知,SQLite速度非常快。

我会选择一个不特定于Java的DBMS。您可能希望有一天用C++或.NET应用程序共享您的数据。如果它不需要是客户机/服务器,则考虑SQLite或H2。如果是这样,那么考虑PiggRs。所有这些都有ODBC驱动程序和/或用于Java以外的特定语言的驱动程序。

是非常好的数据库,尤其是用于桌面应用程序


有很好的java驱动程序。

我推荐H2。我最近迁移了一个db(来自MS SQL server),其中包括两个较大的表,每个表都托管>200万行。首先,我尝试了Derby,但遇到了一些问题(不仅是性能问题),然后我切换到H2并成功地迁移了所有内容。

这个问题也有一些很好的讨论:如果他正在发布一个桌面应用程序,那么不让用户安装单独的数据库应用程序可能是有利的,因此OP给出了JavaDB和hsqldb的建议,这两种数据库都可以嵌入Java应用程序中。不过,我不确定Firebird是如何融入其中的。当然,这绝不是对Postgres的挖苦,在我看来,无论何时需要数据库:桌面还是服务器,Postgres都是显而易见的选择。@BalusC我放弃了hsqldb和javadb而选择H2,我只是喜欢它。而且它(可以“表现”像Oracle、DB2等)对于测试来说非常棒。我必须承认我不知道它代表高超音速2。这迟早会成为一个新的玩物:)+1项目维护良好,作者经常参与在这个场景中H2与Derby相比如何?好的,我在Firebird和H2之间进行选择,这两者中的哪一个更好?特别是对于“大型桌面应用程序”。Firebird可扩展到数百GB甚至更高。