哪个数据库会证明有效?

时间:2009-10-22 14:06:37

标签: java mysql database database-management

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

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

我寻找的功能将是

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

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

  • 数据存储容量

  • 支持

  • 显然是成本因素。

我们将非常感谢所有宝贵的建议。在此先感谢: - )

  

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

7 个答案:

答案 0 :(得分:3)

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

我的个人经历:

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

  2. 我没有发现Oracle值得付出代价。我在一个支付费用的地方工作,但仍然花了很长时间才知道JDBC驱动程序中的数据错误(仍然没有修复,最后我检查过)。

  3. 我的MySql用法很简单 - 如果您需要复杂功能,请检查以确保支持

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

除了MySQL,Postgresql和MS SQL Server之外,您可能还想查看Apache Derby(又名IBM Cloudscape,又名JavaDB)。它非常便携:数据库代码只是一个jar文件;数据库文件也可以从一个平台复制到另一个平台而没有任何问题。它支持SQL99 and SQL-2003 standardsin memory databases,可以用作嵌入式数据库或网络数据库。它没有自带的用户界面,您可以从众多JDBC SQL前端中选择一个,例如Squirrel SQLAqua Data StudioSQL Developer(以及其他)。可以在IBM's web site找到更多参考资料。

我也同意这里的其他海报,甲骨文不值得花钱或头疼。一个值得注意的问题是它的JDBC驱动程序返回日期的非标准对象,因此您的Java代码需要包含Oracle特定的黑客攻击。

答案 3 :(得分:1)

您可以查看Firebird

答案 4 :(得分:0)

我更喜欢MS SQL Server的速度,支持等大多数Windows主机以象征性的费用提供MS SQL支持。 这是一个免费的GUI SQl管理器 http://sqlmanager.net/en/products/mssql/manager/download SQl Server管理工作室也在那里 :)

答案 5 :(得分:0)

Java,Hibernate和Spring几乎可以与任何数据库一起使用。像Squirrel这样的工具也简化了DB之间的DB管理。

关键是成本。我推荐PostgreSql。它非常出色:具有庞大的数量,强大的功能列表,拥有可靠的用户社区,并且是免费/开源的。

答案 6 :(得分:0)

我建议你

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