Hi,
I'm currently working on an C#/ASP.NET project that will host several differents e-commerce websites, all running in the same application.
I use LinqToSql (moving to PLINQO soon) to access my database. The database contains both informations on the website structure (pages, ...) and the products/orders/users data.
My question is, should I use only one database for all the websites, or sould I create a new database (same model) for every new website?
I'm now using a single database (with SiteIDs in some tables) but I have a big security concern, I can't just backup/restore the database for ONE website if something goes wrong (e.g. somebody erase all the products on ONE website) and it's an important requirment of the application.
So I was wondering what are the good practices in that case? Is there big cons if splitting dbs? (I would have to make changes to several database instead of one in case of structural changes, but i guess i can make a db version/update system). How the existing CRMs are dealing with that? Is it a performance problem if a database server host a lot of different DataBases? A complex backup/restore tool would be better?
Subquestion: To make a website replication easy, I can also split the pure CMS data (Pages, Texts, ...) in one DB and the e-commerce data (products/categories/orders in another). Is it a good idea? It can be achieved by some select/insert functions but it would be easier by just copying a database of course.
PS: sorry for my approx. english ;)