我想为数据库实现多租户架构。计划是拥有相同的数据库,但其中有模式,它将为每个租户重复相同的表、存储过程、触发器等。租户将被映射到一个模式,添加一个租户就像添加一个模式。
并且根据子域,我将找出租户并将信息拉/推到相应的数据库模式。
但是,在寻找实现相同方法的方法时,我遇到了许多文章和博客,我很困惑“模式”这个词在我的上下文中是否正确,还是我应该去联邦?如果我必须去联邦 - 这是否意味着每个租户都将是一个联邦成员,它将被映射到一个模式?
有人可以再解释一下吗?
我想为数据库实现多租户架构。计划是拥有相同的数据库,但其中有模式,它将为每个租户重复相同的表、存储过程、触发器等。租户将被映射到一个模式,添加一个租户就像添加一个模式。
并且根据子域,我将找出租户并将信息拉/推到相应的数据库模式。
但是,在寻找实现相同方法的方法时,我遇到了许多文章和博客,我很困惑“模式”这个词在我的上下文中是否正确,还是我应该去联邦?如果我必须去联邦 - 这是否意味着每个租户都将是一个联邦成员,它将被映射到一个模式?
有人可以再解释一下吗?
SQL Azure 联合可能会为您解决问题,但可能会意外创建一个扇出查询,其中将查询多个数据库并无意中混合结果。如果您想完全分离架构,避免因代码错误而意外混合数据,您将需要多个不同的 SQL Azure 数据库或架构。您需要在新租户加入时对其进行配置。这是关于该主题的一个很好的链接:http: //geekswithblogs.net/hroggero/archive/2011/10/05/solving-schema-separation-challenges.aspx来自 SQL Azure MVP 之一
我为 BusinessCloud9.com 写了一些可能感兴趣的短系列文章:
http://www.businesscloud9.com/user/2688
(如果您忽略关于 SQL Azure 数据库中表数的错误声明,我将不胜感激!不幸的是,我无法编辑有问题的帖子来修复它)