2010-04-07 57 views
4

對於一組ASP.NET Web應用程序共享相同的會話數據庫,還是應該每個人都有自己的?在多個應用程序之間共享ASP.NET狀態數據庫

如果沒有顯着差異,那麼由於易於維護,擁有單個數據庫將是更可取的。

背景

我的團隊有ASP.NET Web應用程序的分類,都寫在任一單軌1.1或ASP.NET MVC 1.0。每個應用程序當前使用專用會話狀態數據庫。我正在爲這個列表添加一個新的站點,並且正在討論是否應該創建另一個新的會話數據庫,或者僅僅與另一個應用程序共享一個現有的數據庫。

回答

2

我會投票在這裏分離。

我認爲您不一定會發現,從長遠來看,將所有內容填充到一個數據庫中是「更簡單的維護」。如果每個應用程序都使用相同的表和數據庫實例,則無法將一個應用程序從池中分離出來,而無需複製整個數據庫。如果一個應用程序發生病毒,需要將其移至自己的服務器羣集,該怎麼辦?

對於將數據庫複製到新實例所需的工作量,您將分離應用程序的關注點,使其更容易單獨調試,更具可擴展性並且更具可移植性。

+0

但是,如果推遲創建額外的數據庫,直到需要時纔會受到傷害嗎?如果其中一個應用程序需要更多的功能,我只是回到了開始的位置,並且需要爲該應用程序創建一個單獨的數據庫。其他應用程序仍然可以共享相同的數據庫。 或者,您是否基本上認爲將這些應用程序轉移到單個狀態數據庫的工作是愚蠢的,因爲它們已經配置了單個狀態數據庫? – MikeWyatt 2010-04-07 16:03:05

+0

嘗試想象您需要將所有內容拆分中間,然後移動一半應用程序。現在您需要更改多個應用程序的配置文件並再次測試它們。或者想象一下,您需要爲一個應用程序添加一個特殊的索引表 - 現在所有其他應用程序都會因爲寫入性能而受到影響。我只是沒有看到爲數據庫創建一個龐大的意大利麪堆的好處,只是因爲你希望事先保存一些工作。 – womp 2010-04-07 16:29:51

+0

我並不完全同意共享數據庫是一個「巨大的意大利麪條堆」。每個應用程序的Web.config只是指向一個通用數據庫,而且這對於將來的更改是微不足道的。 雖然,我看到了您對影響多個應用程序的數據庫所做的更改的觀點。我不想告訴我的經理,我們需要重新部署多個應用程序,因爲對單個應用程序進行了更改。僅這個理由足以擁有單獨的數據庫。 – MikeWyatt 2010-04-07 18:04:34

3

最初的問題是「共享相同的會話數據庫」。我認爲這與應用程序的數據庫不同。所有應用程序的ASP會話都是相同的。您不會修改任何會話表,SP等的架構......我們託管許多應用程序,每個應用程序都有自己的專用數據庫以用於應用程序數據,並且有一個共享數據庫用於會話。

相關問題