从数仓到商业智能,我们去一探究竟

时间:2021-01-12

说到数据分析,不得不谈到的数据仓库和BI工具,今天我们从一个角度,数仓的角度来看看商业智能的发展,还有解决的实际问题。

说到数据分析,不得不谈到的数据仓库和BI工具,今天我们从一个角度,数仓的角度来看看商业智能的发展,还有解决的实际问题。
什么是数据仓库

数据仓库(DataWarehouse),一般缩写成DW、DWH。数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
--来自智库百科

从字面上来看,数据仓库就是一个存放数据的仓库,它里面存放了各种各样的数据,而这些数据需要按照一些结构、规则来组织和存放。这里我们会遇到一个问题就是同样是存放数据的仓库,那数据库和数据仓库是一样的吗?

数据库 VS 数据仓库

数据库就是我们常用的关系型数据库(MySQL、Oracle、PostgreSQL...),还有什么非关系型数据库,它主要存放业务数据,那数据仓库有有些什么数据呢?
说到他们的区别,我们一般会提到OLTP和OLAP,
OLTP:on-line transaction processing,联机事务处理,主要是业务数据,需要考虑高并发、考虑事务
OLAP:On-Line Analytical Processing,联机分析处理,重点主要是面向分析,会产生大量的查询,一般很少涉及增删改。

BI的作用与价值

BI,Business Intelligence的简称,顾名思义,也叫做商业智能。其主要价值,在于通过一系列的数据技术,从数据中挖掘隐藏的客观规律,总结这些规律背后的原因,并用于指导公司业务的发展。

大多数情况下,BI分析师的工作,就是通过SQL、Python等语言,将已经统计好的数据,结合数据模型或者是分析框架,来对业务进行各种分析,并做成有价值的报表或者报告的形式,供业务方进行分析。

很多人并不清楚数据报表与数据分析的区别。数据报表的重点,是使用相对简单的数学方法,来对历史数据进行展示和呈现;数据分析的重点,是采用更复杂的计算逻辑,并能够预测一些特定的问题、识别因果关系、确定最优解决方案的方法。可以说,数据报表“更广”,数据分析“更深”。

从数仓的视角看,数据工程师的第一目标,便是通过事先预处理好的数据,支持业务及分析师的数据探查需求,因为数据系统能够极大的降低数据使用的门槛,简化分析师或者是业务对于数据的理解成本。

但仅仅完成第一目标并不够,我们需要体现自身的价值,就需要向第二目标迈进,即价值增量。

BI系统的价值增量

如何体现BI的价值增量,并不像AI或者智能那样,是一个比较泛化的概念,而是有实际的思路。例如,我们要出一份报告,针对某个特定的问题,而如何描述这个问题,以及针对问题的原因,要做怎样的动作,通常有如下的分析思路:

描述型分析:发生了什么?

诊断型分析:为什么会发生?

预测型分析:可能发生什么?

指令型分析:需要做什么?

而这几类思路的实现,对数仓的要求,都是相似的:即提供一种完整的数据探查与反馈链路。而这种需求,对数仓的要求,就不仅仅局限在维度建模理论上,而是要求将BI系统、模型系统与反馈系统集合起来应用。

因此,我们做需求的思路,就需要围绕“BI分析周期”展开,而不仅仅是follow产品或运营的需求,这就需要我们自己有做产品的意识,为自己做的产品负责。这种情况下,我们与产品或运营,其实是一种合作关系。那么对于BI产品的建设,数仓来负责,应该有怎样的套路?大约分为下五个部分:

观察业务。通过开发标准化的报表系统,来观察业务的运行情况。

识别异常。通过已有的报表,能够快速定位“出了什么问题”或“问题在哪里”。可以通过BI系统的着色工具,用于标记有问题的数据部分,快速指导分析人员关注重要的业务时机或者有问题的数据。

确定异常原因。通过额外的数据处理,做对比验证,包括将数据进行关联、排序,或者是外部的数据(天气等)。

提供决策方案。在已有因果关系的基础上,设计模型以评价决策供选方案,而数据仓库丰富的历史信息,辅助以数据分析模型、数据挖掘算法,正是评价决策效果的宝库。

采取行动并跟踪结果。BI系统所发现的问题,能够通过其他应用程序,反馈给运营,并及时采取行动。

