SaaS多租户与数据隔离

SaaS(Soft as a Service)软件即服务,是一种软件架构技术。在同一个服务器下运行单个应用实例,为多个租户提供服务,并实现租户间的数据隔离。

SaaS多租户实现的三种方案

  1. 独立数据库:一个租户一个数据库。
    安全性和隔离性最高,成本也最高。适用于租户少,对隔离性要求高的租户,如医院和政务
    优点:1.数据完全隔离
    2.满足个性化定制需求

    缺点: 1. 软硬件成本高,维护成本高
    2. 重复的基础数据和一致性问题
    3. 跨租户统计难度大
    4. 升级维护复杂度高

  2. 共享数据库,Schema隔离(逻辑隔离)
    共享一套基础设施。如mysql,同一套数据库服务器中,不同的租户即不同的database。适用于中小型SaaS平台。
    优点:1. 节约服务器成本
    2. 数据库易于维护

    缺点:1. 跨租户统计难度大
    2. 高负载时,资源竞争影响其他租户性能
    3. 访问时,需要自定义database路由

  3. 共享数据库,共享Schema
    多租户数据存储在同一张表中,用租户id字段区分。适用于产品原型展示,初创型企业快速交付。
    优点:1.成本低
    2.方便统计

    缺点:1. 隔离性和安全性差
    2. 租户定制化难度大,如部分租户要加字段

多租户数据隔离方案选型原则

SaaS多租户与数据隔离_第1张图片

多租户系统架构模型SaaS多租户与数据隔离_第2张图片

你可能感兴趣的:(sass)