一般来说,数据隔离分为三种方式,分别是独立数据库、独立表空间、共享表按字段区别。下面分别说明这三种方案。
独立数据库
这种方案是每个租户独立数据库系统,应用可以独立,也可以共享。这种方案的用户数据隔离级别最高、安全性最好,但成本比较高。
独立表空间
这种方案的实现方式是所有租户使用一个数据库,但是每个租户拥有一个独立的表空间,每个表空间中的数据结构基本相同。这种方案的数据隔离与上一个比稍次些,安全性也不错。
共享数据表,用ID来区别租户
这种方案的实现方式是每个业务表,都加上了一个租户ID,用于区别是哪个租户的。这种方式安全性最差,成本最低,所以在应用层代码上要求就非常严格,必须传入租户ID。
那么究竟该怎么使用和选择呢?
主要是与业务有关,比如系统主要是为企业用户提供服务的,建议使用第二种方式,当然如果不差钱,最好使用第一种。让每个企业之间的数据隔离。
如果是为普通用户提供的服务,业务上比较简单,建议使用第三种即可在代码上做强制ID校验。