1.2 商业智能的技术构成
上一节可以说从多个层面明确了商业智能系统的重要性和必要性,但是,到底如何理解商业智能?商业智能如何实现?本节将解决这些问题。对这些问题的深刻认识是保证在商业智能应用技术实现过程中有一个清晰的思路。
1.2.1 什么是商业智能
商业智能的概念最早是Gartner Group于1996年提出来的。当时将商业智能定义为一类由数据仓库(或数据集市)、查询报表、联机分析、数据挖掘、数据备份和恢复等部分组成的,以帮助企业决策为目的的技术及其应用。而后随着商务环境的变迁和技术的进步,人们对于BI有了更多和更深的认识,下面将从两个方面探索商业智能的内涵。
1.不同视角的BI
BI本身是一个复杂的体系,况且应用环境复杂,这就形成了从不同视角看BI的情况。
Gartner Group认为:商业智能技术提供使企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后再分发到企业各处,辅助商业决策的制定。
IDC将BI定义为:商业智能是终端用户查询和报告的工具、OLAP工具、数据挖掘软件、数据集市和数据仓库产品等软件工具的集合。
IBM认为:商业智能是一系列由系统和技术支持的以简化信息收集和分析的策略集合,它应该包括企业需要收集什么信息、谁需要去访问这些数据、如何把原始数据转化为最终导致战略性决策的智能、客户服务和供应链管理。
Microsoft认为:商业智能是任何尝试获取、分析企业数据以更清楚地了解市场和客户、改进企业流程和更有效地参与竞争的努力。
SAP认为:商业智能是一大类收集、存储、分析和访问数据以帮助企业用户更好地进行决策的应用程序与技术。
SAS认为:商业智能是关于在组织内部和组织周围正在发生的智能或知识。
MSTR认为:商业智能是一系列能够使公司分析数据库中的数据并根据收集的信息获得的洞察力来作决策的软件系统。
DWReview认为:从数据分析的观点,商业智能是收集与研究主题相关的、高质量的、有意义的信息、以帮助分析信息、得出结论或做出假设的过程。
这些观点代表了最典型的BI视角,有一个名为《ttnn BI观点》的电子期刊也对此进行了研究,把这些对BI的认识由虚到实探索其本质,大致分成如下4类。
1.是努力,MS主张的。
2.是智能和知识,SAS倡导的。
3.是过程,DMReview的定义。
4.是工具和技术集合,Gartner、IDC、IBM、SAP和MSTR代表的。
任何技术的出现都是为了解决现实中存在的问题。把以上的观点与本章第1节的知识结合起来,应该对商业智能形成以下的认识。
商业智能是商业数据海洋中的指南针,它从历史数据中提取信息,搞清楚经营状况,通过信息的分析获取对经营决策有价值的知识,从而帮助用户对自身的业务经营做出正确而明智的决定。比如,通过商业智能可以解决客户在不同地域的分布情况,可以对客户进行各个角度的分类,还可以把客户和订单联系起来,找出其变化趋势。
2.BI中的统计、报表与分析、挖掘
按照智能应用的范围,商业智能系统可以产生客户智能、营销智能、销售智能和财务智能。这些智能的产生包括3个部分的具体功能:信息处理、分析处理和知识发现。前2个部分是商业智能的前端展现对象,第3个部分则属于数据挖掘层次。
信息处理包括查询和基本的统计分析,如使用交叉表、图表或者图进行报表的展示。分析处理是支持基本的OLAP操作,如上钻、下钻、旋转、切片和切块等,其表现形式也以报表为主。明确了这一点,就能解开大多数BI初学者的疑惑:既然是“智能”的了,为什么还是报表的天下。实际上,统计和报表在很长一段时间内还是BI的重点,但这里的统计和报表与基于数据库的统计和报表有本质的区别,在BI系统中,报表的数据来源不是关系型数据库,而是从许多来自不同的企业运作系统的数据中提取出的有用数据,同时对这些数据进行清理以保证数据的正确性,然后经过抽取、转换和装载(即ETL过程),合并到一个企业级的数据仓库里,再经过联机分析处理(OLAP)而获得的企业数据的一个全局视图。都是报表,BI系统中的报表往往有很强的自定义功能(如可以针对某一个维度随意上钻和下钻)和很强的表现能力(如可以在不同的图形表现形式上随意切换)。
BI的应用必须基于数据仓库技术,因为数据仓库够大、够清楚、够全面,并且对统计分析需要的数据源支持得够好,这些优点是传统的数据库没有的。笔者所接触到的很多BI与DW的初学者对于商业智能和数据挖掘这两者的关系都存在着认识上的误区,他们要么把它们独立开来,要么把它们等同起来。而实际上,通常讲到BI,更多时候指的是前端应用部分,如现阶段声称是BI提供商的,大多数提供的是前端展现工具;而DW更多时候指的是后端部分,包括架构体系的设计和多维模型的建立等。
还有一个问题就是数据挖掘(DM,Data Mining),说得学术化一点就是知识发现的问题,这是商业智能过程的第2个层次的应用,通过它可以找出隐藏的模式和关联,进行分类和预测。本书主要描述的是基于数据仓库的商业智能和数据挖掘的技术实现,对其关系的准确认识是学习过程中进行整体把握的基础。对商业智能体系结构的深入探究将有助于达到这一目的。
1.2.2 商业智能的结构描述
商业智能的实现包含了“数据→信息→知识→行动→智慧”这一过程所运用的技术和方法。在国外,有人曾经把BI作为一种数据的提纯工厂。BI过程以来自业务系统的数据为基础,经过数据仓库技术的处理,整合数据并将其转化为有序的信息;这些信息经过联机分析处理(OLAP)技术的分析后,可以表达出数据内部的各种关联,这是对商业管理活动有很大帮助的知识;经营活动中很多时候还要进一步明确数据中隐藏的规则,这要靠数据挖掘技术的帮助,最后要采取行动时,可以用模型库和方法库等决策支持的相关技术来辅助决策;而决策和行动的结果又可以作为业务数据反应在业务环境中,为以后的决策提供数据源支持。如此循环往复,商务活动就在BI系统的支持下变得智能了。图1-7表达了这一过程。
在图1-7中可以发现,商业智能系统是建立在数据仓库、OLAP和数据挖掘等技术的基础之上,通过收集、整理和分析企业内外部的各种数据,加深企业对客户及市场的了解,并使用一定的工具对企业运营状况、客户需求和市场动态等做出合理的评价及预测,为企业管理层提供科学的决策依据。
图1-7 BI过程及其对应的技术与方法
把商业智能系统工作的这一过程进行技术上的抽象,可以把商业智能的体系结构分为源数据层、数据转换层、数据仓库(数据集市)层、OLAP及数据挖掘层和用户展现层。这几层通过密切的协作完成商业智能的功能,它们的相互依赖关系如图1-8所示。
在图1-8中可以看到,实现商业智能应用有4个十分关键的环节,包括数据源、ETL过程、数据仓库及其应用和BI前端展现。
图1-8 BI解决方案的体系结构
数据仓库系统的数据来源主要是外部的操作性应用系统,这些数据源包括数据的业务含义和业务规则,表达业务数据的表、字段、视图、列和索引等。
ETL过程即抽取(Extraction)、转换(Transformation)和装载(Load)。ETL过程负责将业务系统中各种关系型数据、外部数据、遗留数据和其他相关数据经过清洗、转化和整理后放进中心数据仓库。
数据仓库是商业智能系统的基础,是面向主题的、集成的、稳定的和随时间不断变化的数据集合。数据仓库的应用包括联机在线分析处理(OLAP)和数据挖掘(DM)。通过对数据仓库中多维数据的钻取、切片及旋转等分析动作,可以完成决策支持需要的查询及报表。通过数据挖掘,可以发现隐藏在数据中的潜在规则。
前端展现可以提供各种能帮助人们快速理解数据内涵的可视化手段。它是数据仓库的门面,包括各种报表工具、查询工具和数据分析工具以表格或图形化的手段对数据的展现。
这是一种具有层次关系的体系结构。实际上,这种结构是极为稳定的,这是自然界的普遍规律,如生态系统中有层次,食物链中有层次,良好的软件构架有层次(如MVC结构)。分层处理的同时也是解决复杂问题的一种基本思考方法,如管理中的层次。基于数据仓库的商业智能和数据挖掘应用采用这种结构已经通过实践证明是可行的。因此本书将依据图1-8所示的商业智能系统实现的技术阶段来组织相关内容。
事实上,这一结构图是较为通用的,包括SQL Server 2005在内的很多数据挖掘和商业智能工具都是基于此图所描述的过程来实现其功能的。
1.2.3 数据挖掘和商业智能工具
商业智能具有极为广阔的应用前景,吸引了相当多的软件产商为BI提供解决方案。其中包括软件巨人Microsoft、Oracle、IBM和Sybase等。所以,商业智能工具的选择余地还是很大的。
根据BI解决方案的体系结构,一个完整的BI应用需要ETL工具、数据仓库管理工具、OLAP工具、数据挖掘工具和报表查询工具5种工具协同工作。如表1-1所示列出了其中一些软件厂商在这些工具方面的主要产品。
表1-1 一些厂商提供的数据仓库工具
目前BI在开放源码方面也有发展,最著名的是Pentaho开源BI系统,该系统的OLAP服务器采用Mondrian,OLAP展示使用JPivot,关系型数据库使用Firebird RDBMS,ETL工具使用Enhydra,服务器使用JBoss,数据挖掘使用Weka,集成管理和开发环境使用Eclipse。这些都是开源项目。关于SQL Server 2005的商业智能解决方案将在1.2.5节讲解。
1.2.4 商业智能工具的选择
通过上面的讨论,可以看出IBM、Oracle、NCR、CA、SAS和Sybase等著名数据仓库厂商在数据仓库管理、OLAP和报表、数据挖掘方面都提供了丰富的工具。各类产品各有其特点,并且有各自的适用环境,需要从商业需求和技术两个角度来选择。
一般来说,产品选择需要进行如下4个方面的基本工作。
1.了解商业需求
了解商业需求首先要了解应用的范围和级别。这需要确定建立企业级数据仓库、部门级数据仓库和个人级数据仓库中的哪一级数据仓库。还需要了解系统预期使用的用户群体是哪些、预期的用户数量是多少、用户在地理上的位置怎样、是集中在一起还是分散在网络的不同位置,然后需要了解建立数据仓库的用途和功能。了解用户想利用数据仓库进行哪些领域的工作,需要哪些功能,是简单的多维查询,还是需要进行多维分析,甚至是复杂的数据挖掘。了解现在进行数据分析的工作人员是如何进行工作的,他们的工作流程是怎样的,在他们的工作过程中遇到了哪些比较棘手的问题和困难。
2.了解信息系统需求
在商业需求的基础上,需要进一步了解信息系统本身的需求。估算系统的数据量,了解数据的稳定性。这是首当其冲的工作。另外,元数据的维护要求也非常重要。如果元数据由专业的技术人员来维护,则可以注重工具的效率;如果元数据由非专业的用户群体来维护,则可以注重工具表达的直观性。
还需要了解企业用户现有的技术情况,比如企业现在经常使用哪些工具进行数据处理。在选择工具时,需要考虑选择的工具是否能够同用户已经使用习惯了的工具互通。
3.工具功能评估
在获取上述需求后,应当对各大数据仓库厂商的工具进行客观的功能评估。功能评估可能包括:系统结构(操作系统平台、系统的跨平台性、系统的可靠性、安全性和系统备份恢复的能力等)、数据抽取能力(定时调度的能力、数据抽取的速率和数据转化功能的强弱等)、数据存取呈现能力(支持多维查询的能力、是否具有OLAP分析的功能和是否有良好的客户界面等)、应用支持(是否有良好应用程序开发语言、数据库对存储过程的支持情况、系统提供的可重用软件成分的多少和软件的跨平台性等)、用户接口(用户界面的美观性和对Web平台的支持情况)和工具的互操作性(数据库、数据仓库、OLAP分析、数据挖掘和前端展现工具间的互通情况)。
4.工具组合和测试
在对各种产品进行客观评价后,可以选择某个厂商的产品或者选择多个厂商产品的组合。在选定产品后还需要对产品进行现场测试,看产品是否能够满足实际需求。需要特别注意的是数据仓库将随着时间的推移不断增大。因此,我们在进行产品选择和测试时,必须对将来的情况进行预测。
对于数据挖掘工具,第11章介绍的5A模型具有很好的指导意义。5A模型认为任何数据挖掘方法学都由5个基本元素组成,即Assess、Access、Analyze、Act和Automate。
在选择数据挖掘软件产品时,要注意某些软件所采用的算法虽然名称可能完全一样,但它们的实现方法通常都不一样。这些算法的不同影响了软件对内存和硬盘的需求不同及性能上的差异。
1.2.5 SQL Server 2005的商业智能构架
SQL Server 2005相关的知识综合起来有两大体系,一是关于数据库管理的,一是关于商业智能应用的。不同的服务各司其职,共同完成数据管理和应用的功能。把这些服务和相应的程序分配到这两大知识体系就是如图1-9所示的样子。
图1-9 SQL Server 2005的两大知识体系
SQL Server 2005在商业智能方面提供了三大服务和一个工具来实现系统的整合。三大服务是SQL Server 2005 Analysis Services(SSAS)、SQL Server 2005 Integration Services (SSIS)和SQL Server 2005 Reporting Services (SSRS),一个工具是Business Intelligence Development Studio。它们的关系如图1-10所示。
图1-10 三大服务一个工具实现BI的体系图
从图1-10中可以看出,三大服务都整合在BI Studio中,其中SSIS能从各种异构数据源中整合BI需要的业务数据,同时可以实现与商务流程统一。这项功能在以前是通过DTS服务(即数据转换服务)来实现的。
SSAS是从数据中产生智能的关键,通过这种服务,可以构建数据立方(Cube),也就是多维数据集,然后进行OLAP分析,SSAS也提供数据挖掘的功能。有了这种服务就能够很容易找出隐藏在数据中的金矿。
一个BI项目一般要为不同的人提供不同特点的报表,如总经理和部门经理对报表的内容要求是完全不一样的,SSRS服务为满足这一要求提供了相应的工具,通过它可以对分析结果提供类型多样、美观且适合不同需求的图表和报表。
通过以上体系结构的设计,SQL Server 2005可以实现建模、ETL、建立查询分析或图表、定制KPI、建立报表和构造数据挖掘应用及发布等功能。