2012-03-09 61 views
1

讓我們對這種情況得到一些不同的觀點。一個數據庫或多個用於多國web應用程序

我創建與數據庫(SQL Server Express的,最大10GB分貝大小)一個(asp.net)Web應用程序。

此應用程序管理實體,但實體與國家,一個國家 - 許多實體有關。

在此之前,我無法預測db如何增長。這是我在空閒時間做的個人/愛好項目。

我的顧慮是如果我應該在每個國家創建數據庫的特定副本。我認爲這樣的理由是:

  • 數據庫的大小將會變小,所以我不會遇到從SQL Server Express開始的大小問題。
  • 再次,數據庫大小。由於每個國家的規模較小,因此性能會更好。
  • 可以在每個國家的低峯時間執行維護任務(備份,部署)。
  • 如果有關於保護每個國家/地區的數據的不同法律,我可以根據具體法律調整每個數據庫。
  • 按國家/地區自定義文本搜索。這真的不是問題,因爲我認爲我可以根據不同的國家創建視圖並對該視圖進行文本搜索。

然後,如果我只有一個對所有國家的數據庫有一些優勢:

  • 維護將是簡單的。只有一個數據庫意味着只做一次事情。
  • 沒有還原劑代碼。我使用存儲過程很多這個網絡應用程序。一次更改只需要在生產中發佈一次。

神!寫下每個備選方案的優點似乎使多個數據庫成爲贏家!看來,單一的數據庫是懶人...

無論如何,我想讀的觀點更多的積分,所以請傢伙,隨時與你的思路作出貢獻。謝謝!

回答

4

我會選擇1個數據庫。

爲了便於維護工作。世界上有近200個國家,即使你有一半的數據庫。你想在表中添加一列的那一天,你必須在每個數據庫中更改它,這將是一場噩夢(確保你不會忘記1個數據庫,或者如果你輸錯了名字等)。

此外,與當前計算機的功率/容量,性能應該不成問題。 (除非它對你的程序非常重要)。

+0

我喜歡你的答案。即使有10個10分貝的國家也會變得有點痛苦。使用db sincrhonization腳本可以減輕壓力。 – 2012-03-09 13:35:34

+0

接受的答案:) – 2012-03-28 23:03:50

+0

您的應用程序持久性配置也將是巨大的。 – digitebs 2016-09-14 07:41:56

相關問題