多租户数据库方案
1.独立数据库
独立数据库:每个租户一个数据库
优点:为不同租户提供独立的数据库,有助于简化数据库模型的扩展涉及,满足不同租户的独特需求;如果出现故障,回复数据比较简单。
缺点:增多了数据库的安装数量,随之带来维护成本和购置成本的增加
属于私有化部署,设备成本高,隔离性好,但是成本较高
2.共享数据库 独立Schema
同一个数据库不同的库
优点:为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并非全部隔离。每个数据库可以支持多的租户数量
缺点:如果出现故障,数据恢复比较困难,因为恢复数据将涉及到其他租户的数据;如果需要跨租户统计数据,存在一定的困难
3.共享数据库 共享数据表
共享数据库 共享数据表 既租户用一个database,同一个数据库表(所有租户的数据都存在同一个数据库的同一套表中),在表中增加租户id等租户标识字段,表明该记录属于哪个租户
优点:所有租户使用同一套数据库,所以成本低廉
缺点:隔离级别最低,安全性最低,需要开涉及开发时加大对安全的开发量,数据备份和恢复最为困难。
这种方案和传统应用的数据库涉及并没有任何区别,但是由于所有租户使用相同的数据库表,所以需要做好对每个租户数据的隔离安全性处理,这就增加了系统涉及和数据管理方面的复杂度