We are trying to start a web base project that need to develop based on MS technologies such as C#,.net, IIS etc. This is a web application suppose to sell as a product with a single installer.
Now we are discussing which kid of database we are going to use.
Some says non-embedded database
(Ms Sql) Some of them idea is to use embedded databases
.
So we are in a bit of confusion stage for a batter decision.
Can you guys give some feedback according to your experience. then that will help us to come up with a good decision.
In simply what is need is When to use non-embedded over embedded databases?
Edit : Anyway We have technical understanding about how to use Non-embedded database such as MS Sql Server or Embedded database. What I need is, Conceptually in which situations usually we prefers each type of databases and what are the pros and cons of using each types.
1
If you’re hosting the product on your server, then you might create a database for each subscriber, and a master database with a table of subscribers. This isn’t ’embedded’, but the databases (file systems) are separate.
If you’re creating a package that will be distributed, such that you are creating web-enabled applications that run on user’s servers, then you have to determine whether the users would reasonably expect to have a DBA as an employee or contractor. If they would, you would want them to install the database first, according to their server configuration. If they already have SQL Server used in other applications, they will merge this one with their others, if appropriate.
If you’re creating a package that users will run on their own servers, but they wouldn’t reasonably have a DBA, then you want to embed the database. In this case the user is only dimly aware that a database is part of the installation – it occurs automatically and your installer program is responsible for setting it up. This means your app will need to include some administrator tools for database backup, database repair, index rebuilds, etc.
If you distribute a product with an embedded database, be prepared to offer expanded support. Invariably people will get into trouble, and they’ll need a responsive support resource, and are usually willing to pay for it once it’s determined that the problems are something you couldn’t have anticipated.
2