I have created a simple (commercial) WPF application and want to distribute it with a database that can be installed on the local machine of a customer.
What database is the best to use ?
I was considering SQL Server Epress Edition 2008. I know the limitations of 10 GB, but that’s more than enough and is no issue.
The only thing I’m not choosing 100% for Express is that I don’t know how to let my customer backup the database.
My collegues keep telling me to use MS Access, but I don’t know if that’s a good option because I want to use stored procedures and views.
Please let me know what you are using or you can advise me…
What is the estimated amount of data?
For small databases SQLite may be an good choice – it is light, fast, opensource and needs no additionally software. It even supports encryption, if you need that.
Backup is as easy as it could be, as the SQLite-database consists of a single file.
That size should be no problem for SQLite. We use databases up to several GB. Only problem on big databases is, that vacuum (like reorg / compress unused space) takes as longer as bigger the database is (but that is the same for other database-types)
You could get problems with High Concurrency (lots of parallel database-access). Also I would consider an client-server oriented database-manager if your workload is so heava that you think about moving your database-manager to another server – splitted from application-server.
But as you considered using SQL Server Express or MS-Access, which have limited functionality too, that should not be the problem. On the other side you have the advantage that you need just an small dll (or compile it static into one of you own) instead of installing an complete database-manager.