SaaS中数据可配备性的实现方案

SaaS中数据可配置性的实现方案
摘自《SaaS架构设计》(阿里软件著)

问题的关键在于如何让数据库兼容来自于不同租户的不同扩展字段

有三种方案:
  1. 按需增加字段   -- 为租户A增加一个a字段,为B增加一个b字段 -- 多而杂,不被采用
  2. 预分配通用字段 -- 先定好一个Ext字段,租户A在这里面填入姓名,租户B在这里面填入性别 -- 缺点是预分配字段的个数不好确定
  3. 把横向的数据记录变成纵向的名值对 -- 兼容性最好,但复杂性也最高,由于查询复杂,性能也会很差