因为要加入一个BI项目,所以最近在研究BI相关的知识体系,由于这个方面的知识都是比较零散,开始都很多概念,不知道从何入手,网上找的资料也不多,特别是实战案例方面更少,这里还是先把理论知识理解下吧,分享给大家,一起学习。下次再把实战的一一分享出来。
一、什么是商业智能BI
BI(Business Intelligence)即商业智能,它是一套完整的解决方案,把企业的运营数据转化为信息或知识,辅助企业做出明智的业务经营决策的工具。将无序、零散、孤立的数据转换成整合的、规律的、有价值的数据资产,将其以直观、形象的方式展现给合适的人。使得企业用户能够利用商业智能系统进行有效的分析、报告、监控,数据资产得到利用。
强调:在恰当的时间通过恰当的手段把恰当的信息传递给恰当的人。
扩展诠释,包括如下几点:
1、是技术:BI是一系列技术的合集,包括ETL技术、数据仓库技术、OLAP技术、数据挖掘技术等。这些技术基础,是我们实现整个系统的基石,它们也衍生了我们形形色色的各种技术岗位分工。
2、是工具:BI是与工具相关的,我们需要借助各种工具,来实现建设目标,这些工具包括ETL工具:SSIS、Datastage、Kettle;OLAP工具:SSAS、Hyperion Essbase;前端展现工具:Cognos、BIEE等等。
3、是努力过程:BI是一个努力的过程,这个过程,是企业将数据资产利用起来,发挥数据的价值的一个过程;是企业从高管至关键用户至普通用户及IT,和咨询、实施方多种角色合力推进的一个过程。这个过程中一般分为需求阶段、设计阶段、开发阶段等等阶段。
4、是讲方法:在BI的过程中,是讲求方法的,我们用一整套最佳实践的方法贯穿全过程,来确保系统的成功落地。
5、是要结果:结果可以是报表、分析、仪表盘等等一系列的应用交付。
6、最终目的:用尽方法,一切为了辅助企业更好、更及时、更准确的做出决策。
二、业务系统与商业智能系统的区别
这两种系统,有很多种角度可以进行阐述。在这里,我列举几个方面进行说明:
1、从数据资产利用角度,企业运行ERP之后,将积累大量的数据资产,数据资产要加以利用,就必须以另外一种系统形态来发挥数据价值,就需要商业智能系统来达成这一目的。
2、从系统集成角色,企业建设若干系统之后,需要打破信息孤岛状况,实现统一的数据资源平台,便需要对各个系统进行数据集成。
3、从分工及性能角度来说,随着企业业务数据量的增大,基于事务处理的系统结构,无法支撑数据统计分析类型的需求,E.F.CODD在1993年便提出OLAP概念,区别于OLTP事务处理系统,便是一个例证。
4、从面向对象角度来说,业务系统以业务处理为主,企业的中高层用户未必适合使用,定位于面向企业从上至下各层次角色的BI系统,重点面向中高层,从而一定程度上较好的解决他们的管理需求。
所以,商业智能系统又一种说法是信息化最后一公里。
三、初学者如何学习BI
主要是偏向技术路线:
1、基础-SQL:掌握基础技能-SQL,做BI相关工作,可以不熟悉编程,但是SQL技能缺失,就相当吃亏。
2、技术选择:在BI技术上做出选择,BI技术分类很多,结合自己的工作、自己的性格、自己的喜好、确定一个主攻方向。比如:前端应用开发;有精力的话,可以再加上一个铺攻方向,比如ETL。
3、工具选择:同一个技术类的工具,选择两款或以上,进行对比,了解其共性功能和个性特点,加深认识。比如:学习前端工具,可以选择Cognos和BIEE;学习ETL工具,可以选择SSIS和Datastage。
4、基础概念和技术:深入理解基础概念,比如:维度、度量、星形模型、雪花模型、OLAP、旋转、切片、钻取等术语。在这基础上,掌握一些关键技术,比如缓慢变化维、增量数据处理等。
5、行业业务知识:关注行业业务知识,业务是BI的魂。学习和工作实践中,尽量抓住与甲方相关业务负责人、咨询顾问、需求分析师交流的机会,尽可能多掌握些业务方面的知识。在单纯的技术期过后,升迁或换工作,很可能就会需要一定相关业务行业经验。
6、项目管理知识:学习项目管理知识和商业智能项目实施方法论。了解需求调研过程是如何进行的,数据源调研和质量分析有些什么具体任务,系统设计又分哪些阶段步骤,需求变更又如何处理。这些可以一定程度上提高项目实施成功率。
7、利用各种资源:寻找和使用各种资源进行学习,这些资源包括数据、联机帮助文档、论坛、社区、邮件组、专业人士博客、学习视频等等。
8、专业认证:根据实际情况适当依据自己所从事的技术分类或是工具,通过专业认证考试,也是可以为简历加分的。
9、语言水平:提升英语能力。
10、个人兴趣:喜欢BI,深入研究,收获成就感。从事的工作是自己感兴趣的方面,这对于做好一个事情,一份工作是相当有利的。
四、BI基础-数据仓库理论
介绍学习商业智能,经常会涉及到架构设计理论知识,这里说下数据仓库理论两大流派:Ralph Kimball和Bill Inmon。
在国内,通常所说的数据仓库的四个特性角度(面向主题、集成、相对稳定、反映历史变化、用于支持决策)的定义便是Inmon提出的,他被称为数据仓库之父。而实践大师Kimball的工具箱系列著作,亦被奉为是数据仓库建设的经典书籍。
1、基础理论:
Kimball支持数据仓库总线结构,提倡维度建模,以星形模型或是雪花模型等方式构建维度数据仓库。架构体系中,数据集市与维度数据仓库是紧密结合的,数据集市是数据仓库中一个逻辑上的主题域。各种前端工具将可以直接访问使用维度数据仓库。
Inmon提倡以三范式构建集中式的企业数据仓库(EDW),作为整个系统核心;在其之上再建设若干面向主题的、遵循维度模型设计的数据集市;前端工具通常访问数据集市,而不直接访问EDW。
2、数据仓库建设方式
Kimball建议从底向上。先建设满足部门级分析需求的若干数据集市,再通过总线架构将它们集成,形成一个“联合数据仓库”。
Inmon强调自顶向下。先将来自各个源业务系统数据集成至企业级的数据仓库,再基于其搭建面向部门应用需求的数据集市。
3、如何选择
Kimball方法对团队技术水平要求不太高,更易于实现,从小型的主题域数据集市建设起,但在逐步建设过程中,联合维度数据仓库的一致性较难控制,适用于战术层级的规划,或是有迫切的目标需要实现。
Inmon的方式,规范性较好,数据集成和数据一致性方面能得到处理,适用于较为大型的企业级、战略级的规划。但对团队的要求较高,且实现周期较长、成本昂贵。
五、BI项目角色划分
一般一个BI项目实施至少需要以下角色:
1、行业BI顾问(兼项目经理):熟悉客户所在行业,能与用户进行业务沟通并引导客户发掘需求。有BI项目管理管理经验。
2、UI设计开发:有比较丰富的BI工具界面开发经验,能发现不合理的界面需求,并及时引导客户修改。
3、数据库开发:有ETL及数据仓库开发经验。
所以,BI需要数据库技术和业务知识结合才能产生价值。
基于个人是一直从事IT技术相关的,所以就以数据开发的角色来深入BI的学习。
六、BI需要的技术
1、数据库:Oracle,DB2,SQLSERVER,Sybase,MySQL;包括:SQL,PLSQL,备份,恢复,调优;
2、ETL: kettle, Informatica, Datastage, 手工ETL;
3、报表:Cognos, BO, BIEE, Hyperion, superset, metabase等;
4、操作系统, UNIX或者Linux,AIX, Solaris之类,SHELL脚本;
5、熟悉了解一些ERP系统,SAP,Sieble;
6、熟悉了解一些BI软件:PowerBI、Wyn Enterprise、FineBI等。