在把 RAG 做成 SaaS 產品時,多租戶(multi-tenant)設計是核心課題:既要高效共享資源、降低成本;又要保證租戶間資料隔離、可控性與合規性。今天會把設計原則、常見模式、實作細節與運維建議一併整理出來,方便直接帶回產品討論或技術設計會議。
為了讓設計更有層次,常把多租戶隔離拆成幾個維度:
做法:單 DB、單向量庫,使用 tenant_id 做行隔離。
優點:成本最低、維護最簡單、資源利用最高。
缺點:資料隔離風險高、合規限制大、性能單點。
適用:早期產品、非敏感數據、快速驗證市場。
做法:向量庫/檢索服務支援 namespace(或 index per tenant),物理資源共享但邏輯隔離。
優點:兼顧成本與隔離、易於擴展、較易實作多租戶搜索。
缺點:大客戶可能要求更強隔離或性能 SLA。
適用:主流 SaaS 模式,多數企業客戶。
做法:控制平面(auth、billing、UI)共用;數據平面(index、模型服務)對大客戶或敏感租戶做隔離(專用 index / VPC)。
優點:靈活,能依 SLA 調整隔離等級。
缺點:實作較複雜、運維成本中等。
適用:有中大型客戶、需差異化 SLA 的產品。
做法:每租戶一套獨立部署(DB、向量索引、推理節點)。
優點:最高安全與性能隔離,最易符合合規。
缺點:成本最高,擴展複雜。
適用:銀行、醫療、大型企業客戶(高合規要求)。
向量索引是 RAG 的核心,設計時常面對「共享 vs 隔離」的抉擇:
租戶規模 / 需求 | 建議模式 |
---|---|
小型、多租戶 SaaS(低合規) | Namespace shared infra(成本低、部署快) |
中型企業(有 SLA 要求) | Shared infra + per-tenant quotas;大型客戶可提供 dedicated index |
大型/銀行/醫療(高合規) | Dedicated deployment(data plane) + VPC / region isolation |
資料隔離不夠:把所有租戶放同一 index 並只靠 tenant_id
欄位過濾
缺乏審計日誌:忽略操作記錄
資源無限制:沒有 quota/alert
在做多租戶設計時,回答以下問題來決策:
多租戶 RAG 系統的設計核心是在成本、安全、複雜度之間找平衡:
關鍵是從簡單開始,但架構要能向上擴展到更高的隔離需求。
MVP 時間壓力:如果要在 3 個月內上線多租戶 RAG 產品,在技術債務和功能完整度之間如何取捨?
合規邊界問題:當客戶要求「資料不能離開特定國家」時,如何設計自動化的地理隔離部署流程?