1.完全獨立的數據庫
? ?為每一個租戶單獨部署一個數據庫
? ? 優點:達到了真正的按租戶進行隔離,不同租戶之間相互沒有影響,可以針對一些特殊租戶例如大客戶做一些定制化的開發,計費相對簡單,按照資源使用進行計費。
? ? 缺點:成本高,版本更新迭代的維護成本高,統計,管理租戶比較困難,共享數據有多份,有資源浪費。
2.同一個數據庫不同schema
? ?優點:成本相對較低,統計,管理租戶相對比較容易。
? ?缺點:不同租戶之間可能會相互影響,例如某些大客戶數據量特別大,因為是同一個數據庫,那么其他數據量小的也會收到影響。計費相對來說比較困難,較難統計資源使用率。而且往往需要維護根據租戶id進行路由,需要維護元數據的信息。
3.同一個數據庫同一張表,按照租戶id來進行區分
? ?優點:開發簡單,資源相對來說占用最少,便于升級維護管理,統計管理租戶比較簡單。
? ?缺點:不同租戶之間容易相互影響,相當于沒有隔離可言。針對一些大客戶的定制化開發,比較困難,而且由于所有租戶的數據放到了一起,容易導致表的數據量過大,往往需要分庫分表來進行解決。