马云曾经在一次演讲中说道:“人类正从IT时代走向DT时代”。
IT是我们已经非常熟悉了,是信息技术(Information Technology)的英文缩写,而DT则是数据处理技术(Data Technology)的英文缩写。
那么,DT与IT有什么不一样呢?马云提出,IT时代是以自我控制、自我管理为主,而DT时代,它是以服务大众、激发生产力为主的技术。这两者之间看起来似乎是一种技术的差异,但实际上是思想观念层面的差异。
接下来,我们就来看看,DT时代下,BI是如何服务企业、助力企业的?
首先,在讲企业BI前,我们来了解一些基本的专业术语。
概念解释
BI
BI,它是 Business Intelligence 的英文缩写,即商业智能,它是一套完整的解决方案。
商业智能由数据仓库(或数据集市)、查询报表、数据分析、数据挖掘、数据备份和恢复等部分组成。因此,从技术层面上讲,商业智能(BI)不是一项技术,而是数据仓库、OLAP、数据挖掘等技术的综合运用。
企业BI
借助BI完整的解决方案,将企业中现有的数据进行有效的整合,快速准确的提供报表并提出决策依据,帮助企业做出明智的业务经营决策。
数据仓库
数据仓库,英文名称为Data Warehouse,简称DW或DWH,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。
创建目的是出于分析性报告和决策支持,为需要商业智能(BI)的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
BI产品
商业智能产品一般包括以下大类:
- 数据仓库产品,例如:Oracle、Sybase、Microsoft SQL Server、MySQL等。
- 数据抽取产品,例如:Kettle、Talend等。
- OLAP产品,例如:Cognos(Powerplay)、Hyperion (Essbase)、微软(Analysis Service)以及MicroStrategy几大厂商的产品等。
- 展示产品,例如:Metabase、Superset、dash、Tableau等。
- 集成以上几种产品的整体解决方案。
企业BI发展背景
最初,企业利用关系型数据库来存储和管理业务数据,并建立相应的应用系统来支持日常的业务动作。这种应用以支持业务处理为主要目的,被称为联机事务处理(OLTP)应用,它所存储的数据被称为操作数据或业务数据。
然而,随着企业的发展,企业信息系统产生了大量的业务数据,如何从海量的业务数据中提取出对企业决策分析有用的信息,这成为企业决策管理人员所面临的重要难题。
由于决策分析支持系统是一个综合的、面向服务对象、访问方式、物理存储都有所不同的应用系统,因为直接在操作型数据库上加工是不合适的。数据仓库技术、OLAP应用在此背景下逐渐发展起来。
企业BI面向的用户
企业BI能够辅助的业务经营决策用户群体,包括:
- 操作层
- 战术层
- 战略层
企业BI建设
建设过程
首先,对企业的业务系统数据进行分析汇总,归类总结,并在众多不同的企业系统的数据中提取出有用的数据。
然后,对提取的数据进行清理,以保证数据的正确性,经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图。
在前面两步的基础上,利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对数据进行分析和处理,这些数据将成为辅助决策的知识。
最后,将知识呈现给管理者,为管理者的决策过程提供数据支持。
架构搭建
我们整个企业BI建设首先围绕数据仓库架构展开,下图是一个数据仓库架构的典型例子,如下图:
典型的数据仓库架构通过上图我们可以看到,图中有多个业务源系统,一个数据中转区,一个保存了所有历史数据的数据仓库和多个可以由终端用户访问的数据集市。这些组成部分之间都由数据整合过程来完成的,就是图中显示的ETL部分。
注意:图中显示出ETL工具不但用于抽取数据并加载到数据仓库里,而且用于加载数据集市或者其他业务系统的数据库(图中未显示)
实际操作
从架构中我们可以看到,在整个企业BI建设过程中涉及的环节非常多,“典型的数据仓库架构”图中只是显示数据仓库这部分,而我们在前面提到BI前端“展示产品”也是很大一部分内容。
因此,这里我们只是对数据缓冲区的搭建作演示操作,而其他操作过程可以在企业BI“建设过程”的指导下逐步开展。
搭建数据缓冲区
数据缓冲区是一个数据临时存储的区域,它基本上与源系统的数据结构保持一致。数据仓库主要通过数据缓冲区来抽取数据,而不直接从源系统数据库中抽取,以免影响源系统的正常运行,避免资源冲突。
订阅与发布示意图1 订阅与发布示意图2模拟背景
有一个业务源系统的数据存储在Microsoft SQL Server数据库中,数据库名称为db-dev,我们需要把不断变化的增量业务数据同步到数据缓冲区中,数据库名称为db-dev-bak。
解决问题
第一次全量抽取数据初始化,其余时间增量抽取变更记录,这里主要介绍增量抽取。
应用技术
这里我们不使用架构提及的ETL过程转换到数据缓冲区,而是使用Microsoft SQL Server数据库自带的数据库发布和订阅的方式来实现数据库的同步,这种方案简单有效,但受限于Microsoft SQL Server数据库引擎。
数据发布
Microsoft SQL Server数据库对象资源管理器,复制 > 本地发布,右键,选择 “新建发布”,进入新建发布向导。
【第一步】进入新建发布向导
第一步
【第二步】选择需要发布的数据库
第二步
【第三步】选择发布类型,一般为事务发布
第三步
【第四步】选择需要发布的表对象
第四步
【第五步】添加筛选器,筛选表行,一般业务无需添加
第五步
【第六步】快照代理,指定何时运行快照代理,这里选择立即创建快照
第六步
【第七步】设置代理安全性,主要是设置登录名和密码信息
第七步
【第八步】创建发布
第八步
【第九步】填写发布名称
第九步
【第十步】创建成功
第十步
至此,数据库表的发布已经完成。
数据订阅
Microsoft SQL Server数据库对象资源管理器,复制 > 本地订阅,右键,选择 “新建订阅”,进入新建订阅向导。
【第一步】进入新建订阅向导
第一步
【第二步】选择发布服务器
第二步
【第三步】选择分发代理位置,一般情况下业务量不是很大,我们选择在分发服务上运行代理
第三步
【第四步】选择订阅的数据库,发布数据库的数据变更将同步到此数据库
第四步
【第五步】设置分发代理安全性,主要是设置登录名和密码
第五步
【第六步】选择同步计划
第六步
【第七步】初始化订阅
第七步
【第八步】创建订阅
第八步
【第九步】完成向导
第九步
【第十步】创建成功
第十步
至此,数据库表的订阅已经完成,表b_student的任何数据变动都会被db-dev-bak数据库订阅。
效果展示
以下是一个Dashboard(商业智能仪表盘)所汇集的图表,也就是经过ETL过程后,数据仓库的BI前端展示效果。
Dashboard企业BI建设过程中会遇到很多问题与困难,尤其在业务分析与ETL过程中,希望本文能对刚着手建立企业BI的朋友有所帮助,我也是刚着手这方面的工作,且做且学习吧!
网友评论