A web application is too broad a term to be useful. Generally, any mainstream database will do. You might want to read a database comparison charts. If you already have some experiences setting up and administering a database, that would be your obvious choice.
And while MsSQL - if you actually mean MS SQL Server - is not Open Source (it is Microsoft's), if offers a free (albeit a little bit limited) edition you could use as well, and so do some other database vendors.
I personally like databases which use multiversioning for concurrency, such as PostgreSQL (open-source) or Oracle (commercial, but with a limited free edition available), because they make use of fewer locks and this decreases deadlocks and locking problems in general. On the other hand, Oracle is sometimes said to be difficult to manage.
Chetan Dorle wrote:Hi All,
I wanted suggestion from you guys that which Database i should use for the web application.
I searched for some free (open source ) databases like MySQL , but i don't know their advantages/disadvantages over one another.
Please suggest some best open source databases which i can use for my web application.
Also another doubt is that Is MsSQL is open source ?
Thanks in advance....
This is impossible to answer in a forum like this. You will have to research each open source database to see if it meets your needs. I can only relate my experience. I've been using PostgreSQL happily for almost 10 years. One thing I have found is that other open source projects (Drupal, Liferay) often assume you are using MySQL or a proprietary database and so the scripts and especially plugins have some syntax wrong for the PostgreSQL branches. From my experience, Hibernate/JPA work seamlessly with PostgreSQL.
Chetan Dorle wrote:I suppose Microsoft SQL express edition is free . Is this edition can be used for large web application... ?
This page might help. You're limited to one CPU of four cores max, 1 GB of memory and 10 GB of total database size. It's debatable what "large" means, but generally I'd be afraid that a large web application would hit some of these limits.
At the same time, I'd expect a large application to use professional hosting services. It can be a demanding task to manage all the infrastructure (and a large application means 7x24, right?).
I'd say that page explains it better than me, but: the Express Edition will use only one CPU (one socket), and it will not use more than four cores on a CPU. So if you have a server with two CPUs, or one CPU with, say, 8 cores (each CPU "core" can execute a thread, so in theory there could be 8 different threads running at once on such CPU), the database won't utilize them fully. If you have one dual-core or quad-core CPU, it will be utilized fully.
Similarly, even if you have a lot of memory installed, the Express Edition won't use more than 1 GB of available memory. You can, however, have more memory and CPU power and simply run other things (web server, app server) in the remaining space (I'm not a system architect, not sure this is a good idea, I just say it is technically and legally possible).
I'm not sure how this applies if you run the thing on a virtualized platform.
These limitations are in place to force you buy a licence for serious business (ie. once you outgrow these limits). If you go this path and hit the limits, you might be pretty much forced to pay. I'm not sure you could simply throw in a new instance of Express Edition server (assuming it would even be technically feasible), you'd better read a licence agreement first.