0

我已經開發了應用程序,我爲每個客戶端創建了不同的登錄名。我們的應用程序有很多客戶端,如工作門戶或Facebook以及每個客戶端都有大量數據。如果我使用單個數據庫然後一個表得到大量的數據爲所有客戶端在sql server客戶端明智的存儲數據庫

我找到了一個解決方案,解決方案是爲每個客戶端創建單獨的數據庫,但有這麼多的客戶端,那麼我們需要創建這麼多的數據庫,以便不正確的解決方案

請你能告訴我正確的方式來實現這一點,通過使用sql server 2008 r2

謝謝

+1

「一張桌子爲所有客戶獲取大量數據」您爲什麼認爲這是一個需要解決的問題? –

+0

@ErwinSmout是的,你的權利,但問題是,單桌得到記錄的十萬,所以我們發現性能減慢問題 – user3715214

回答

0

您可以嘗試每個客戶端有一個模式,並且該客戶端的登錄將該模式作爲其默認設置,並且是他們有權訪問的唯一模式。但是你會有很多模式,所以它可能沒有多大的幫助! (另外,IOF你使用像EF東西來訪問數據庫,它不會工作。)

單個數據庫好:

  • 易於管理

單個數據庫壞:

  • 可能的性能問題(儘管直到你進入 億行;我設計的一個數據庫有一個超過21B的表格 ro ws 3個月後;幸運的是我使IDENTITY列成爲BigInt!)
  • 安全問題/複雜性:您如何阻止一個客戶端訪問
    他人的數據?
  • 爲所有客戶
  • 單點故障

多個數據庫良好

  • 安全是每個客戶端的故障更容易
  • 單點(假設多個數據庫服務器以 傳播該負載也)
  • 應用更新的更多靈活性:有些客戶可以使用 星期三,一些用星期四

我確信還有其他問題。實際上它取決於你的需求以及如何最好地滿足,

多個數據庫壞:

  • 更多管理所需
  • 給定一個DB已開銷,你的開銷資源使用率上升
+0

西蒙謝謝非常好的解決方案 – user3715214