2017-09-16 72 views
3

我在ASP.NET MVC中,其中comapnies可以產生一些PDF文檔工作的非常好的項目,保存一些數據等我有一塊項目了。 [無重要]大數據庫項目

Programist將增加公司的一個管理用戶,管理用戶將增加未來用戶角色[公司或不服這樣的老闆 - 「工人」等

所以有問題。我有10個表格,一家公司可以在一個月內輕鬆地在每個表格中創建50行。那麼最好添加幾張「CompanyId」表並填寫所有內容,或者爲每個公司創建10個表的新數據庫?

首先,我想嗯〜20家公司。但接下來例如100-1000家公司。

我認爲第二種解決方案是更好的,但是怎麼辦呢?最後,你能指導我閱讀有關它的好書/文章嗎?

+0

https://stackoverflow.com/questions/34493998/multi-tenancy-or-multi-instance可能會感興趣的。 – mjwills

回答

3

在幾乎所有情況下,您希望將數據存儲在一個單一的一套10桌。一個50行/月的負載增長在數據庫中確實沒什麼。 50 * 10行/月的負載確實沒有什麼。爲什麼你想讓他們在一組表中?

  • 你可以隨時查詢所有的表,看看發生了什麼整個您的業務。
  • 您可以設置表格一次,忘記它們。
  • 您可以更輕鬆地更新軟件並安裝修補程序。你只需要做一次,而不是每個客戶一次。
  • 您不會有不同客戶端不同步的危險。
  • 當他們有大量數據而不是數據少時,表格效率更高。

有些情況下,你會希望有一個獨立的數據庫每一個客戶,用自己的一組表:

  • 安全限制,需要進行物理分離數據。
  • 每個客戶都有一個定製的應用程序,所以你期望不同的客戶使用不同的版本。
  • 由於某些原因,客戶端必須訪問不同版本的數據庫軟件。
  • 由於性能原因,您需要確保可以分隔客戶端。

沒有疑問,雙方更多的理由。這些只是我能夠快速思考的一些問題。

+0

好的。但是現在10 * 50行* 20家公司(未來* 300)每月有些公司很大,所以他們每月有200行* 10,所以這是很多行。 Ofc我必須filtr只有3桌休息他們是相關聯的。超過9個月的文件將被壓縮,每月一次(如pdf)並從數據庫中刪除。我希望程序能夠快速地過濾和響應。如果我有這麼多的行,反正會很快? – JJJ

+1

@Jackob。 。 。如果您每秒鐘或每分鐘都在說話,您可能會擔心。成千上萬行*每月*不是問題。 –