最适合 Java 桌面应用程序的数据库是什么
以下哪个数据库最适合大型桌面应用程序:Firebird、JavaDB、hsqldb? 我需要性能、易用性和完全免费的许可证。
Which of the following databases is best for a big desktop application: Firebird, JavaDB, hsqldb ?
I need performance, easy of use, and totally free license.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
如果您正在寻找可嵌入的数据库,我的建议是 H2 (代表 Hypersonic 2、由HSQLDB的作者(重新)编写)。请参阅功能的详细比较和表演。
在我看来,使用 100% Java 数据库将允许在同一进程中运行它,并使事情变得更加容易。
If you're looking for an embeddable database, my recommendation would be H2 (stands for Hypersonic 2, (re)written by the author of HSQLDB). See the detailed comparison of features and of performances.
Using a 100% Java database would allow to run it in the same process and make things a lot easier IMO.
让我向您推荐 Postgres (http://www.postgresql.org/
),这是我所知道的最好的免费软件数据库之一。
我在之前的项目中曾有过使用此数据库的经验,其中我们在模式中保存了约 20 个表,最大的表有约 100,000 行,总数据量并没有那么大。
该项目已经在生产环境中运行了两年多,没有出现任何特殊问题。
谢伊
Let me recommend you on Postgres (http://www.postgresql.org/
), which is one of the best freeware DB's I know.
I had an experience with this DB in my previous project, in which we held ~20 tables in the schema, the largest table had ~100,000 rows, and the amount of total data was not that big.
This project is running in production for more then 2 years, and there weren't any special problems with it.
Shay
我的推荐是H2。我最近迁移了一个数据库(来自 MS SQL Server),其中包括 2 个较大的表,每个表托管超过 200 万行。首先,我尝试了 Derby,但遇到了问题(不仅仅是性能) - 然后我切换到 H2 并成功迁移了所有内容。
My recommendation is H2. I recently migrated a db (from MS SQL server) including 2 larger tables hosting >2 million rows each. First I tried Derby and had issues (not only performance) - then I switched to H2 and migrated everything successfully.
我认为使用嵌入式数据库会更好。 HSQLDB 或 H2 都可以,SQLite 也可以。 SQLite 在 Java 世界之外非常流行(例如,Mozilla 项目就使用它)。我对 JavaDB 不熟悉,所以无法谈论它的功能。
SQLite 众所周知速度相当快。
I think you'll be better off with an embeddable database for this. HSQLDB or H2 would work, as would SQLite. SQLite is quite popular outside the Java world (it's used by the Mozilla project, for instance). I'm not familiar with JavaDB, so I can't speak to its capabilities.
SQLite is known to be pretty fast.
Firebird 是非常好的数据库,特别是对于桌面应用程序
有很好的java驱动程序。
Firebird is very good database especially for desktop application
There is good java driver.
取决于要求和数据量。我最后的选择是MySQL,它非常舒服(swing app)
Depends on requirements and data amount. My last choice was MySQL and it was very comfortable (swing app)
我会选择一个非 Java 特定的 DBMS。有一天,您可能希望与 C++ 或 .NET 应用程序共享您的数据。如果不需要客户端/服务器,请考虑 SQLite 或 H2。如果确实如此,请考虑 Postgres。所有这些都有 ODBC 驱动程序和/或除 Java 之外的特定语言的驱动程序。
I would go for a DBMS that is not Java-specific. You may want to share your data with a C++ or .NET application some day. If it does not need to be client/server consider SQLite or H2. If it does then consider Postgres. All of these have ODBC drivers and/or drivers for specific languages other than Java.