- 52
- 0
- 约2万字
- 约 25页
- 2015-10-24 发布于河南
- 举报
mondrian源码分析与说明
mondrian源码分析
1. 概述 1
1.1. 若干概念 1
1.2. 架构 2
2. 静态类包分析 3
2.1. 包解释 3
2.2. Schema manger部分 4
2.3. 包mondrian.calc 4
2.4. 包mondrian.olap—接口 5
2.4.1. mdx函数包 5
2.4.2. funCall 5
2.4.3. Query类 6
2.5. 包mondrian.rolap—计算层 6
2.5.1. 成员读取包MemberReader 6
2.5.2. 单元格读取CellReader 8
2.5.3. RolapResult类 11
2.5.4. RolapEvaluator类 12
2.5.5. 关于排序 12
2.6. 聚集层Star layer 13
2.6.1. 概述 13
2.6.2. 聚合装载过程 13
2.6.3. segment详解 14
2.6.4. 缓存失效控制 17
3. 交互管理层 18
3.1. 初始化MondrianModel 18
3.2. 获取结果集 19
4. 修改点 22
4.1. mondrian角色参数化 22
4.2. 缓存失效控制 22
4.3. connection创建参数优化 23
4.4. 维度成员排序 23
4.5. 对mondrian bug的修正 24
4.6. to-do List 24
概述
若干概念
成员(member):成员是代表维度中一次或多次数据出现的项。用于定义来自多维数据集的数据切片;它由来自一个或多个维度的单个成员的有序集合组成。元组用于标识来自多维数据集的特定多维数据块;由来自多维数据集中各个维度的一个成员组成的元组完全描述单元值。换言之,元组是一种成员向量(时间.[下半年], 路线.非陆地.航空)由单个成员组成的元组也可括在圆括号内,但这不是必需的多维成员的交集创建单元元组唯一标识多维数据集中的一部分;它不必指某个特定单元,也不必包括多维数据集中的所有维度。集合是零个、一个或多个元组的有序集合。集合最常用于在 MDX 查询中定义轴维度和切片器维度,并且同样可能只具有单个元组或可能在某些情况下为空。下面的示例显示具有两个元组的集合:{ (时间.[上半年], 路线.非陆地.航空), (时间.[下半年], 路线.非陆地.海路) }
表示层(presentation layer):指最终呈现在用户显示器上的,以及与用户之间的交互,有许多方法来展现多维数据,包括数据透视表,饼,柱,线状图.
计算层(dimensional layer):分析,验证,执行MDX查询. 一个mdx查询语句会有多个处理阶段。先是计算轴,然后是轴上的单元值。为效率起见,计算层批量将单元请求发送到聚集层。请求转换器允许程序操作存在的请求,而不是为每个请求从头构造mdx请求。元数据描述了计算模型和它怎么匹配到关系模型。
聚集层(star layer):一个聚集指内存中一组计算值(cell),这些值通过维列来限制.计算层发送单元请求,如果请求不在缓存中,或者不能通过旋转聚集导出的话,聚集层向存储层发送请求. 聚集层是一个数据缓冲层(cache),从数据库来的单元数据,聚合后提供给计算层。聚集层的主要作用是提高系统的性能。
存储层:提供聚集单元数据(cell)和维表的成员(member),这些层可以不在同一机子上,但是计算和聚集层必须在同一台机子上。有三种需要存储的数据:事实数据(事实表)、维度表和聚集数据(即聚合表)
架构图如下:
静态类包分析
包解释
mondrian.calc 提供编译好的表达式。
mondrian.gui 设计Mondrian schema的图形接口
mondrian.i18n 国际化和本地化工具
mondrian.mdx 为mdx表达式定义解析树
mondrian.olap 核心包,定义了连接和schema的元模型,用来执行查询
mondrian.olap4j 中间层,olap服务器的驱动,用来代替jolap的
mondrian.recorder 任务处理记录接口
mondrian.rolap olap包的数据访问层的实现
mondrian.spi 用户自定义扩展的服务端支持接口
mondrian.tui Mondrian文本用户接口
mondrian.udf 用户定义方法
mondrian.util Mondrian工具包
mondrian.web Mondrian的servlet和tag库
mondrian.xmla xml for analysis API的实现
Schema manger部分
Mondrian.rolap.RolapSchema类是mondri
您可能关注的文档
- 江苏省徐州市2012-2013学年高二上学期期末考试数学(理)试题.doc
- 选修2-1-3.2立体几何中的向量方法(导学案).doc
- 第2讲 两条直线的位置关系.doc
- 高中物理必修一 2.1 匀变速直线运动的规律 教案.doc
- 【2013上海闸北二模】上海市闸北区2013届高三下学期二模数学(理)试题.doc
- 1、相交线、垂线、三线八角.doc
- 立体几何分块初步2.doc
- 【原创精品资料】6.1《两条直线之间的位置关系》错误解题分析.doc
- 【走向高考】2014届高三数学二轮专题复习:专题综合检测四(Word有详解答案).doc
- 2012北京朝阳高三二模数学理(word版+答案+免费免点数).doc
原创力文档

文档评论(0)