【问题标题】:What is the best database to use for a Java desktop application [closed]用于 Java 桌面应用程序的最佳数据库是什么 [关闭]
【发布时间】:2011-02-13 14:10:17
【问题描述】:

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

【问题讨论】:

标签: java database firebird


【解决方案1】:

如果您正在寻找可嵌入的数据库,我的建议是H2(代表 Hypersonic 2,由 HSQLDB 的作者(重新)编写)。请参阅detailed comparison of featuresperformances

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

【讨论】:

  • @BalusC 我已经放弃了 hsqldb 和 javadb 以支持 H2,我就是喜欢它。而且它的compatibility mode(它可以像 Oracle、DB2 等那样“表现”)非常适合测试。
  • 嘿,这很好。我必须承认,我不知道它代表 Hypersonic 2。那迟早会成为一个新玩具 :)
  • +1 项目维护良好,作者经常参与groups.google.com/group/h2-database
  • 在这种情况下,H2 与 Derby 相比如何?
  • 好吧,我的选择是在 Firebird 和 H2 之间,哪个更好?
【解决方案2】:

让我在 Postgres 上推荐你(http://www.postgresql.org/ ),这是我所知道的最好的免费软件数据库之一。

我在之前的项目中使用过这个数据库,其中我们在模式中保存了大约 20 个表,最大的表有大约 100,000 行,总数据量并不大。

这个项目在生产中运行了 2 年多,没有任何特殊问题。

谢伊

【讨论】:

  • 如果他要发布桌面应用程序,最好不要让用户安装单独的数据库应用程序,因此 OP 给出了 JavaDB 和 hsqldb 的建议,这两者都可以嵌入到 Java 应用程序中。不过,我不确定 Firebird 是如何融入其中的。当然,这绝不是对 Postgres 的挖掘,在我看来,当需要数据库时,这是显而易见的选择:桌面或服务器。
【解决方案3】:

我的建议是 H2。我最近迁移了一个数据库(来自 MS SQL 服务器),其中包括 2 个较大的表,每个表托管 >200 万行。首先我尝试了 Derby,但遇到了问题(不仅仅是性能) - 然后我切换到 H2 并成功迁移了所有内容。

【讨论】:

    【解决方案4】:

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

    众所周知,SQLite 非常快。

    【讨论】:

      【解决方案5】:

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

      有很好的java驱动。

      【讨论】:

      • 特别适用于“大型桌面应用程序”。 Firebird 可扩展到数百 GB 甚至更多。
      【解决方案6】:

      取决于要求和数据量。我最后的选择是 MySQL,它很舒服(swing 应用)

      【讨论】:

        【解决方案7】:

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

        【讨论】:

          猜你喜欢
          • 2011-01-17
          • 1970-01-01
          • 2013-05-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-13
          • 1970-01-01
          相关资源
          最近更新 更多