Saas系统数据隔离方案

数据库技术
417
0
0
2022-03-28

一般来说,数据隔离分为三种方式,分别是独立数据库、独立表空间、共享表按字段区别。下面分别说明这三种方案。

独立数据库

这种方案是每个租户独立数据库系统,应用可以独立,也可以共享。这种方案的用户数据隔离级别最高、安全性最好,但成本比较高。

独立表空间

这种方案的实现方式是所有租户使用一个数据库,但是每个租户拥有一个独立的表空间,每个表空间中的数据结构基本相同。这种方案的数据隔离与上一个比稍次些,安全性也不错。

共享数据表,用ID来区别租户

这种方案的实现方式是每个业务表,都加上了一个租户ID,用于区别是哪个租户的。这种方式安全性最差,成本最低,所以在应用层代码上要求就非常严格,必须传入租户ID。

那么究竟该怎么使用和选择呢?

主要是与业务有关,比如系统主要是为企业用户提供服务的,建议使用第二种方式,当然如果不差钱,最好使用第一种。让每个企业之间的数据隔离。

如果是为普通用户提供的服务,业务上比较简单,建议使用第三种即可在代码上做强制ID校验。