我的任务是为现场ActivePivot后端提供高性能前端。我已经有了一个客户端服务层,它提供了预先聚合的预格式化数据的连续流(IObservable<T>
),以及详细说明报告中的维度和内容的元数据。我的要求可以概括为:
所有第三方组件似乎都是围绕切片和切割断开连接(或很少更新)的数据集。他们牺牲性能来实现我根本不需要的更高程度的灵活性,并且性能对我的场景至关重要。
有没有人知道WPF控件是以性能为中心的,并且更倾向于查看预先聚合的预格式化数据?
答案 0 :(得分:2)
允许切片和骰子数据探索的类似数据透视表的前端通常与OLAP技术相关联。其中一些前端使用专有数据模型定位一个特定服务器,另一些前端实现标准:通过XMLA传输进行MDX查询。
但是,当OLAP技术在20年前设计时,实时做这件事似乎是不可想象的。一个结果是XMLA标准不支持单元集中的更新。实际上它实际上禁止它,因为细胞集和细胞集轴的静态表示。
ActivePivot可以将实时更新推送到OLAP结果集,并且它公开(专有)流API以订阅这些更新。 ActivePivot Live前端首先编写,以利用这些实时更新,在熟悉的数据透视表控件中显示它们。但在2013年,ActivePivot仍然是唯一具有实时支持的OLAP服务器。这就解释了为什么还没有订阅OLAP实时更新的标准。这也意味着,从2013年开始,在ActivePivot Live之外,您将找不到一个工具包(WPF与否),它完成了通过实时更新丰富其数据透视表控件的全部工作。我们知道的库实际上已将XMLA的静态数据表示转换为其数据透视表设计,这使得更新单元格变得繁琐或不可能(例如,考虑Microsoft Excel数据透视表)。
在像WPF这样的特定技术的约束下,我会选择一个通用的UI工具包,这样可以很容易地安排和组合表。从那里那是D.I.Y.工作
答案 1 :(得分:1)
万一有人想知道,我最终编写了自己的专为高性能而设计的WPF PivotGrid
控件。它每秒处理数以千万计的单元,每秒更新数十万次。为什么有人会想要在我不知道的单个网格中有那么多数据,但是你去了。
它处理我在问题中列出的所有要求,等等。但是,不能分享这个,因为它是专有的。