多维分析平台构建

MondrianSchema编写心得

匆匆过客 提交于 2019-12-13 18:52:40
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> MondrianSchema编写心得 1. Mondrian 是什么? Mondrian是一个用Java成的OLAP引擎。它实现了MDX语言、XML解析、JOLAP规范。它从SQL和其它数据源读取数据并把数据聚集在内存缓存中,然后经过 Java API用多维的方式对结果进行展示。 2. Mondrian 组成与架构 Mondrian又四个manager组成,见下图: l Session Manager:最为重要的一个部分。接受MDX查询、解析MDX,返回结果。 l Schema Manager:与初始化紧密相关。主要是一些重要的数据结构如缓存池的构建以及多维模型的生成。 l Aggregate Manager:实现了对聚集表的管理。主要是对OLAP缓存的管理,属于性能优化的部分。 l Dimension Manager:维度的管理。实现多维模型中维度和关系数据库表中列的映射,在Schema Manager也有部分功能处理这些映射。 从架构上可以分为四个层次: l 计算层:分析,验证,执行MDX语句。先计算坐标轴,然后再计算每个单元格的值,从效率上的考虑,计算曾批量的从聚合层获取单元格数据集合。 l 聚合层:聚合层中缓存了多维查询结果,即单元格的数据集合,如果计算层所需要的数据不在缓存中