- 什麼是多租戶(Multi-Tenant)?
在Multi-Tenant Data Architecture的設計中,資料隔離共有三種架構:
- Separate Database
- Shared Database, Separate Schemas
- Shared Database, Shared Schema
- Separate Database
- 優點:
容易根據用戶的需求來擴展Data Model。
備份和回復資料相對容易。
- 缺點:
每一租戶需提供一個完整的資料庫,維護成本高。
硬體成本較其他兩種solutions高。
- 適用範圍:
當租戶願意為了安全性和資料隔離性付出較高成本時,則可採用此方案;例如銀行或醫療單位經常需要高安全性,用戶的資料也需要做到完全隔離時,就適合採用Separate Database的Solution。
- Shared Database, Separate Schemas
- 優點:
硬體成本上相較於separate database來的低,每一台伺服器可以承受的租戶也比較多。
- 缺點:
資料庫出問題時較難回復。當使用Separate Schemas的方法時,當你要復原整個database,代表著你要將其他tenant的schemas都覆蓋掉。
- 適用範圍:
每一個租戶所需要的table數量不會很多(文中建議小於100個)時,可以採用此方法。
- Shared Database, Shared Schemas
- 優點:
每一台server可以負擔的tenant數量最多,單位成本最低。
- 缺點:
由於所有的租戶都共用同一個資料庫,在安全維護和資料隔離程度上最差。
單一租戶的資料在復原時,需要在所有的table中尋找相同的tenant ID,數量多時,會造成其他租戶的效能降低。
- 適用範圍:
當你需要服務大量的租戶,同時硬體上有所受限時,才採用這種方法。
【相關閱讀】
Multi-Tenant Data Architecture
0 意見:
張貼留言