【数据蒋堂】第11期:不要对自助BI期望过高

从早期的多维分析(OLAP)到近年来的敏捷BI,BI产品厂商一直在强调自助能力,宣称可以由业务人员自己分析数据,而用户方也常常有强烈的此类需求,双方一拍即合,很容易形成购买行为。但是,BI产品的自助功能真地能让业务用户自己随心所欲地分析数据吗?

“分析”这个词并没有一个业界公认的严格定义,所以不能说这些BI产品是否过份宣传了。不过,就大多数缺乏BI应用经验的用户所期望的工作内容而言,自助分析的目标就可以说远远达不到!从经验上看,最好情况也就能解决30%左右的问题而已,而大多数BI产品连这个数也达不到,只能处理10%左右的需求。

我们分为三个层面讨论这个问题。

多维分析

多维分析是指针对某个事先建好的数据集(称为立方体)做交互操作。这是大多数BI产品目前能够提供出来的分析能力,尽管新一代产品在界面美观度和操作方便度上有了不小的进步,但能完成的运算功能并没有本质变化。

多维分析的主要问题是有个建模过程,也就是事先准备数据集。如果要分析的数据都可以限定在某个数据集中,且动作只限于产品提供的那些(旋转、钻取、切片之类),那么没有问题。但这是个小概率事件,实际应用中会经常超出这个范围。增加一个以前没想到的数据项,和另一个数据集做一个关联运算,都会导致再建模。而建模需要求助于技术人员,这样业务人员的自助就无从谈起了。

做到多维分析这一步,只能解决10%左右的自助需求,这是BI产品最常见的自助能力。

关联查询

为解决多维分析的局限性,有些BI产品开始提供关联查询能力。一般是在多维分析前面增加一步,能够基于多个数据集关联计算出新的数据集再来做多维分析,或者在多维分析过程中支持多个立方体间的某些关联运算。这相当于允许业务用户一定程度可以自己建模。

不过,实现关联查询并不容易,其根源是关系数据库对关联运算(JOIN)的定义过于简单造成的,导致数据集之间的关联关系看起来过于繁琐,超出许多业务人员的理解能力。这个困境在BI产品的界面协助下能有一些改善,好的BI产品能够让业务人员正确处理没有形成环的关联关系。但是,要从根本上解决问题,就要改变数据库层的数据组织模型。而几乎所有的BI产品都不会重新定义数据库的数据模型,其关联查询能力就会受限。这些较深入的技术问题我们将在后续文章中逐步谈及。

一个可用于检验BI产品关联能力的通俗例子:查询女经理的男员工。这个很简单的查询需求中涉及到同一数据集的多次关联,大多数BI产品都处理不了(除非事先建模)。

有了关联查询能力后,BI产品能解决的自助需求占比能提高到20%-30%,具体程度要看产品提供的关联能力的强弱。

过程计算

剩下70%左右或更多的需求,都会涉及到多步骤有过程的计算。而过程计算完全超出BI产品的设计目标,甚至可以不被认为是数据分析,但却是用户特别希望解决的问题,也就是让业务人员能够随心所欲地(在其权限范围内)获取数据。

一个简单办法是使用BI产品导出基本数据,由业务人员自己用Excel等桌面工具去做。但是,Excel并不擅长处理多层次数据的关联运算(我们后续会讨论到),而且数据量大了也撑不住,在许多应用场景无法胜任。

在没有更好的交互计算技术出现之前,这些问题还是需要技术人员才能解决。在这个前提下,BI产品能做的事就不是让业务人员自己实现过程计算,而是要想法提高业务人员获取技术资源的效率,以及技术人员实现需求的开发效率。

具体来讲有两个方面:一是建立历史问题库,某些以前曾经做过的问题,可以直接由业务人员直接调出算法改变参数执行;即使是新需求,也可以找到类似问题以协助技术人员准确理解,技术人员和业务人员的理解不一致是造成事务延期的主要因素之一;二是提供高效且可管理的开发技术,让技术人员能快速编写和修改计算代码,并可将这些代码存入历史算法库中保管和再次执行。目前业界并没有多少适合的技术,SQL可管理性较好,但编写繁琐而难以处理有过程计算;存储过程需要再编译而不方便再次执行;Java代码也要再编译而基本上不可管理;其它脚本语言的集成性又较差也难以入库管理和再次执行。

针对于用户最普遍的自助数据需求,当前BI产品的能力实际上是相当弱的。经常的情况是:BI厂商说的是多维分析,而用户想的是那些需要过程计算才能解决的问题,这个错位就会导致期望高而失望大的局面。用户要清楚自己的自助需求:是否做到多维分析就够了?有多少关联查询需求?业务人员是否会提出大量需要过程计算的问题?这样才能设定合理的期望值,知道BI产品对自己的作用在哪里,不被产品的花哨界面和流畅操作迷惑,避免事后的遗憾。

原文发布时间为:2017-6-15

本文作者:蒋步星

本文来自合作伙伴“数据蒋堂”,了解相关信息可以关注“数据蒋堂”微信公众号

时间: 2024-11-05 14:57:13

【数据蒋堂】第11期:不要对自助BI期望过高的相关文章

开源大数据周刊-第11期

阿里云E-Mapreduce动态 E-Mapreduce团队 1.3.3版本 (已经发布) 商业化发布,用户无需申请即可使用E-MapReduce服务 1.3.4版本 (正在研发) 升级jdk到1.8 升级Hadoop到2.7.2 添加python2.7.1及python3.4版本 添加numpy库 支持Presto.phoenix.jstorm.oozie 支持Hadoop跟Hbase混合部署 支持深圳.上海机房 1.4版本(正在研发): 用户执行计划及集群运行状态自定义报警 1.4.1版本

