I have to develop a web application in Java, a pretty big one with loads of data to store and manipulate. I am also planning to use Hibernate and Spring.
There are many databases available now like MSSQL Server, MySQL Server, Oracle, db2, etc.. Which do you recommend?
Features I look for would be
Java - database connection should be efficient and easy to implement
good user interface for Database Server Management
data storage capacity
support
and obviously the cost factor.
All valuable suggestions would be appreciated. Thanks in advance :-)
Edited: The web application will be hosted on a Linux Server.
Everything works with Java, and you can get support for anything if you pay for it.
My personal experience:
Are your servers Windows machines? If not, MSSQL is out. Otherwise MSSQL has pretty decent GUIs. I haven't tried working with it and Java -- the Visual Studio support for developing with it is very good.
I haven't found Oracle to be worth the cost. I worked at a place that paid for support and still it took them forever to acknowledge data-munging bugs in the JDBC driver (still not fixed, last I checked).
My MySql usage is simple -- if you need complex functionality, check to make sure that it's supported
My 2 cents: stick with MySql or Postgres, simple SQL and try not to make any stored procedures or use proprietary SQL. If you find that you outgrow it, it will be a trivial port.
The more you try to take advantage of the proprietary features, the more you will be locked in.