2010-03-31 89 views
1

我目前正在開發一個C#/ ASP.NET項目,它將託管幾個不同的電子商務網站,所有這些網站都運行在同一個應用程序中。CMS /電子商務asp.net項目:一個數據庫還是多個數據庫?

我使用LinqToSql(即將移動到PLINQO)來訪問我的數據庫。數據庫包含關於網站結構(頁面,...)和產品/訂單/用戶數據的信息。

我的問題是,我應該只爲所有網站使用一個數據庫,還是應該爲每個新網站創建一個新數據庫(相同型號)?

我現在正在使用單個數據庫(在某些表中使用SiteIDs),但我有一個很大的安全問題,如果出現問題,我不能只備份/恢復數據庫的一個網站(例如,某人刪除了所有產品在一個網站上),這是應用程序的一個重要要求。

所以我想知道在這種情況下有什麼好的做法? 分裂dbs有沒有大缺點? (我將不得不對一些數據庫進行更改,而不是一個在結構更改的情況下,但我想我可以做一個數據庫版本/更新系統)。 現有CRM如何處理? 如果數據庫服務器託管許多不同的數據庫,這是性能問題嗎? 複雜的備份/恢復工具會更好嗎?爲了簡化網站複製,我還可以在一個數據庫和電子商務數據(產品/類別/訂單在另一個數據庫)中拆分純粹的CMS數據(頁面,文本,...)。這是個好主意嗎? 它可以通過一些選擇/插入功能來實現,但只要複製一個數據庫當然會更容易。 PS:對不起我的約。英文;)

回答

1

如果你擔心所有的網站在一個數據庫中,你可能已經回答了你的問題。當我曾經將它們都放在一個數據庫中時,我曾經明確表示將數據庫發送給它們會花費很多。

我想,如果你的客戶想要定期訪問原始數據,你需要將數據拆分出來。但是,如果沒有,那麼你應該沒問題。

就數據庫更新而言,您應該擁有用於更新的腳本,以便從測試系統到實時系統,以便在其他系統上運行應該沒問題。但是它會產生開銷。

總之,沒有正確或錯誤的答案,如果你可以保持在一起,並保持客戶的滿意,那麼這樣做,否則拆分和收取額外的客戶端。

+0

感謝您的回覆,我決定拆分我的數據庫,因爲這是將數據發送到客戶端的安全性/能力的最便捷方式。現在我很難設計2個數據庫(例如,我在哪裏存儲我的國家/地區列表和其他常見表格),但這是另一個問題;) – Guillaume86 2010-04-01 10:18:18

相關問題