开篇介绍
我发现一个问题,当和一些不熟悉我们这个领域的朋友们来说,解释大数据的概念比起解释商业智能 BI 要容易的多。举个例子,我们问“你知道什么是商业智能 BI”吗?通常情况会一脸茫然的回答到:“不知道!”。但是当我们问:“你知道什么是大数据吗?”,通常情况下大部分人都会很直接的回答:“大数据,我知道啊!”.....“就是数据很大”(我问过我同学、朋友、家人,答案几乎一致,但是他们完全没有相关任何从业经验)。通常的还有数据分析、数据挖掘,这些名词本身就和大数据一样自带解释功能。对于一般非本行业的朋友们来说,看到这些词通过字面意思通常就能理解个大概,所以取一个好名字就显得有多么的重要。
站在一个比较专业的角度来看,这些解释肯定不太严谨或者本身的理解就是错误的,比如前面所提到“大数据就是数据大”的情况。但我个人认为这些并不是什么太大的问题,因为能理解个大概总比解释了半天还不能理解要好。那我现在要说的就是如何向身边的朋友或者客户解释什么是商业智能 BI。
不要试图用一句话解释什么是 BI
在看下面的文章之前,先停下来想一下,假设是由你来介绍,你会用什么样的方式向一个朋友或者你的客户来解释什么是商业智能(Business Intelligence) 呢?
比如:
BI 就是把数据转换为信息。
BI 就是报表。
....
我要说的是,不要尝试用一句话解释商业智能 BI 是什么,因为它本身就是一个专业词汇,背后涉及到方方面面的概念和知识体系。就如同跟一个不懂遗传学的人解释什么是“孟德尔遗传规律”一样,即使可能用一句话高度概括了,但我相信很多人听了仍然不懂。所以,当你向你朋友解释不了什么是商业智能 BI 的时候,这是非常正常的。不是我们知识不够我们讲的不好,而是因为它本身太专业,它包括了 ETL、数据仓库、OLAP、数据分析、数据挖掘等专业技术,以及整套将数据变为信息、信息升华为价值的整个过程。
当每个人都认为自己解释的是正确的,但同时在别人的眼里都是不正确的或者不是很完美的时候,就不要试图用一句话来解释了。
什么是商业智能 BI?
我们先来看看官方的解释。
1) 来自 Wikipedia 的定义:Business intelligence (BI) can be described as "a set of techniques and tools for the acquisition and transformation of raw data into meaningful and useful information for business analysis purposes". (https://en.wikipedia.org/wiki/Business_intelligence)
2) 来自百度百科:BI 是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。简单讲就是业务、数据、数据价值应用的过程。(Business Intelligence)
对于一些完全没有接触过 BI 的朋友们来说是不是很难理解? 什么叫高质量决策的技术集合?什么叫钻取数据?业务、数据、数据价值应用又是什么?
如何快速的理解商业智能 BI?
跟人们解释一样东西,还是从他们最熟悉的东西开始。我们从到一个餐厅点单开始说起,同时便于大家对比和理解,我在这里不提商业智能 BI,只提一个最简单的场景,从做一张报表开始。
点单和提出报表需求
在图片左边,我们现在去一个餐厅点单,需要点一个菜叫做“小鸡炖蘑菇”。同时在图片右边,我们需要做一张有关销售方面的报表。
餐厅点单的时候,顾客提出了具体的要求(假设可以这样随便提出要求),比如对于食材必须是深山散养的童子鸡,以及对于其它材料的要求,蘑菇的切法等等。这就对应于我们现在要一张有关“产品销售分析”的报表一样,需要弄清楚这张报表应该如何展现,具体需要哪些方面的数据展现在报表上面。无论是点单还是报表需求询问,这都是一个“提出需求的过程”。客户要什么东西,这些东西怎么做,这些就是需求。
备菜的过程与准备报表数据
备菜的过程说简单点就是要上这盘菜,要炒这盘菜,首先我们得把原材料准备好,比如鸡肉、香菇。同样的,我们要去准备一张报表,需求拿到了,那我们就要去准备好这些数据,比如销售相关的、产品相关的数据。备好的菜是放在一个叫操作台的地方,大厨就直接可以炒菜了。同样的,备好的数据放在一个叫“数据仓库 Data Warehouse”的地方,报表开发人员可以从里面直接找到数据制作报表。
原材料的清洗和数据的清洗
下锅炒菜的时候不能直接把一只鸡放在操作台上扔进锅里炒,在原材料变成炒菜的材料之前要把鸡割颈拔毛开膛破肚去屁股尖切成块;蘑菇去根,洗净,顶部开十字口等等,这是一个择菜、洗菜、把源材料变成一个真正可用可下锅的一个过程。这个过程就是 ETL —— Extract 抽取,把鸡拿出来;Transformation 转换,把鸡变成鸡块,完成清洗和转换工作;Loading 加载,把洗净的鸡块放到操作台上以供随时炒菜。
数据的准备过程和菜品原材料的清洗过程是一样的道理,数据是存放在一些数据表中,但是并不是所有的数据都需要抽取出来,只有有用的数据才会被抽取(Extract);涉及到一些数据需要去重、合并计算、格式转换(比如 15/10/22 转换成 2015-10-22)等都属于 Transformation 阶段;Loading,最后把数据统一加载到数据仓库 Data Warehouse,数据仓库中有一组表。
对于菜品的源材料清洗过程很容易理解,这里为了让大家理解对于数据 ETL 的过程,举了下面这个例子。第(1)张表是我们的原始数据,我们的清洗规则是拿到从0034到0036,0036到0048之间的时间间隔,因此需要通过程序来计算和整理这些数据,可能先转变成第(2)张表的数据,最后再计算转变成第(3)张表的结果。而第(3)张表的结果就是报表最后要的结果,比如展示 ID = 1001, 1002, 1003 ... 等各自的时间间隔。
原材料的采购和源数据的加载
我们再继续想一想,这些鸡和蘑菇是从哪里来的?菜场。可能是一个菜场,也可能是多个菜场的多个摊位采购的,采购之后先原封不动的放到厨房。
源数据的采集和加载也是同样的道理,数据可能是来自外部系统,也可能来自内部的不同业务系统,比如 CRM 系统、ERP 系统,也有可能来自业务人员的 EXCEL 表格, 这些统称为 Data Source 数据源。
这些数据通过 ETL 工具原封不动的抽取到一个叫做 ODS 或者 STAGING 的数据库(或者数据库中的一些表)先存放起来,就类似于把菜买回来先放到厨房,先放起来。后面才有数据的清洗、整理,完毕之后才放到数据仓库,在之后就是制作报表的过程。
这里还要解释一下,ETL 工具和 ETL 的概念区别。ETL 描述的是将数据从一个源头抽取出来,中间完成了数据的清洗和整理,把干净的数据放入到目标数据库或表这样的一个过程。这个过程是可以通过一些工具来实现的,这些帮助实现 ETL 过程的工具统称为 ETL 工具,比如 DataStage、Kettle、Informatica、微软 BI 的 SSIS 等。
回顾整个过程
其实到这里,这些流程已经是比较清楚了,现在只需要反转一下。
其中有几个点我再来解释一下:
第一,菜并不是客户点了单之后我们才到市场去采购的,而是在点菜之前就准备好了的。同样的,报表并不是客户提出了需求我们才去找数据,可能这些数据早就准备好了,当报表需求提出的时候我们只需要从数据仓库中去取就可以了。如果菜品的源材料没有了,只是当时这个菜可能做不了,但并不代表以后这个菜就没有了,以后仍然可以采购。同样的,如果报表所要的数据没有了,就需要顺着这个流程反过来去找,找到数据的源头,然后抽取过来,加工放到仓库里。
第二,在 BI 项目中,通常数据是定时比如说每天晚上或者凌晨从各个数据源抽取到 STAGING/ODS,再到数据仓库,所有的历史数据根据不同的设计得到部分或者全部保留。
第三,从上图中 ODS/STAGING 到 DW 处我用 ETL 来匹配“择菜、洗菜、切菜”的过程。其实从各个数据源抽取数据到 ODS/STAGING,也属于 ETL,只不过在这个 ETL 过程中数据都是原封不动的搬过来,发生了很少的或者没有发生 TRANSFORMATION 转换操作。
一个简单的 BI 项目架构
这篇文章不会把 BI 描述的过于复杂,就如同描述一栋住宅一样。这个住宅你可以规划的非常复杂,把一切都描述的尽善尽美。你也可以把住宅画的很简单,也能让大家明白这就是一个住宅,有门有窗有房顶。同样的道理,对于 BI 来说,不同的人有不同的解释和定义,但我们一样可以描述的很简单。
商业智能 BI 就是一个把数据变为信息的过程 —— 将企业中的各个部分、各个业务系统中的数据统一的按照一定规则的抽取、清洗,最后加载到一个统一而集中的数据库中。在这个数据库之上,可以做报表展现、也可以做数据分析,最后这些展现和分析的结果将能成为一些决策的重要数据支持,这就是描述商业智能 BI 的一个最简单的价值。简单概括这个过程所体现的三个大的部分就是:Data Source 数据源,Data Warehouse 数据仓库的数据准备,Reporting 报表系统提供报表展现和数据分析。
关于报表展现和数据分析
我这里再来放一些图表,来自不同的报表工具,这些报表都是以展现或者分析的目的而制作的,通过数据报表来发现和找到企业在生产、内部管理、市场、客户管理等各个方面的问题,或者作为日常会议决策过程的数据支持。
最后我要说的是,这并不是 BI 的全部,BI 所涉及到的内容和部分比想象中的更复杂。但是作为一个之前并不了解 BI 的朋友们来说,相信通过这篇文章会让你对 BI 的认识更加清晰一些,尽管到最后你还是不能用一句话来表达它的全部。如果看完了之后,更加觉得疑惑或者有更多的问题想要抛出来,可以稍微压抑一下自己的冲动,只需要把做饭的过程和我所描述的报表制作过程理解了就可以了。如果连做饭的过程都不知道,我只能说你日子过的太舒服了,请不要到这里和我们抢饭碗。
如果想了解的更加深入,我会在我的专栏(天善智能社区 BIWORK)更新更多这样的文章,比如商业智能 BI、大数据、数据分析和数据挖掘它们之间的关系,BI 体系的技术与产品划分等内容。
之前发布的一些文章:
- 如何看懂 Gartner 魔力象限?再度解析 Gartner 2016年商业智能与分析平台魔力象限
- 业务人员不知道如何提出 BI 需求,老板不重视 BI 项目怎么办?
- IT 外包中的甲方乙方,德国人,美国人,印度人和日本人印象杂谈
- 有感于三个50岁的美国程序员的生活状态与IT职业杂想
(全文完)
如需转载,须经天善智能或本人同意授权,并请完整保留以下内容,否则违者必究:
文本转自天善智能社区 BIWORK 专栏,BIWORK 个人微信号:tianshanlvpin