开源大数据周刊-第12期

阿里云E-Mapreduce动态 E-Mapreduce团队 1.3.4版本 (已经发布) 升级jdk到1.8 升级Hadoop到2.7.2 添加python2.7.1及python3.4版本 添加numpy库 支持Presto.phoenix.jstorm.oozie 支持Hadoop跟Hbase混合部署 支持深圳.上海机房 1.4版本(正在研发): 用户执行计划及集群运行状态自定义报警 1.4.1版本 集群整体运行情况的仪表盘 集群状态监控报警 资讯 5W1H(六何分析法)全景洞察大数据 我

开源大数据周刊-第15期

阿里云E-Mapreduce动态 E-Mapreduce团队 1.4版本(已经发布) 作业运行失败报警 作业并行提交 添加sqoop.shell类型的作业 1.4.1版本(正在研发) 完善失败报警 完善定时任务,增加小时.分钟定时任务 1.5.0版本 (正在研发) 集群整体运行情况的仪表盘 集群状态监控报警 1.5.0版本 交互式查询(支持hive.spark) 资讯 中国大数据发展10大趋势5大挑战 中国大数据发展10大趋势5大挑战,如:大数据的首席数据官开始崛起.可视化推动大数据平民化.智能

开源大数据周刊-第13期

阿里云E-Mapreduce动态 E-Mapreduce团队 1.3.4版本 (已经发布) 升级jdk到1.8 升级Hadoop到2.7.2 添加python2.7.1及python3.4版本 添加numpy库 支持Presto.phoenix.jstorm.oozie 支持Hadoop跟Hbase混合部署 支持深圳.上海机房 1.4版本(正在研发): 用户执行计划及集群运行状态自定义报警 1.4.1版本 集群整体运行情况的仪表盘 集群状态监控报警 资讯 从Hadoop Summit 2016看

开源大数据周刊-第17期

阿里云E-Mapreduce动态 E-Mapreduce团队 1.4版本(已经发布) 作业运行失败报警 作业并行提交 添加sqoop.shell类型的作业 1.4.1版本(已经发布) 完善失败报警 完善定时任务,增加小时.分钟定时任务 1.5.0版本 (正在研发) 集群整体运行情况的仪表盘 集群状态监控报警 1.6.0版本 交互式查询(支持hive.spark) 资讯 大数据投资人必读:中国大数据发展与投资分析报告 随着大数据蕴涵价值的逐步释放,使其成为IT信息产业中最具潜力的蓝海.大数据正以一

开源大数据周刊-第16期

阿里云E-Mapreduce动态 E-Mapreduce团队 1.4版本(已经发布) 作业运行失败报警 作业并行提交 添加sqoop.shell类型的作业 1.4.1版本(正在研发) 完善失败报警 完善定时任务,增加小时.分钟定时任务 1.5.0版本 (正在研发) 集群整体运行情况的仪表盘 集群状态监控报警 1.6.0版本 交互式查询(支持hive.spark) 资讯 Apache Spark 2.0.0 发布,APIs 更新 该版本主要更新APIs,支持SQL 2003,支持R UDF ,增强

开源大数据周刊-第14期

阿里云E-Mapreduce动态 E-Mapreduce团队 1.4版本(正在发布): 作业运行失败报警 作业并行提交 添加sqoop.shell类型的作业 1.4.1版本 集群整体运行情况的仪表盘 集群状态监控报警 资讯 创业公司如何构建数据指标体系? 对于庞大的创业群体和数据运营新手来说,这将是一篇非常具有参考价值的干货贴,作者将在文章中深入阐述两套构建指标体系的方法,即关键指标法和海盗指标法. 怎样选择数据平台的建设方案 文中对比了MPP.Hadoop传统的数据库等不同方案的优缺点,值得一

【数据蒋堂】第3期:功夫都在报表外-漫谈报表性能优化

应用系统中的报表,作为面向业务用户的窗口,其性能一直被高度关注.用户输入参数后都希望立即就能看到统计查询结果,等个十几二十秒还能接受,等到三五分钟的用户体验就非常恶劣了. 那么,报表为什么会慢,又应当从哪里入手进行性能调优呢? 数据准备 当前应用中的报表大都用报表工具开发,当报表响应太慢时,不明就里的用户就会把矛头指向使用报表工具的开发人员或者报表工具厂商.其实,大多数情况报表的慢只是个表现,背后的原因是数据准备太慢,在数据进入报表环节之前就已经慢了,这时再去优化报表开发或压迫报表工具并没有用处

【数据蒋堂】第15期:开放的计算能力为数据库瘦身

[数据蒋堂]第14期:计算封闭性导致臃肿的数据库 我们在上一期谈到,数据库的臃肿,也就是过多的中间表以及相关存储过程,是由于其计算封闭性造成的.如果能够实现独立的计算引擎,使计算不再依赖于数据库提供,那么就可以为数据库瘦身了. 内部来源的中间数据不必再以数据表的形式落地在数据库中,而可以放到文件系统中,由外部计算引擎提供进一步的计算能力.对于只读的中间数据,使用文件存储时不需要考虑再改写,可以更为紧致并采用一定的压缩手段,而且在访问时也不必考虑事务一致性,机制大为简化,这样能获得比数据库更好多的