大多数情况下,如何对问题数据进行分析和处理,都存在了分析人员的大脑里。但是,综合性的BI系统,应当是能够超过标准报表的应用范围,通过对业务形式的判断,来主动的“指导”用户,最终帮助他们做出富有见地和深思熟虑的决策。

因此,从数仓角度出发,BI系统的目标应当是:

主动指导用户超出报表范围的思考;

识别和了解异常的数据情况;

为每个异常问题提供解决的“最优方法”

在公司内部共享“最优方法”或者是知识资本。

这些,就是数仓团队,能够提供的价值增量。

BI系统的功能建设

BI系统应当分为几个主要的子系统,包括:

同步工具:提供基本的数据同步功能,支持多数据源的导入,允许用户自定义结果集。

看板展示:是预定义的、预先编排好格式的报表,一般提供某个层次的用户交互,比如输入参数,向下钻取到较低层次的细节数据,以及链接到相关报表等。

仪表盘:一般是由报表和图表组合而成的,能够突出数据的相关特征,并提供向下钻取的功能、或者异常高亮等功能,能够对多个业务过程的数据进行交叉分析。

分析性程序:根据对业务过程的决策分析进行管理,比如发起会话、生成文案等。

权限系统:支持定义查看数据角色,通常要支持到卡片粒度,高级一些的能够支持到行权限。

当然,很多时候,分析师对于BI系统的需求是非常个性化的,例如报表的样式希望能够自定义、或者是读取数据量超级大的明细,并且提供一定的内存计算、再或者是希望将树形、图形数据的结构展示出来,而不过多的加工数据,等等。这就对于系统的功能和性能提出了非常高的诉求。其实很多BI系统,可以提供一些自定义的功能,比如支持动态SQL、支持CSS自定义编辑、支持组件拖拽方式的SQL开发,等等,但这些功能通常都有比较高的理解和使用成本,更适合进阶一些的分析师。很对BI系统在兼顾易用性与功能性的时候,容易做出一些妥协,从而影响了产品的简洁,满足了一批分析师的需求,又赶跑了一批新用户。

因此,既然我们选择了BI系统,那么就需要考虑放弃一些过多的修饰,而把精力放在数据本身上。对于数仓同学来说,对于BI系统,并不是可以放任不管的状态,因为如果数据出现了问题,例如算错了,或者延迟了,最终还是需要数据来兜底。

因此,数据还需要考虑如下的一些工作:

数据集的建设:合作的分析师或者运营,如果不理解维度建模,那么我们的工作职责还需要覆盖到BI系统数据集的建设上来,协助将数据的同步、组合与注释,相对应的标记好。

数据同步的建设:如果离线数仓2小时加工好的数据,需要3个小时才能同步到数据库里,或者是明细数据太大,撑爆了系统或者浏览器,都算是数据故障的一种,而如果避免这些问题,同样需要数据同学的参与。如果明细确实太大,那就考虑用户是否需要这么多的明细;如果数据库性能不足,那就需要与数据库同学一同进行调优。

数据分析思路的提议:通常情况下,数据开发是最懂数据的那部分人,而我们BI系统分析问题的思路是什么,是应该最有发言权的。尽管我们不直接对业务结果负责,但数据系统还是应该遵循一些基本的分析思路,如果自己都看不懂,那么我们的成果也得不到承认,“行百里者半九十”,最后的十步,就是在BI系统的建设思路上了。

(部分内容来源网络,如有侵权请联系删除)
分享:
更多
华宇智能数据助力行业数字化转型
业务咨询
不被时代淘汰
行业数字化转型迫在眉睫!
华宇智能数据面向金融、财税、医疗卫生、应急、政务行业提供专业咨询规划与技术支持服务,打造数十个行业智能数据解决方案,为客户提供值得信赖、智慧的信息化服务。
部级单位为国家50余个部级单位提供产品和服务
金融企业3家金融监管单位,两大政策性银行与100多家商业金融机构
省市级单位覆盖全国各地税务、卫生部门及若干省市级单位
世界500强为超过20%的世界500强在华企业提供数据服务
业务数字化转型咨询请点击
免费商务咨询
您点击 “提交”,表明您已理解并同意接受本网站隐私政策和用户协议