2016-12-31 73 views

回答

0

我想你是在談論一個SaaS(軟件即服務)一類應用的。像往常一樣的一般答案是,它取決於應用程序類型。它可以爲所有用戶使用1個數據庫(或一組數據庫),也可以爲每個用戶使用不同的數據庫。

一般來說,單獨的數據庫/應用程序是一個更好的解決方案,有幾個原因。例如,假設用戶想要備份他的數據。將所有數據存儲在中央數據庫中使得難以單獨進行備份。表現也可能是另一個原因。

另一點是不同的用戶可能需要不同的計算能力。假設您正在開發一個應用程序,該程序正在由擁有20000名用戶的公司使用,這種客戶端所需的CPU /內存不同於擁有5個用戶的公司。因此,如果您的應用程序能夠針對每個客戶單獨部署,則可以相應地設置其環境。他們還可以停止他們的計算服務(虛擬機,Docker容器等),避免在不使用系統的情況下產生雲計算成本。儘管如此,這並非銀彈,在某些類型的應用程序中,中央應用程序/ db運行得更好。如果您提供有關該應用程序的更多詳細信息,那麼判斷更好的架構會容易得多。

+0

嗨@akazemis,對不起,很晚回覆。但基本上針對的是針對企業的產品。你可以說它是一種像系統一樣的ERP。 –

+0

嗨@Shubham,我想說爲這樣的系統每個客戶端分開設置數據庫和應用程序實例會更好。正如我所說,您可能需要爲每個客戶分別放大或擴大規模。使用單個數據庫和應用程序實例會強制大量限制,並使您的應用程序設計更加複雜。只隔離客戶端應用程序並保持簡單。 – akazemis

+0

感謝您的回覆,目前我們採用的是單一應用和DB /租戶。但是我們面臨的問題是向每個租戶推出數據庫更改。那麼解決這個問題最好的辦法是什麼? –

相關問題