mondrian源碼分析和改造设计.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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.RolapSch

文档评论(0)

fv45ffsjjI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档