0

我必须用 Java 开发一个 Web 应用程序,这是一个相当大的应用程序,需要存储和操作大量数据。我还计划使用 Hibernate 和 Spring。

现在有很多可用的数据库,如 MSSQL Server、MySQL Server、Oracle、db2 等。你推荐哪个?

我寻找的功能是

  • Java - 数据库连接应该高效且易于实现

  • 数据库服务器管理的良好用户界面

  • 数据存储容量

  • 支持

  • 显然是成本因素。

所有有价值的建议将不胜感激。提前致谢 :-)

已编辑:Web 应用程序将托管在 Linux 服务器上。

4

7 回答 7

3

一切都适用于 Java,如果您付费,您可以获得任何支持。

我的个人经历:

  1. 你的服务器是 Windows 机器吗?如果没有,MSSQL 就出局了。否则 MSSQL 有相当不错的 GUI。我没有尝试过使用它和 Java——Visual Studio 对使用它进行开发的支持非常好。

  2. 我还没有发现 Oracle 物有所值。我在一个支付支持费用的地方工作,但他们仍然花了很长时间才承认 JDBC 驱动程序中的数据修改错误(仍然没有修复,最后我检查了)。

  3. MySql 的使用很简单——如果您需要复杂的功能,请检查以确保它受支持

我的 2 美分:坚持使用 MySql 或 Postgres,简单的 SQL,尽量不要制作任何存储过程或使用专有 SQL。如果你发现你超过了它,它将是一个微不足道的端口。

您尝试利用专有功能的次数越多,您被锁定的次数就越多。

于 2009-10-22T14:15:32.470 回答
1

只要数据库设计得当(针对 OLTP 进行规范化,针对 OLAP 进行非规范化),您提到的所有数据库都可以很好地扩展。

在所有其他条件相同的情况下,如果成本是一个很大的因素,那么 MySQL 可能会比其他的便宜。

于 2009-10-22T14:12:23.673 回答
1

除了 MySQL、Postgresql 和 MS SQL Server,您可能还想看看Apache Derby(又名 IBM Cloudscape,又名JavaDB)。它非常便携:数据库代码只是一个 jar 文件;数据库文件也可以毫无问题地从一个平台复制到另一个平台。它支持内存数据库中的 SQL99 和 SQL-2003 标准,可以用作嵌入式数据库或网络数据库。它没有自己的用户界面,您可以从众多 JDBC SQL 前端之一中进行选择,例如Squirrel SQLAqua Data StudioSQL Developer(以及其他)。更多参考资料可以在IBM 的网站上找到。

我也同意这里的其他海报,Oracle 不值得付出代价或头痛。一个值得注意的头痛是它的 JDBC 驱动程序返回非标准的日期对象,因此您的 Java 代码将需要包含 Oracle 特定的 hack。

于 2009-10-22T16:04:33.853 回答
1

你可以检查火鸟

于 2009-10-22T16:55:14.163 回答
0

我更喜欢 MS SQL Server 的速度、支持等 大多数 Windows 主机以象征性的费用提供 MS SQL 支持。这是一个免费的 GUI SQl Manager http://sqlmanager.net/en/products/mssql/manager/download SQl Server management studio 也有 :)

于 2009-10-22T14:17:44.683 回答
0

Java、Hibernate 和 Spring 几乎可以与任何数据库一起使用。Squirrel等工具也简化了跨数据库的数据库管理。

关键是成本。我推荐PostgreSql。它非常出色:容量巨大,功能强大,拥有稳固的用户社区,并且是免费/开源的。

于 2009-10-22T14:37:39.863 回答
0

我建议你

  • 获取DBVisulizer,这是我遇到的用于数据库开发的最佳工具
  • 使用DerbyH2等嵌入式数据库的原型
  • 使用上述数据库之一进行负载测试,以确定它是否足以满足您的生产需求
  • 如果不是,请使用 MySQL 或 Postgres 进行生产。根据您的 Linux 发行版,它们可能会像 'apt-get install mysql' 或类似的东西一样简单安装
  • 在创建对象模型并对其进行调整后,使用Hibernate 工具生成模式,而不是先尝试启动模式,除非您在模式创建方面非常有经验。
于 2009-10-22T22:32:34.890 回答