数据仓库(十):OLAP技术

1 几种OLAP

OLAP服务器通常采用多维模型(Inmon认为多维模型应当用在数据集市上,而数据仓库应采用关系模型;Kimball认为可以直接采用多维模型建立维度数据仓库。二人均认可多维模型,只是应用场景不同),其具体实现可分为:

ROLAP(关系型联机分析处理):ROLAP基本数据和聚合数据均存放在RDBMS之中。

MOLAP(多维联机分析处理):MOLAP基本数据和聚合数据均存放于多维数据库中。

HOLAP(混合型联机分析处理):HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。

2 多维数据库

多维数据库(Multi Dimensional Database,MDD)可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。

MDD并没有公认的多维模型(关系型数据库的多维模型通常采用星型模式),也没有像关系模型那样标准地取得数据的方法(如SQL、API等)。基于MDD的OLAP产品,依据决策支持的内容使用范围也有很大的不同。详见:多维数据库

3 OLAP基本操作

OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)等。

3.1 切片

切片(Slice)在多维数组的某一维上选定一个维成员的动作称为切片(定义一)。即在多维数组(维1,维2,……,维n,变量)中选一维,如维i,指定其值Vi,所得到的多维数组的一个子集(维1,维2,……维成员Vi,……维n,变量)。其中维成员是维的一个取值。

定义二:选定多维数组的一个二维子集的动作叫做切片。选定两个维,指定这两个维的值分别取某个区间,其余维都取定一个值(或维成员),得到的就是多维数组在两个维上的一个二维子集。注意:定义一中,选一个维,指定一个值,而非指定取值区间。

3.2 切块

切块(Dice)
定义一:在多维数组的某一维上选定某一区间的维成员的动作称为切块,即限制多维数组的某一维的取值区间。

定义二:选定多维数组的一个三维子集的动作称为切块。即选定3个维,这三个维度上取某一区间或任意的维成员,而其余的维都取定一个维成员,则得到在三个维上的一个三维子集。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值