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