租户形式 | 描绘 | 优点 | 缺点 |
NONE (非租户形式) | 没有租户 | 简单、适宜独立系统 | 缺少租户系统的优点 |
COLUMN (字段形式) | 租户共用一个数据库,在业务表中增加字段来区分 | 简单、不复杂、开发无感知 | 数据隔离性差、安全性差、数据备份和恢复困难、 |
SCHEMA (独立数据库) | 每个租户独立一个 数据库(schema),执行 sql 时,动态在表名前增加 schema | 简单、开发无感知、数据隔离性好 | 配置文件中必需配置数据库的 root 账号、不支持复杂 sql 和 sql 嵌套自定义函数 |
DATASOURCE (独立数据源) | 每个租户独立一个数据源,执行代码时,动态切换数据源 | 可独立部署数据库,数据隔离性好、扩展性高、故障影响小 | 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库 |
SCHEMA_COLUMN (独立数据库+字段形式) | 每个租户独立一个 数据库,执行代码时,先动态切换数据源,在动态拼接 子租户id停止二次隔离 | 简单、开发无感知、数据隔离性好、支持大租户小门店形式 | 配置文件中必需配置数据库的 root 账号、不支持复杂 sql 和 sql 嵌套自定义函数 |
DATASOURCE_COLUMN (独立数据源+字段形式) | 每个租户独立一个 数据库(数据源),执行代码时,动态切换数据源,在动态拼接 子租户id 二次隔离 | 可独立部署数据库,数据隔离性好、扩展性高、故障影响小、支持大租户小门店形式 | 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库 |