【发布时间】:2010-03-31 10:57:10
【问题描述】:
我目前正在开发一个 C#/ASP.NET 项目,该项目将托管多个不同的电子商务网站,它们都在同一个应用程序中运行。
我使用 LinqToSql(即将迁移到 PLINQO)来访问我的数据库。该数据库包含有关网站结构(页面、...)和产品/订单/用户数据的信息。
我的问题是,我应该为所有网站只使用一个数据库,还是应该为每个新网站创建一个新数据库(相同模型)?
我现在使用的是单个数据库(在某些表中包含 SiteID),但我有一个很大的安全问题,如果出现问题(例如,有人删除了所有产品),我不能只为一个网站备份/恢复数据库在一个网站上),这是应用程序的一项重要要求。
所以我想知道在这种情况下有哪些好的做法? 如果拆分数据库有很大的缺点吗? (如果结构发生变化,我将不得不对几个数据库而不是一个数据库进行更改,但我想我可以制作一个数据库版本/更新系统)。 现有的 CRM 是如何处理这个问题的? 如果数据库服务器托管许多不同的数据库,是否会出现性能问题? 复杂的备份/恢复工具会更好吗?
子问题: 为了简化网站复制,我还可以将纯 CMS 数据(页面、文本等)拆分到一个数据库中,将电子商务数据(产品/类别/订单在另一个数据库中)拆分。这是个好主意吗? 它可以通过一些选择/插入功能来实现,但当然只复制一个数据库会更容易。
PS:对不起我的大约。英语;)
【问题讨论】:
标签: .net asp.net database linq content-management-system