抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

OLAP梳理(Online Analytical Processing)

基本概念:

  • OLAP面向的是复杂的多维数据模型

    一般底层的数据结构是一个二维的数据表的样子

    因为会涉及到维度按照度量拍序,度量按照维度排序,所以二维数据表的排序算法很重要(会涉及到多维度比较器链,这里不是一个维度参与排序,类似于sql的order by a,b,c….),我们NewBI用的排序算法应该是自己开发的一个简易的快速排序

    NewBI中的OLAP的算法不是很多不是很复杂,主要复杂的地方有OLAP查询的结果集合并,就是两个二维表结果集合并,交叉表构建(难点)

  • OLAP的核心研究对象是Cube模型(有的也叫,数据立方)

    包含了三个基本分析操作:

    • 下钻

      按照日期维度(年->月->日)角度去对数据进行查看

      按照地理维度(国家->省份->城市->乡村)逐步下钻查看

    • 上卷

      下钻的反向操作

    • 切片和切块

      比如数据集中筛取一组数据(切片),从不同的角度(切块)去查看(比如订单,从时间,渠道,sku等)

  • OLAP的建模及优化(难点)

    • 星型模型和雪花模型的逻辑建模
    • 根据查询维度动态优化cube,比如没有用到某一个表的维度字段,那么可以在查询的时候不去做join,将模型简化
  • SQL解析(难点)

    将cube的多维数据查询模型,解析成AST语法树,然后翻译成sql或者MDX语法,交给数据库执行或者生成MR。这里面会涉及到如sql优化,结果映射等

  • 其他的思想

    分治思想(forkjoin)

    sql优化、数据压缩等

这个是BI这种T+1的OLAP思想

评论