2014-06-19 57 views
-1

因此,今天我們在項目負責人和程序員之間的公司里長期進行了對話,我們應該爲我們的新項目運行一個帶有所有表的數據庫,或者運行多個數據庫,每個數據庫存儲一組模塊。一個數據庫或多個數據庫

項目是關於商店,我們有單獨的(讓我們稱之爲模塊),如用戶,支付方式,產品,統計。

現在一方面說我們應該把它放在一個數據庫(它的標準程序)內,因爲它會更快,一個查詢可以獲取所有數據,而另一方則說我們應該將它拆分成多個數據庫以便它更安全,如果有人違反產品內容,他們不會看到用戶表,因爲該數據庫將位於不同的服務器或虛擬機上。

所以我的問題是,具有單個數據庫的所有數據VS有多個數據庫的優點和缺點。我讀過關於堆棧溢出的幾個問題,但沒有一個是關於利弊的。如果有多個數據庫比較慢,如何加快速度?

謝謝!

+0

http://blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-shopping/ – Sefam

+0

正如你在工作中看到的,這是八九不離十你的情況決定的主觀的問題。要問的一個更好的問題是關於選擇一個問題而發生的問題。你現在可能得不到明確的答案。 –

+0

http://stackoverflow.com/questions/21431757/one-dataset-for-each-datatable-or-one-dataset-for-all-datatables – Tom

回答

4

而不是提供您通用優點/缺點(因爲一切都取決於所使用的情況下...),我會說,我們傾向於過早地優化系統,同時優化不應該是未來的一個問題,如果整個系統在構建時考慮到重構。

恕我直言,前段時間我有同樣的討論,我的結論是從一個單一的數據庫開始。它簡化了很多細節:

  • 單個數據庫備份,維護少。
  • 您不需要管理多個連接。
  • 多個數據庫可能會破壞執行原子事務的機會,這是我永遠不會丟棄的功能。
  • 您避免同步兩個或更多數據庫以避免完整性問題。

此外,由於我們處於雲計算時代,基礎架構應該水平擴展。也就是說,如果您需要更多功能,請添加複製節點並將您的負載分佈到多個服務器上,而不是在應用程序級別進行擴展。這可確保您的軟件將仍然易於維護和發展,以及良好的解決方案,應該很容易進行擴展,如果您的代碼質量,當然,你的預算,以支持增加的負載!

+0

感謝馬蒂亞斯,開門見山 –

+0

@GoranJakovljevic沒問題,我很高興這是對您有用! –

相關問題