我正在開發一個自定義CRM解決方案,該解決方案將通過Web/SaaS模型進行銷售。我預計有數十或數百個客戶使用此解決方案。我將使用MS SQL作爲數據庫引擎。MultiTenant與多個DB
選項1是具有單個數據庫,並在表上包含一個TenantId列,一個合適的索引並在每個數據庫訪問中使用'where tenantId = {...}。
選項2是爲每個客戶端分配一個DB,避免需要TenantId和where子句。
我預計每個客戶端都會有數十萬條記錄,而不是數百萬條記錄。
正如我所看到的,無論我選擇哪個選項,都會有數據總頁數。這個決定似乎集中在SQL是否更好地管理多個數據庫,或者是一個包含TenantId和索引的數據庫。最初該解決方案將運行在單個數據庫服務器上,但最終會轉移到SAN。
有沒有人對此有任何看法?
你最終選擇了哪種方法?爲什麼? – 2011-04-08 15:00:48