我们需要怎样的OLAP?
2011-03-20 11:31
239 查看
OLAP是BI应用中的重要组成部分。
OLAP从字面上理解的意思是在线分析,也就是由用户面对业务数据实时进行各种分析操作。
不过,现在的OLAP被严重狭义化了,仅指基于多维数据(或模拟出的类似结构)进行钻取、聚合、旋转、切片等操作,也就是多维交互分析。
这种OLAP的应用,需要技术人员事先建好一批有针对主题的数据立方体(CUBE),然后用户可将这些数据以交叉表或图形的方式展现出来,并对其实时实施各种变换(旋转、钻取等),在过程中希望找出数据的某种规律或支撑某个结论的论据,从而达到分析目的。
这是我们需要的在线分析吗?
要回答这个问题,我们需要认真考察一下在线分析的实际应用过程,从而研究在线分析需求解决术问题到底是什么。
任何一个行业中有多年工作经验的从业人员一般都会对自己从事的业务产生一些猜测,如
股票分析师会猜测满足某种条件的股票容易上涨
航空公司的业务人员会猜测何种人群习惯于购买哪类航班
超市经营者也会猜测何种价位的商品更适应周边的人群
…
这些猜测正是预测的基础。而一个建设好的业务系统运行一段时间后也都会积累大量数据,业务人员的猜测很可能已可由这些积累的数据去验证,证实了则可以用于预测,证伪了则再重新猜测。
需要注意的是,这些猜测都是由有经验的业务人员做出的,而不是计算机系统做出的!需要计算机系统做的就是辅助业务人员针对已有数据去证实或证伪猜测,也就是查询数据(包括一定的汇总运算),这就是在线分析的应用过程。之所以需要在线,是由于许多猜测都是业务人员看到了某个中间结果后临时想出来的。整个过程中不可能也不需要事先建模,而由于其临时性,业务人员在验证猜测时也无法借助技术人员的能力。
我们将以上的过程称为核算过程,其目的是从历史数据中找到规律或某些结论的证据,采取的手段是对历史数据进行交互查询计算。
可以举出一些实际要计算(或查询)的例子:
当年内销售额占了一半的前n个客户;
一个月内有连续3天涨停的股票;
超市中一个月发生三次在下午5点钟断档的商品;
本月销量比上月销量下降超过20%的商品;
……
很明显,这种问题是普遍存在的,在业务分析过程中经常需要,并且都可以从历史数据库中计算出来。
那么,狭义化的OLAP能完成上述核算过程中计算吗?
当然不能!
当前的OLAP机制中并未提供多少自由计算的功能,两个关键不足:
1. 多维立方体由技术人员事先准备,业务人员没有设计新立方体和改造现有立方体的能力,一旦有新分析计算需求则必须求助技术人员;
2. 立方体上可实施的分析动作单调。已定义的动作只有钻取、聚合、切片、旋转等少数几种,难以完成多步骤的复杂计算分析行为
虽然OLAP产品的界面展现很炫丽,但却没有提供多少在线分析的能力。
那么我们需要什么样的OLAP?
一种能够支持核算过程的在线分析机制!
从技术上讲,这种OLAP可以看成是一种针对数据的计算(查询和统计可以理解为过滤和汇总计算)。这种计算可由业务人员自由定义,由业务人员根据已有的结果临时决定下一步计算动作,无须技术人员的参与;另外,由于数据来源一般是数据库系统,因而要求这种计算能很好地支持批量的结构化数据,而不是简单的数值计算。
那么,具体该怎么完成这一功能呢?以后再来扯。
OLAP从字面上理解的意思是在线分析,也就是由用户面对业务数据实时进行各种分析操作。
不过,现在的OLAP被严重狭义化了,仅指基于多维数据(或模拟出的类似结构)进行钻取、聚合、旋转、切片等操作,也就是多维交互分析。
这种OLAP的应用,需要技术人员事先建好一批有针对主题的数据立方体(CUBE),然后用户可将这些数据以交叉表或图形的方式展现出来,并对其实时实施各种变换(旋转、钻取等),在过程中希望找出数据的某种规律或支撑某个结论的论据,从而达到分析目的。
这是我们需要的在线分析吗?
要回答这个问题,我们需要认真考察一下在线分析的实际应用过程,从而研究在线分析需求解决术问题到底是什么。
任何一个行业中有多年工作经验的从业人员一般都会对自己从事的业务产生一些猜测,如
股票分析师会猜测满足某种条件的股票容易上涨
航空公司的业务人员会猜测何种人群习惯于购买哪类航班
超市经营者也会猜测何种价位的商品更适应周边的人群
…
这些猜测正是预测的基础。而一个建设好的业务系统运行一段时间后也都会积累大量数据,业务人员的猜测很可能已可由这些积累的数据去验证,证实了则可以用于预测,证伪了则再重新猜测。
需要注意的是,这些猜测都是由有经验的业务人员做出的,而不是计算机系统做出的!需要计算机系统做的就是辅助业务人员针对已有数据去证实或证伪猜测,也就是查询数据(包括一定的汇总运算),这就是在线分析的应用过程。之所以需要在线,是由于许多猜测都是业务人员看到了某个中间结果后临时想出来的。整个过程中不可能也不需要事先建模,而由于其临时性,业务人员在验证猜测时也无法借助技术人员的能力。
我们将以上的过程称为核算过程,其目的是从历史数据中找到规律或某些结论的证据,采取的手段是对历史数据进行交互查询计算。
可以举出一些实际要计算(或查询)的例子:
当年内销售额占了一半的前n个客户;
一个月内有连续3天涨停的股票;
超市中一个月发生三次在下午5点钟断档的商品;
本月销量比上月销量下降超过20%的商品;
……
很明显,这种问题是普遍存在的,在业务分析过程中经常需要,并且都可以从历史数据库中计算出来。
那么,狭义化的OLAP能完成上述核算过程中计算吗?
当然不能!
当前的OLAP机制中并未提供多少自由计算的功能,两个关键不足:
1. 多维立方体由技术人员事先准备,业务人员没有设计新立方体和改造现有立方体的能力,一旦有新分析计算需求则必须求助技术人员;
2. 立方体上可实施的分析动作单调。已定义的动作只有钻取、聚合、切片、旋转等少数几种,难以完成多步骤的复杂计算分析行为
虽然OLAP产品的界面展现很炫丽,但却没有提供多少在线分析的能力。
那么我们需要什么样的OLAP?
一种能够支持核算过程的在线分析机制!
从技术上讲,这种OLAP可以看成是一种针对数据的计算(查询和统计可以理解为过滤和汇总计算)。这种计算可由业务人员自由定义,由业务人员根据已有的结果临时决定下一步计算动作,无须技术人员的参与;另外,由于数据来源一般是数据库系统,因而要求这种计算能很好地支持批量的结构化数据,而不是简单的数值计算。
那么,具体该怎么完成这一功能呢?以后再来扯。
相关文章推荐
- 我们需要怎样的OLAP
- 我们需要怎样的OLAP?
- 我们需要什么怎样的OLAP(转摘并修改)
- 随记:我们需要怎样的数学教育?
- 蜂巢 - Thinking in Agile - 我们需要怎样的软件过程(2)
- 蜂巢 - Thinking in Agile - 我们需要怎样的软件过程(2)
- 蜂巢 - Thinking in Agile - 我们需要怎样的软件过程(1)
- 随记:我们需要怎样的数学教育?
- 蜂巢 - Thinking in Agile - 我们需要怎样的软件过程(1)
- 我们需要怎样的健康的优越感
- 我们需要怎样的生活
- 我们究竟需要一个怎样的IDE? 推荐
- 我们究竟需要一个怎样的IDE
- 【正一专栏】评《我的前半生》——我们需要怎样的价值观
- 随记:我们需要怎样的数学教育?
- 我们需要怎样的开发人员之乱谈
- 我们需要怎样的沟通工具(一)情境沟通
- 随记:我们需要怎样的数学教育?
- 我们到底需要怎样的网络拓扑管理软件
- VR交互探秘:我们到底需要怎样的手部交互?