我们需要怎样的 OLAP

简介: OLAP(在线分析处理)最初指代人员对数据进行交互式分析操作,但如今其概念被BI软件狭义化为多维分析。真正的在线分析应包括业务人员基于经验做出猜测并验证,从历史数据中寻找规律。多维分析虽能提供有用信息,但难以完成复杂计算。SPL(结构化查询语言的一种变体)因其强大的数据处理能力和易管理性,成为业务人员和开发人员进行复杂数据分析的理想工具。

OLAP 这个词从字面上理解是在线分析的意思,也就是由人员面对数据进行各种交互式的分析操作。
但是,现在的OLAP 概念被 BI 软件给严重狭义化了。面向业务分析时说到 OLAP,在技术上经常就只有多维分析的功能,也就是针对一个事先建设好的数据立方体,按指定维度层次进行汇总并呈现成表格或图形,再辅以钻取、聚合、旋转、切片等操作以变换维度层次及汇总范围。这些大家都很熟悉,就不再细说了。
多维分析就是在线分析的全部吗?

我们来考察这样一种数据分析过程。
任何一个行业中有多年工作经验的从业人员一般都会对自己从事的业务产生一些猜测,如:

股票分析师会猜测满足某种条件的股票容易上涨;
公司经理对哪些销售员擅长对付难度大的客户心里会有数;
班主任也大概知道偏科同学的成绩都有什么特征;

这些猜测是预测的基础。业务系统运行一段时间后会积累出大量数据,这些猜测就很可能被这些积累的数据验证,证实了则可作为一种规律性的结论,用于指导下一步的动作,证伪了则再重新猜测。
这才是在线分析应该做的事情!基本的动作就是猜测和验证,其目的是从历史数据中找到规律或支撑某些结论的论据。而在线分析软件要做的事情,就是帮助使用人员针对数据去验证猜测。

这里需要注意的是,这些猜测都是由有业务经验的人做出的,而不是软件系统!之所以需要在线,是由于许多猜测都是使用人员看到了某个中间结果后临时想出来的。不可能也不需要事先设计端到端的完整路径,也就是无法建模。
技术上,就是需要让使用人员有能力对数据进行灵活交互式的查询和计算。比如结合上面举的例子,用户要完成的计算可能是这样的:

这个月内连涨3天的股票,第4天还继续上涨的比率有多大?
哪些半年不出单的客户在更换了销售人员后半年就出单了?
语文和数学成绩都在前10名的学生,英语成绩排名是怎样的?
...
显然,上述问题都可以通过对历史数据计算而回答出来,但是,用多维分析技术能实现吗?
恐怕不能!
多维分析在技术上有两个不足:一是立方体要事先准备,使用人员通常没有临时设计和改造立方体的能力,一旦有新的分析需求则必须重建立方体;二是立方体上可实施的分析动作单调,只有钻取、聚合、切片、旋转等少数几种,难以完成多步骤的复杂计算行为。近年来流行的敏捷 BI 产品在操作的流畅性和界面的炫丽度都较早期 OLAP 产品有较大的提升,但本质计算功能并没有增长多少,还是在做多维分析,该不能算的还是不能算。
多维分析确实能够得到一些有益的信息,比如经常举的例子,成本过高时可以精确定位出到底是哪个部门和业务造成的。但是,多维分析却得不到前述例子中我们希望从数据中获得的规律性结论,而毕竟有了规律性结论才能预测并指导工作。从这个意义上讲,把在线分析仅仅理解成多维分析是不完整的。

那么,用于规律发现(更确切地说是规律验证)的 OLAP/BI 软件应当是什么样的呢?
前面说过,从技术上讲,规律验证可以看成是一种针对数据的查询和计算过程,其关键点在于这种过程可以由分析人员自由定义,也就是 OLAP/BI 软件应当具有由业务人员自主实施交互计算的功能。
获取数据后就是计算。这种计算的特点在于要根据上一步的结果临时决定下一步动作,不能事先设计过程,所以必须是交互式的,很象计算器的模式。另外,这里需要计算的数据都是批量的结构化数据,而非简单的数值,区别于普通数值计算器,可以把这个功能形象地称为数据表格计算器。
Excel 在一定程度上就拥有这种能力,结果事实上 Excel 才是成为应用最广泛的桌面分析工具。不过 Excel 对于较复杂的数据运算以及要反复要执行的动作也会力不从心,比如刚才举例中的计算都不是很容易直接用 Excel 中完成。

这时候就要借助编程的力量了,支持步骤的程序语言可以写出非常复杂的运算。但遗憾的是,没有多少合适的程序语言。作为 Excel 中自带的程序语言,VBA 天然可以运行在 Excel 中,但 VBA 不是一种集合化的语法,代码编程复杂度很高,也不擅长处理结构化数据。至于 Python,我们之前也讲过,它只是看上去很美,实际上很难,大部分人根本学不会,而且只能运行在 Excel 的外部,也很不方便。
业内可能只有 SPL 才是适合 Excel 分析师使用的程序语言了,SPL 有强大的结构化数据处理能力,特别地,SPL 还提供了 Excel 插件,允许用户在 Excel 中直接使用 SPL 代码完成 Excel 很难实现的复杂运算。

