首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server 2008推荐采用哪种多租户方法

问SQL Server 2008推荐采用哪种多租户方法
EN

Stack Overflow用户
提问于 2012-12-27 09:48:18
回答 2查看 2.6K关注 0票数 2

我必须使用ASP.NET MVC 3或更高版本和Server 2008。根据多租户数据结构的文章,有三种实现多租户的方法。

  1. 单独数据库
  2. 共享数据库,单独的架构
  3. 共享数据库,共享模式

我有以下细节:

  1. 用户应该能够备份和恢复他们的数据。
  2. 租户编号: 1000 (约)
  3. 每个租户可能属于不同的域(Url)。
  4. 它必须支持对租户的监测和管理。
  5. 它必须支持每个租户的用户身份验证和授权。
  6. 它必须支持租户自定义(启用禁用功能集)
  7. 每个租户的表号: 100 (首字母)

我想知道你的经验如何说,考虑到经济和安全,哪种方法更适合这个项目?是否有类似于此的好的实时示例(开放源码项目)?我可以为这个项目使用一个专用服务器。

EN

回答 2

Stack Overflow用户

发布于 2012-12-27 13:01:07

您的要求,用户应该能够备份其数据,可以更容易实现与约1和2.因为它将是一个本机数据库任务。

如果您使用的是方法3(共享共享),则需要开发逻辑,以提取属于单个租户的所有行,并将其导出到xml文件或类似的文件中。然后,如果需要允许用户恢复备份文件,则需要开发恢复逻辑。

我认为这是唯一的要求,可以让你离开3号。

使用表中的TenantID列设置数据库后.如果您的客户非常关心安全性,您可以很容易地为一个租户或一小群租户使用一个数据库。例如,您可以有一个数据库保存不付费的租户(免费/演示帐户),而在另一个数据库中支付客户。这样,您就可以使用第3种方法,但如果需要的话,可以作为第一种方式来操作。

:奖金:

AUTHENTICATION:您需要扩展MVC3应用程序中使用的SQL成员资格和角色提供程序.因此,用户登录仅在其所属的租户中有效。

多域在这里您可以看到一些使用ASP.NET MVC3路由的方法:MVC 3子域路由

票数 1
EN

Stack Overflow用户

发布于 2012-12-27 10:01:54

我总是使用(3)共享数据库,共享模式。

如果你想要一个例子,那么Wordpress,Joomla或者其他流行的开源网络项目怎么样?

在每个租户的基础上创建单独的模式或数据库将导致大量的管理开销。更不用说分析你的数据、成本等的复杂性了。

您选择(1) (或者可能是2)的唯一原因是如果要让实际租户直接访问某些/所有数据库。由于您使用的是ASP.NET MVC 3,这不是一个考虑因素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14052593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档