【问题标题】:Multi tenant database with customized schemas具有自定义架构的多租户数据库
【发布时间】:2012-07-18 18:05:24
【问题描述】:

我正在编写一个多租户应用程序,其中每个租户在数据库或他们自己的数据库中都有自己的架构。因为租户数据是独立的,所以我希望能够通过添加列来自定义他们的表格,或者通过创建额外的视图来满足他们的特定需求。理想情况下,我想在不重新编译代码的情况下进行更改。

这种愿望似乎与 MVC 的工作方式背道而驰。我的问题是,当模式彼此略有不同时,MVC 和多模式、多租户架构可以工作吗?如果是这样,我如何设计允许这些变化的模型?

【问题讨论】:

  • 您可能想查看 FubuMVC mvc.fubu-project.org,它被编写为多租户,每个客户端都需要自定义。
  • @ShaneCourtrille 在他们的网站上搜索“模式”没有返回任何结果。我错过了什么吗?

标签: asp.net-mvc-3 model database-schema multi-tenant


【解决方案1】:

Citus,我们正在使用 PostgreSQL 构建分布式/分片多租户数据库。您可以查看我们的use-case guide,它查看了一个示例应用程序。 我们不按模式分片,而是按租户 ID 分片。然后将表分片到多个节点。对于每个租户的信息,我们使用 JSONB,它允许不同的租户保留不同的租户特定信息。

【讨论】:

    【解决方案2】:

    我想把它扔出去以防你自己没有偶然发现它:

    http://weblogs.asp.net/zowens/archive/2010/05/29/multi-tenant-asp-net-foundation.aspx

    【讨论】:

    • 谢谢,这是一本好书,但没有介绍当每个租户架构中的表不同时如何处理。
    • @Sparafusile 你见过这个:stackoverflow.com/a/3270228/1026898 吗?我从来没有做过你要求的解决方案,我只是想减轻你的痛苦。如果您已经阅读过该内容,对于 Stackoverflow 的小通知让您寄予厚望,我深表歉意。
    • 我认为这与我正在寻找的内容很接近。我以前看过这些链接,但我想它们并没有沉入其中。我会再次查看它们,看看它是否能满足我的需求。
    • 我正在学习更多关于它的知识 - 如果我遇到任何我会更新的东西。就目前而言,它似乎是一种不常见的需求,以至于没有一种超级干净的方法来做到这一点。我认为有必要构建一个工具/NuGet 包来容纳处于类似位置的人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2014-11-02
    • 2011-08-17
    • 2012-06-02
    • 1970-01-01
    • 2021-08-01
    • 2015-11-28
    相关资源
    最近更新 更多