Pentaho Mondrian

来源:互联网 发布:统一身份认证系统源码 编辑:程序博客网 时间:2024/05/05 08:48
  OLAP应用是目前数据仓库上的重要应用之一,是决策分析的关键。作为数据仓库最重要的多维分析工具。本文就OLAP的基本概念,OLAP引擎-Mondrian的体系结构进行讨论。

      select {[Measures].[Salary]} on columns, 
  [Employee].[employeeId].members on rows from CubeTest

  对于这条语句,COLUMNS 和 ROWS都代表查询轴,其中COLS代表列轴,ROWS代表行轴。COLUMNS又可以写成0,ROWS又可以写成1,当只有两个查询轴时,可以理解为结果的展现格式是一个平坦二维表。这条语句的含义就是查询名字为CubeTest的立方体,列显示Measures维度的salary,行显示Employee维度employeeId级别的所有成员,那么得出的结果就是employeeId所有成员的salary,也就是所有员工的薪酬。由jpivot(jpivot会在后面介绍)展现的结果如图2所示:

图二

图2

  2 开源OLAP引擎-Mondrian

  OLAP引擎实现了除多维数据展示外的所有数据分析功能:包括建立多维模型、解析MDX语句、返回分析结果。国外传统数据库厂商都推出了自己的OLAP分析工具,微软发行了MDX语言标准,SQL SERVER Analysis Service是其商业化OLAP引擎。

  开源社区OLAP产品主要是Mondrian OLAP引擎。Mondrian是开源项目Pentaho的一部分,是一个用Java写成的OLAP引擎。它实现了MDX语言、XML解析、JOLAP规范。它从SQL和其它数据源读取数据并把数据聚集在内存缓存中,然后经过Java API用多维的方式对结果进行展示,同时可以不写SQL就能分析存储于SQL 数据库的庞大数据集,可以封装JDBC数据源并把数据以多维的方式展现出来。JPivot是Mondrian默认的表现层工具,它是一个JSP 自定制的标签库,可以绘制OLAP分析图表。用户可以执行典型的OLAP导航,如下钻、切片。JPivot使用Mondrian作为它的OLAP服务器但也支持XML/A数据源访问。它使用WCF (Web Component Framework)框架 ,基于XML/XSLT来渲染Web UI组件。

  Mondrian支持的数据库或数据仓库主要有:LucidDb、Oracle、 Access、Mysql、Sybase、Ingres、Postgres、Hypersonic、Teredata、

  Mondrian主要特点是对立方体进行了缓存,众所周知,缓存庞大的立方体对性能有很大的影响,但是Mondrian利用java语言的特点对这一点进行了很好的控制。其次由于Mondrian基于java语言,所以它能运行在不同的平台之上,这也是其流行的主要原因之一,例如花旗银行就在其数据仓库项目中用Mondrian作为它的OLAP引擎。Mondrian是开源项目,为开发人员和数据分析人员提供了深入研究OLAP技术的机会,同时这也为优化Mondrian总体性能提供了可能。

原创粉丝点击