当前位置: 首页 > 知识库问答 >
问题:

SQL Server 2008建议使用哪种多租户方法

欧浩淼
2023-03-14

我必须使用ASP。NET MVC 3或以上版本和SQL Server 2008。根据《多租户数据架构》(Multi-Tenant Data Architecture)一文,有三种实现多租户的方法

>

  • 独立数据库

    共享数据库,独立模式

    共享数据库,共享模式

    我有以下细节:

    1. 用户应该能够备份和恢复他们的数据

    我想知道,从经济和安全角度考虑,您的经验表明哪种方法更适合该项目?有没有类似的实时示例(开源项目)?我可以为这个项目使用一台专用服务器。

  • 共有2个答案

    汝志
    2023-03-14

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

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

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

    您选择(1)(或者2)的唯一原因是,如果您要让您的实际租户直接访问部分/全部数据库。当您使用ASP. NET MVC 3时,这不是一个考虑因素。

    百里君博
    2023-03-14

    用户应该能够备份其数据的要求,可以通过方法1和2更容易地实现。。。因为这将是一项本机数据库任务。

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

    我认为这是唯一能让你远离#3的要求。

    一旦您在表中使用TenantID列设置了数据库...如果您的客户端非常担心安全性,您可以轻松地为一个租户或一小组租户使用一个数据库。例如,您可以在另一个数据库中保存未付款的租户(免费/演示帐户)和付款客户。这样,您使用的是方法#3,但如果需要,可以表现为#1。

    奖金

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

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

     类似资料:
    • 根据多租户数据架构的帖子,有3种方法可以实现多租户 > 独立数据库 共享数据库,独立模式 共享数据库,共享模式 我有以下细节: > 用户应该能够备份和恢复他们的数据。 租户数量: 3(约) 每个租户可能属于不同的域(url)。 这里有一些供所有租户共用的桌子。 每个租户中的表数: 10(初始) 我想知道哪种方法更适合我?

    • 问题内容: 仅Java库中就有8个布局管理器,然后还有一堆3rd party产品。 前几天,我尝试使用SpringLayout并…好吧,它对我来说没有用。看到我的另一个问题。所以…如果你有一个Swing应用设计,并希望您的布局 只是这样 ,什么是您的首选布局管理器?有什么有趣/有用的经验可以联系吗? 更新:是的 ,请确保我知道不同的LM适用于不同的布局。但是我希望你们中的大多数人在所做的大部分事情

    • 我正在使用spring 3.0开发一个多租户应用程序,需要根据租户将文件上传到FTP服务器或从FTP服务器下载文件。对于每个租户,我们在同一个FTP服务器中有不同的FTP位置。您能帮助我根据租户使用spring 3配置/更改FTP位置吗。?

    • 我正在使用spring boot开发一个多租户应用程序。 系统的业务逻辑将根据每个租户进行更改。 例如,应用程序上的特定租户租赁空间可能希望改变使用一些复杂的自定义逻辑计算值的方式。我想为应用程序注册默认行为/依赖项,并允许特定租户覆盖它。 这可以使用Spring Boot完成吗?

    • 目前为止,我们已经让用户页面在多租户风格下工作。为使它工作,我们看起来并没有做太多的变化。但请记住,我们正在对一个原来不是多租户的系统作修改。 让我们在 Roles 表应用类似的原则。 再一次,一个租户的用户在不能查看或修改其他租户的角色,每个租户的用户是相互独立工作的。 我们先在 RoleRow.cs 添加 TenantId 属性: namespace MultiTenancy.Administ

    • 问题内容: 我想解析一些HTML,以便找到某些属性/标签等的值。 您推荐什么HTML解析器?任何利弊? 问题答案: NekoHTML,TagSoup和JTidy将允许您解析HTML,然后使用XML工具(例如XPath)进行处理。