2012-02-20 41 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