mondrian 源码解读(三)-mondrian架构

mondrian系统的层次

mondrian总共包含四个层次:表示层,计算层,聚集层,存储层.。

表示层(presentation layer)

指最终呈现在用户显示器上的,以及与用户之间的交互,有许多方法来展现多维数据,包括数据透视表,饼,柱,线状图.

计算层(dimensional layer)

分析,验证,执行MDX查询. 一个mdx查询语句会有多个处理阶段。先是计算轴,然后是轴上的单元值。为效率起见,计算层批量将单元请求发送到聚集层。请求转换器允许程序操作存在的请求,而不是为每个请求从头构造mdx请求。元数据描述了计算模型和它怎么匹配到关系模型。

聚集层(star layer)

一个聚集指内存中一组计算值(cell),这些值通过维列来限制.计算层发送单元请求,如果请求不在缓存中,或者不能通过旋转聚集导出的话,聚集层向存储层发送请求. 聚集层是一个数据缓冲层(cache)
从数据库来的单元数据,聚合后提供给计算层。聚集层的主要作用是提高系统的性能。

存储层(storage layer)

提供聚集单元数据(cell)和维表的成员(member),这些层可以不在同一机子上,但是计算和聚集层必须在同一台机子上。有三种需要存储的数据:事实数据(事实表)、维度表和聚集数据(即聚合表)

架构图

更多内容请移步:http://mondrian.pentaho.com/documentation/architecture.php