1. 多租戶概念
多租戶是一種軟件架構技術(單實例架構),是實現如何在多用戶(面向企業用戶)環境下公用相同的系統或程序組件,並且確保各用戶間數據的隔離性。核心就是在同一套程序下實現多用戶數據的隔離性。
2. 數據隔離方案(以Mysql為例)
A. 獨立數據庫,相同的表:即一個租戶一個數據庫,該方案的用戶數據隔離級別最高,安全性最好,但成本較高。
優點:為不同的租戶提供獨立的數據庫,可滿足不同租戶的獨特需求,如果出現故障,恢復數據比較簡單;
缺點:數據庫變多了,維護成本也變高了。
B. 共數據庫,共表:這個需要在表中增加租戶字段tenantId來區分不同租戶的數據。
優點:維護成本低;
缺點:隔離級別低,安全性低,數據備份和恢復較困難。
3. 實現方案資料可參考:多租戶SQL解析器