2010-10-05 67 views
2

我正在跟蹤網站訪問者的服務(網站所有者只是將一些Java腳本放到他的網站上......就像Google Analytic或Woopra一樣)。可能會有一些網站的訪問量很低,但每天的訪問量也很大(超過10 000次)。此服務的用戶數也可以增長到數千人。數據庫沒有非常困難的結構(3或4個表格)。我正在使用MSSQL 2008.單個或多個數據庫

這個系統最好的解決方案是什麼?

  1. 單一的數據庫系統,一個數據庫,所有用戶
  2. 多數據庫系統,爲每個用戶
  3. 多數據庫系統中的一個數據庫,對一定範圍內的用戶

所以1的一個數據庫。可能是個壞主意,我無法在2和3之間做出選擇。

感謝您的回答

Rudy

+0

爲了澄清,當你說用戶,你指的是使用這項服務的網站? – JoshD 2010-10-05 07:10:39

回答

0

那麼,只要數據庫數量沒有一些奇怪的限制,爲什麼不選擇選項3呢?

+0

維護一個... – Woot4Moo 2010-10-13 13:32:01

2

與選項1

數據庫是爲了擴展和管理大量數據的訪問。嘗試使用多個數據庫只會讓事情變得混亂,並在您身邊添加更多代碼。試想一下,爲每個新用戶創建一個數據庫,然後記錄哪個數據庫是爲哪個用戶創建的...

3

我假設你將有某種服務接口可以通過http調用,並通過此接口統計堅持數據庫(S)。

我會開始使用一個單一的數據庫,它(根據定義)將是一個數據庫能夠服務於多個用戶。很可能這個(簡單)系統對您的第一批200(300?800?1000?)用戶來說表現不錯。然後你會有一個很好的簡單系統。

當您注意到數據庫負載增加到一定水平(監視它)時,您可以通過向不同的數據庫提供用戶組來稍微改變您的服務。不需要改變你的數據庫設計,因爲它已經適用於多個用戶。只調整服務應用程序,以便它根據用戶選擇正確的數據庫。

您可以選擇具有商業意義的用戶組;例如一個單個虛擬主機公司的150名用戶支付給您(或您的客戶)收集統計數據。

在這種情況下,單個數據庫可以更輕鬆地統計所有用戶。

+0

這當然是今天最好的答案。 +1 – JoshD 2010-10-05 17:54:55

-2

你有沒有想過'雲計算'。在這裏,您不必擔心可伸縮性。

+0

信息不佳 – Woot4Moo 2010-10-13 13:32:18

相關問題