2012-02-20 23 views
1

背景信息

我們的應用程序讀取3個組件/寫道:OLTP與CQRS或SSIS OLAP

  1. ASP.NET MVC 3客戶前端網站(寫操作)
  2. 的Winform驗證工具(寫操作)
  3. 租戶的Silverlight儀表板(95%的聚合讀取5%寫操作)

(3)是可使用的一些性能改進的唯一部件。

我們的存儲是已經存儲了聚集在Silverlight應用程序消耗數據的過程是SQL Server Standard OLTP數據庫。

當使用數據庫引擎優化顧問或執行計劃,我們沒有看到任何重要的指標缺失,我們重建與SQL代理工作指標。

大部分部件都是迷你

  • X =由間隔(日,周,月,年)
  • Y =總(SUM,AVG,ECT)選定的時間

目前我們每個小工具返回大約14-20分。我們的儀表板最初打開10個小部件。

我們的尺寸是:租戶,存儲,(日,周,月,年)

我們的事實:已完成,不完整,贖回,得分......

我知道一個非規範化的表將刪除需要從SQL Server重新計算 商店經理,特許經營業主,企業查看數據〜50(個用戶同時使用) 每次

我會說實話,如果我們用OLAP去這將是我第一次雙手放在與它的經驗。

問題

什麼是一個豐富的報告儀表板的長期解決方案?

我會假設OLAP。如果是的話,你會如何保持最新,以接近實時的儀表板,我們今天有嗎? 在OLAP重建自身時放置維護頁面不是一種選擇。 理想情況下,我們希望逐步做到這一點,並參見Nservicebus(我們現在已經使用它)作爲一個偉大的橋樑,以更新這些非規範化視圖 。我們是否將這些非規範化視圖放在oltp中作爲另一個表或者是否有增量更新OLAP數據源的方法?

參考

http://www.udidahan.com/2009/12/09/clarified-cqrs/

http://www.udidahan.com/2011/10/02/why-you-should-be-using-cqrs-almost-everywhere%E2%80%A6/

+0

不知道您的報表要求或遷移到SQL Server 2012的計劃,但他們將提供稱爲[columnstore索引]的令人驚歎的只讀選項索引選項(http://msdn.microsoft.com/ en-us/library/gg492088(v = sql.110).aspx)它爲聚合提供出色的性能特徵。你說你需要實時。 *每個人*都需要實時,直到他們必須開始爲此付費。一旦客戶看到實時的成本(硬件,開發,執行時間等),我經常會發現「哦,到時候已經足夠好了」 – billinkc 2012-02-20 13:41:35

回答

1
「Putting a maintenance page while OLAP rebuilds itself is not an option.「 

你爲什麼這麼說? OLAP多維數據集在重建時可用。 有幾種方法可以配置刷新工作方式,ROLAP,HOLAP和MOLAP。您可以在X小時自動刷新,甚至實時提供數據。嘗試閱讀關於SSAS的主動緩存,它可能會給你一些想法。

+0

看到團隊基礎服務器如何重建選項,但是,這是一個真正重建不僅僅是更新指標。這是我的錯誤觀念。感謝您清理它。 – 2012-02-20 19:31:06