iT邦幫忙

0

請問大家資料庫如何做多租戶模式?

  • 分享至 

  • xImage

請問大家資料庫如何做多租戶模式?

先分享我們公司作法其中一個專案做法是mssql一個用戶開一個database
現在有300多個庫,活躍的40個左右
這樣做目前好處
1)產品升級更新共用sp、function邏輯很方便
2)跨客戶的統計效率快,不需要使用到db_link

像是

database
    common_tools_db
    customer1_db
    customer2_db

有聽說過用虛擬機方式,一個用戶一個虛擬機,但不是很了解其優勢
或是 Relational Database Service (RDS) 服務

想討論各作法之間的差別

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2020-09-11 11:31:38
最佳解答

同一台機器開庫處理

優點:統一管理,交互統計方便。
缺點:資源共用,容易互相影響、備份不方便、一死全死。

開虛擬機處理

優點:資源各自獨享。維護容易不會一關全關。重建簡單快速。規劃獨立自主(但這也是缺點)
缺點:共用資源多少會無法全用。各庫不容易交互統計。需要各別帳密管理。
(不要給我說所有機器用同一個帳密,我會打死你)

ps:勸一下樓主
其實沒有任何一種作法比較好還是比較不好。
也沒有一種做法是比較優勢或比較不優勢。
因該「一級屠豬x」已經有事先點你過了。

依照客戶的對應做法而選擇不同的應用架構及處理。
某些情況是選用第一種會比較好。但某些情況則是要使用第二種。

我個人則是三種並存處理。
還有第三種「主從連動規劃」這我就不說了。

但並不是叫你不要問,而是要問對問題。
問錯或說錯了。真的會變成好像再被質問或教訓的感覺。

正一 iT邦新手 5 級 ‧ 2020-09-11 11:58:06 檢舉

感恩

2
ckp6250
iT邦好手 1 級 ‧ 2020-09-11 11:10:05

一個用戶一個虛擬機的好處是,資料庫萬一故障,不會大家一起死。

正一 iT邦新手 5 級 ‧ 2020-09-11 11:58:36 檢舉

但電腦資源成本吃的比較高

Ray iT邦大神 1 級 ‧ 2020-09-11 15:55:51 檢舉

成本應該要轉嫁給客戶, 不是全部都自己吞..
台灣企業很不懂得跟客戶要錢, 都默默吞下..

正一 iT邦新手 5 級 ‧ 2020-09-11 16:17:01 檢舉

真的
但現實不吞報價高,搶不到單...

1
阿翔
iT邦新手 4 級 ‧ 2020-09-11 13:36:17

目前我們公司的做法是在設計 Table Schema 的時候多加一個 tenantId 的欄位,每個不同租戶在查詢資料的時候都會帶有自己的 tenantId

正一 iT邦新手 5 級 ‧ 2020-09-11 16:17:44 檢舉

不區分database而是全塞在同一個表格@@+!?

阿翔 iT邦新手 4 級 ‧ 2020-09-11 17:38:08 檢舉

是啊~沒有區分 DB

我要發表回答

立即登入回答