2012-01-23 56 views
0

剛開始一個新的asp.net mvc解決方案,其中一個要求就是能夠在後期爲數百萬用戶擴展。使用ORM設計一個asp.net MVC應用程序,並將來遷移到NoSql

我打算使用公開IQuerable並在服務/應用程序級別使用linq的通用存儲庫(我知道這不是純粹的DDD方法,但這不是辯論:))。我計劃EF作爲數據訪問的ORM(使用分佈式緩存作爲二級緩存以在一定程度上實現可伸縮性)

我將面臨的問題是所有那些與任何未來NoSql linq提供程序都不兼容的linq查詢NoSql linq提供程序中不太可能支持連接)。 但是我願意冒着不得不重新考慮所有那些linq查詢的風險,只要它們都位於一個地方即服務/應用層。

什麼是更好的方法?任何建議?

+3

處理可伸縮性一旦成爲一個實際問題。屆時,你應該有資源來致力於擔憂。目前,重點是讓應用程序交付並交付給用戶。 – cdeszaq

回答

0

NoSQL數據庫不會解決RDBMS無法解決的問題。只有精心設計的桌子才能。

我會從一開始就使用像RavenDb這樣的NoSQL解決方案(因爲您在.NET中),以減少開發時間並且不會在以後切換。

如果您希望擴展應用程序,請使用CQRS。不需要從外部查詢緩存開始。只需執行這些接口,以便稍後可以切換到外部緩存(或某些調用它的查詢DB)。

相關問題