我目前正在开发一个C#/ ASP.NET项目,它将托管几个不同的电子商务网站,所有这些网站都运行在同一个应用程序中。CMS /电子商务asp.net项目:一个数据库还是多个数据库?
我使用LinqToSql(即将移动到PLINQO)来访问我的数据库。数据库包含关于网站结构(页面,...)和产品/订单/用户数据的信息。
我的问题是,我应该只为所有网站使用一个数据库,还是应该为每个新网站创建一个新数据库(相同型号)?
我现在正在使用单个数据库(在某些表中使用SiteIDs),但我有一个很大的安全问题,如果出现问题,我不能只备份/恢复数据库的一个网站(例如,某人删除了所有产品在一个网站上),这是应用程序的一个重要要求。
所以我想知道在这种情况下有什么好的做法? 分裂dbs有没有大缺点? (我将不得不对一些数据库进行更改,而不是一个在结构更改的情况下,但我想我可以做一个数据库版本/更新系统)。 现有CRM如何处理? 如果数据库服务器托管许多不同的数据库,这是性能问题吗? 复杂的备份/恢复工具会更好吗?为了简化网站复制,我还可以在一个数据库和电子商务数据(产品/类别/订单在另一个数据库)中拆分纯粹的CMS数据(页面,文本,...)。这是个好主意吗? 它可以通过一些选择/插入功能来实现,但只要复制一个数据库当然会更容易。 PS:对不起我的约。英文;)
感谢您的回复,我决定拆分我的数据库,因为这是将数据发送到客户端的安全性/能力的最便捷方式。现在我很难设计2个数据库(例如,我在哪里存储我的国家/地区列表和其他常见表格),但这是另一个问题;) – Guillaume86 2010-04-01 10:18:18