2012-08-02 34 views
2

我讀過許多數據庫設計的書籍,但他們只使用一個數據庫處理項目。 但我不知道這是一個好主意,有多個數據庫處理的同一項目在同一個項目中運行多個數據庫是否好?

+0

我想知道您是否有必要擁有多個數據庫?您已經可以對受用戶影響的不同角色和配置文件有一個很好的概念。 關於性能方面的檢查:http://stackoverflow.com/a/28614/1459961 – 2012-08-02 04:58:59

+0

但是如果將所有數據放在同一個數據庫中會使數據庫過於複雜(裏面太多的表),那麼有什麼好的解決方案應付? – LiJung 2012-08-02 05:20:40

+0

@lijung:你認爲有多少張桌子太多?單個數據庫中的數百個表並不罕見。 – 2012-08-02 20:03:52

回答

3

不是。

當然,還有在那裏的要求,甚至理想的情況,但這些都是針對特定用例。

一般來說,你不想對關係完整性的組合(很難跨數據庫執行)和事務的完整性。必須有一個非常有說服力的理由來分割數據集,以增加複雜性和維護單獨的數據庫實例。

+0

但是如果我的項目相當大?如果我把所有的表放在同一個數據庫中,它將會非常複雜。有沒有什麼好的解決方案來處理它? – LiJung 2012-08-02 05:11:50

+0

您的數據庫中有多少表,我看過DB有100多個表。 – 2012-08-02 05:20:01

+1

只有約30桌...哇100 +表@@。好,謝謝。現在我知道我走在正確的道路上。 – LiJung 2012-08-03 02:43:05

3

一般來說,沒有。然而...

考慮,您可能要多個數據庫:

  1. 不同的目標。例如OLAP vs OLTP
  2. 不同的公司,域或租戶,您需要保證域之間的數據永遠不會混合。
  3. 數據存檔。

如果這些條件都不適用,你可能並不需要多個數據庫。相反,您使用字段標識(例如TenantID,CategoryID等)對數據進行分區。

+0

但你忘記了:每分貝的最大連接數(由某些託管服務部署)這就是爲什麼你應該有多個 – ucefkh 2013-10-28 06:24:27

+2

這將是一個非常糟糕的折衷。找一個真正的託管服務提供者。 – 2013-10-28 15:10:10

+0

hhhh如果我有錢我會租一臺服務器,做任何我想要的;) – ucefkh 2013-10-28 20:05:01

1

通常,如果一個項目使用多個數據庫,這是因爲它必須消耗源自此特定信息以外的不同的,經常遺留的信息源項目。這在企業環境中最爲常見。

如果要創建一個新的項目,創建一個單一的數據庫,以表示與該項目相關的數據,除非有具體的,有說服力的論據不這樣做。

相關問題