做为SaaS的基本特征,多租户对系统的很多方面都产生了很多深远的影响.就数据层面的架构来说,基本上分成了多租户共享单一数据库、单一租户独享单一数据库以及介于两者之间的单一数库下的单一租户独享单一schema三种方案。这篇文章
http://msdn.microsoft.com/en-us/library/aa479086.aspx 对三种架构方案做了全面和细致的分析,里面提到的pattern都是非常实用的(特别是Name-Value Pairs模式)。让我印象最深刻的是,本文在分析每种方案的利弊和适用场景时,视野宽广,目光长远,考虑到了很多过去我自己没有想到过的因素。比如在谈到数据安全时,作者举例说对于某些类型的租户对数据安全是非常关切的(比如银行),这一类用户是很难容忍将自己的数据与其他租户放在一起的。再比如是否会考虑为租户提供数据备份与恢复的增值服务供需要的租户购买。还有就是综合预期产品未来的租户数量(10个和1000就会有质的不同),平均每个租户的数据量,以及单一租户的并发访问量等等.这些都会影响到方案的选择.总之这是一篇关于多租户Multi-Tenant数据架构方面非常全面的文章!