编程有一定的门槛,还是有些业务分析人员学不会编程,那这些问题可以由技术人员配合解决。这时候 OLAP 软件要做的事就不是让业务人员自己实现过程计算,而是要提高业务人员获取技术资源的效率,以及技术人员实现需求的开发效率。
具体来讲有两个方面:一是建立历史问题库,某些以前曾经做过的问题,可以由业务人员直接调出算法改变参数执行;即使是新需求,也可以找到类似问题以协助技术人员准确理解,技术人员和业务人员的理解不一致是造成事务延期的主要因素之一;二是提供高效且可管理的开发技术,让技术人员能快速编写和修改计算代码,并可将这些代码存入历史算法库中保管和再次执行。
不过,这件事业界也没有多少适合的技术,SQL 可管理性较好,但编写繁琐而难以处理有过程计算;存储过程需要再编译而不方便再次执行;Java 代码也要再编译而基本上不可管理;Python 这类脚本语言的集成性又较差,而且版本一致性不好,也难以入库管理和在较大范围内执行。
对于这个场景, SPL 也是更好的选择。SPL 功能强大,代码开发效率高,还适合大数据,脚本化的代码也很容易入库管理和再次利用,有问题可前往乾学院探讨!

相关文章
|
17天前
|
存储 弹性计算 人工智能
阿里云Alex Chen:普惠计算服务,助力企业创新
本文整理自阿里云弹性计算产品线、存储产品线产品负责人陈起鲲(Alex Chen)在2024云栖大会「弹性计算专场-普惠计算服务,助力企业创新」中的分享。在演讲中,他分享了阿里云弹性计算,如何帮助千行百业的客户在多样化的业务环境和不同的计算能力需求下,实现了成本降低和效率提升的实际案例。同时,基于全面升级的CIPU2.0技术,弹性计算全线产品的性能、稳定性等关键指标得到了全面升级。此外,他还宣布了弹性计算包括:通用计算、加速计算和容器计算的全新产品家族,旨在加速AI与云计算的融合,推动客户的业务创新。
|
24天前
|
存储 人工智能 弹性计算
产品技术能力飞跃,阿里云E-HPC荣获“CCF 产品创新奖”!
9月24日,在中国计算机学会举办的“2024 CCF 全国高性能计算学术年会”中,阿里云弹性高性能计算(E-HPC)荣获「 CCF HPC China 2024 产品创新奖」。这也是继 2022 年之后,阿里云E-HPC 再次荣获此奖项,代表着阿里云在云超算领域的持续创新结果,其产品能力和技术成果得到了业界的一致认可。
|
8天前
|
SQL 人工智能 安全
【灵码助力安全1】——利用通义灵码辅助快速代码审计的最佳实践
本文介绍了作者在数据安全比赛中遇到的一个开源框架的代码审计过程。作者使用了多种工具,特别是“通义灵码”,帮助发现了多个高危漏洞,包括路径遍历、文件上传、目录删除、SQL注入和XSS漏洞。文章详细描述了如何利用这些工具进行漏洞定位和验证,并分享了使用“通义灵码”的心得和体验。最后,作者总结了AI在代码审计中的优势和不足,并展望了未来的发展方向。
|
4天前
|
负载均衡 算法 网络安全
阿里云WoSign SSL证书申请指南_沃通SSL技术文档
阿里云平台WoSign品牌SSL证书是由阿里云合作伙伴沃通CA提供,上线阿里云平台以来,成为阿里云平台热销的国产品牌证书产品,用户在阿里云平台https://www.aliyun.com/product/cas 可直接下单购买WoSign SSL证书,快捷部署到阿里云产品中。
1844 6
阿里云WoSign SSL证书申请指南_沃通SSL技术文档
|
2天前
|
存储 安全 Oracle
【灵码助力安全3】——利用通义灵码辅助智能合约漏洞检测的尝试
本文探讨了智能合约的安全性问题,特别是重入攻击、预言机操纵、整数溢出和时间戳依赖性等常见漏洞。文章通过实例详细分析了重入攻击的原理和防范措施,展示了如何利用通义灵码辅助检测和修复这些漏洞。此外,文章还介绍了最新的研究成果,如GPTScan工具,该工具通过结合大模型和静态分析技术,提高了智能合约漏洞检测的准确性和效率。最后,文章总结了灵码在智能合约安全领域的应用前景,指出尽管存在一些局限性,但其在检测和预防逻辑漏洞方面仍展现出巨大潜力。
|
6天前
|
Web App开发 算法 安全
什么是阿里云WoSign SSL证书?_沃通SSL技术文档
WoSign品牌SSL证书由阿里云平台SSL证书合作伙伴沃通CA提供,上线阿里云平台以来,成为阿里云平台热销的国产品牌证书产品。
1778 2
|
15天前
|
编解码 Java 程序员
写代码还有专业的编程显示器?
写代码已经十个年头了, 一直都是习惯直接用一台Mac电脑写代码 偶尔接一个显示器, 但是可能因为公司配的显示器不怎么样, 还要接转接头 搞得桌面杂乱无章,分辨率也低,感觉屏幕还是Mac自带的看着舒服
|
22天前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
5175 15
|
9天前
|
人工智能 关系型数据库 Serverless
1024,致开发者们——希望和你一起用技术人独有的方式,庆祝你的主场
阿里云开发者社区推出“1024·云上见”程序员节专题活动,包括云上实操、开发者测评和征文三个分会场,提供14个实操活动、3个解决方案、3 个产品方案的测评及征文比赛,旨在帮助开发者提升技能、分享经验,共筑技术梦想。
1047 147
|
17天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1583 12