多维分析(OLAP)引擎Mondrian入门——概念篇

分类: Mondrian 评论(2) 920 阅读 2020-02-21 16:46 ZooM查看

摘要 多维分析引擎Mondrian初探
多维分析 Mondrian


    因项目上规划使用多维分析引擎因此才接触到多维分析的概念,在之前也是没听说。多维分析的概念在网上搜索很多而且从02年左右就很多大公司在弄,开源的国产的都很有几款产品。在第一次接触多维分析中会出现很多概念需要先了解,因为在Mondrian框架中需要用上。


    多维分析的概念

    

    多维分析就是针对一个事先准备好的数据立方体实施旋转、切片(切块)、钻取等交互操作的过程,经常也被直接称为OLAP。在多维分析中我们通常会接触到的概念:Cube(又称多维数据集或数据立方体)、Dimension(又称维度)、Measure(又称度量)。


    呃呃,这里面有出现了OLAP、Cube、Dimensin、Measure的概念,下面根据从网上整理的一些资料进行说明(具体出处当时没有记录,见谅!)


    OLAP


    与OLAP相对的就是OLTP,OLTP是传统关系型数据库的主要应用比如CRUD操作会存在一个事务;而OLAP是联机分析处理,是数据仓库的核心部心,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态报表系统。 OLTP与OLAP的区别以及OLAP下面的分类,感兴趣的可以深究,如果都写出来概念就太多了。


    Cube


    Cube被称为数据立方体,下面例子是在百度找到的。

    举个例子,您在超市结账后会得到一个小票,上面有时间、店铺、商品类别、商品单价、购买数量、消费金额等信息,如果把某个地区全部消费者的小票收集到一起,那么这些购物小票中的数据就形成了一个关于消费者超市购物行为的数据集,这就是一个Cube。Cube就是面向同一业务主题的数据集合,同理,一个港口的进出口数据集合、一个贸易公司的渠道销售数据集合、近几年各省份户籍变动数据都可以视为一个个Cube。


    Dimension(维度)


    超市小票的Cube里隐含着很多信息,如:

        哪些商品呈现出季节性消费规律?

        不同区域店铺的顾客购买力如何?哪几个店铺的顾客平均购买力最强?

        不同年龄段消费者最爱购买的商品有没有差别?

        哪些商品由于不受年轻消费者欢迎可能会被渐渐淘汰?

    由上可见,这个超市小票Cube可以由商品、时间、区域、店铺、顾客等业务角度来描述,这些业务角度就是维度。


    Measure(度量)


    在Cube中,除了维度所代表的业务角度信息外,还有度量这个能够被精确量化的数值信息。

小票Cube中的商品购买数量、商品单价、消费总额就是度量。


    下面这张图,我们就可以看作是一个Cube(数据立方体),商品种类、地区、季度就可当作是Dimension(维度),商品的销售额、销售量就可当作为度量。对于自己的数据也需要区分好维度、度量方便进行后期分析。



image.png


    概念篇就先到这里吧,后期还会出现很多概念。如:MDX、Hierarchy、Level等,这些都是集成Mondrian多维分析引擎框架时所需要了解的。

评论2
评论已关闭