多租户模式是SaaS(软件即服务) 架构的核心设计模式,核心目标是让一套系统同时服务多个租户(客户),并保证租户间的数据隔离与资源共享。根据数据隔离程度和资源共享粒度,主要分为以下三种模式。
1. 共享数据库,共享 Schema(完全共享模式)
这是隔离性最弱、资源利用率最高的模式,如面向C端的SaaS产品。
所有租户共用同一个数据库实例,且共用一套数据表结构。数据表中通过租户 ID(tenantId) 字段区分不同租户的数据,所有 CRUD 操作都必须携带租户 ID 作为过滤条件。
2. 共享数据库,独立 Schema(中等隔离模式)
所有租户共用同一个数据库实例,但每个租户拥有独立的 Schema。租户间的数据通过 Schema 天然隔离,无需在 SQL 中额外添加租户 ID 过滤。
3. 独立数据库(完全隔离模式)
这是隔离性最强、资源成本最高的模式。每个租户拥有独立的数据库实例,数据库之间物理隔离,互不干扰。
备注:MAKU 低代码平台,可同时支持以上三种模式。