2010-03-31 67 views
1

我目前正在开发一个C#/ ASP.NET项目,它将托管几个不同的电子商务网站,所有这些网站都运行在同一个应用程序中。CMS /电子商务asp.net项目:一个数据库还是多个数据库?

我使用LinqToSql(即将移动到PLINQO)来访问我的数据库。数据库包含关于网站结构(页面,...)和产品/订单/用户数据的信息。

我的问题是,我应该只为所有网站使用一个数据库,还是应该为每个新网站创建一个新数据库(相同型号)?

我现在正在使用单个数据库(在某些表中使用SiteIDs),但我有一个很大的安全问题,如果出现问题,我不能只备份/恢复数据库的一个网站(例如,某人删除了所有产品在一个网站上),这是应用程序的一个重要要求。

所以我想知道在这种情况下有什么好的做法? 分裂dbs有没有大缺点? (我将不得不对一些数据库进行更改,而不是一个在结构更改的情况下,但我想我可以做一个数据库版本/更新系统)。 现有CRM如何处理? 如果数据库服务器托管许多不同的数据库,这是性能问题吗? 复杂的备份/恢复工具会更好吗?为了简化网站复制,我还可以在一个数据库和电子商务数据(产品/类别/订单在另一个数据库)中拆分纯粹的CMS数据(页面,文本,...)。这是个好主意吗? 它可以通过一些选择/插入功能来实现,但只要复制一个数据库当然会更容易。 PS:对不起我的约。英文;)

回答

1

如果你担心所有的网站在一个数据库中,你可能已经回答了你的问题。当我曾经将它们都放在一个数据库中时,我曾经明确表示将数据库发送给它们会花费很多。

我想,如果你的客户想要定期访问原始数据,你需要将数据拆分出来。但是,如果没有,那么你应该没问题。

就数据库更新而言,您应该拥有用于更新的脚本,以便从测试系统到实时系统,以便在其他系统上运行应该没问题。但是它会产生开销。

总之,没有正确或错误的答案,如果你可以保持在一起,并保持客户的满意,那么这样做,否则拆分和收取额外的客户端。

+0

感谢您的回复,我决定拆分我的数据库,因为这是将数据发送到客户端的安全性/能力的最便捷方式。现在我很难设计2个数据库(例如,我在哪里存储我的国家/地区列表和其他常见表格),但这是另一个问题;) – Guillaume86 2010-04-01 10:18:18

相关问题