商业智能系统是计算机技术中的数据库、数据仓库、数据挖掘等技术在商业决策支持中的应用,目的是从大量的数据和信息中发掘有用的知识,用于决策,以增强商业利润,是一个从数据到信息到知识的处理过程。商业智能可以辅助商业活动作出快速反应,加快知识的获取速度,减少企业不确定性因素的影响,满足管理层和决策层对信息知识的时间性和准确性的要求。实施企业商业智能可以帮助决策者回答棘手的商业?业务方面的问题。哪些客户是我们的目标?如何提高工作效率?哪些新市场将提供给我们最快速的增长?如何提高客户的忠诚度等,都是企业非常关心的问题。在当今竞争异常激烈的商业环境中,企业的业务操作包含大量的数据。成功的企业能够利用这些数据来增进对业务的了解,从而在业务的管理和发展上及时作出正确的判断,采取明智的行动。
一个企业的成功与否取决于它能否有效地利用在各种业务系统、数据集市或数据仓库中信息的能力。正确利用这些数据,可以改进业务流程、加强客户服务、促进销售并增加盈利。做到这些以及解决很多其他关键性商业问题的方法,是建立一个能向信息用户提供有价值的信息的基础设施,使用户能及时地作出周密的决策。许多成功的企业都意识到,通过一个联系信息生产者和信息使用者完整的信息供应链,从而实现企业商业智能化所带来的价值。
全面的企业商业智能可以使组织中的工作人员按照他们的需要,利用正确工具来获得企业信息。他们可以观查报表和曲线图,也可以查询数据库并构造出各种报表。这也意味着用户可以在他们需要的时候与地方工作,不论他在公司、家里、在路上或在飞机上,关键是设计一个解决方案来支持企业并满足整个信息供应链的各种需要。
由于BI系统特有的:不能充分了解需求;需求变动大;实施周期时间长,但客户要求见效快等特点,在制定企业级的BI系统方案时,就会有诸多问题要考虑。
1技术方案
1.1要不要建立物理级的数据仓库
1.1.1建立物理数据仓库的决定因素
如果原来OLAP的数据库是同构数据库,可以不建立物理级的数据仓库(数据集市),异构数据库则必须建立。所谓数据库的同构、异构,就是指数据库系统能否互相兼容。能,就是同构;否则就是异构。就目前市场情况看,各个数据库厂家的产品结构都是不同的,也是异构的,甚至同一厂家的数据库产品的不同版本间都是异构的。
1.1.2建立物理级的数据仓库优、缺点
优点:方案通用性更强,系统的扩展性好。可以实现企业级的数据集成,能提供统一、高效的数据访问平台。
缺点:建立物理级的数据库,往往是整个工程中最为麻烦、耗时的工作,所以,建立物理级的数据仓库必定会增加工作量和项目成本。
1.2要不要ODS层(OperationDataStore)
所谓ODS层,实际上就是数据准备层。在建立物理级的数据仓库系统ETL(Extract,Transiate,Loaddata)前,先对准备抽取的数据作一次准备,从而避免无效和不安全的抽取数据。
1.2.1建立ODS层的优、缺点
优点:可以实现数据的沉淀与老化,可以加快在线数据查询速度,避免无效数据和错误数据的抽取,保证数据仓库的完整性和一致性。
缺点:增大原OLTP系统管理难度。
1.2.2ODS建在OLTP系统中还是建在仓库系统中
建在原来的OLTP系统中,将便于数据抽取和清洗。ETL速度较快,可以通过使用存储过程及触发器等手段简化ETL复杂程度。但是,如果没有对原OLTP系统的二次开发权限将无法实施,且在一定程度上会降低原系统的性能。所以,如果需要ODS层的话,最好是建立在自身的物理仓库系统之中。
1.3物理仓库建成什么模式(类三范式或星型或雪花型)
1.3.1各种结构的优缺点
类三范式:优点是与原事务系统结构类似。分析和设计都很容易。缺点是由于不是面向主题,不利于前端展示,给前端开发带来了困难。
星型结构:维表不规范、复用性不好,容易造成数据冗余。雪花结构:星型结构的一种变体。有着规范的维表,但由于表连接要比星型结构多,所以查询效率没有星型结构好。
1.3.2兼顾方案
采用从OLTP物理结构向星型或雪花型物理结构渐进的方法。
优点:从过程角度而言,首先定出相对稳定的接口数据模型(BO中为语义层,OLAP中为逻辑的多维数据模型),这时便可以使前端开发和后端开发并行工作。前端和后端都可以在不断开发的过程中不断完善各自的模块,后端可以通过不断的试探与验证逐步地优化数据的物理组织结构,并最终构建成完备的物理仓库系统。
缺点:接口数据模型一定要稳定,否则它的变动将直接影响前后端已有的应用。
1.4ETL选用成型产品还是自主开发
如果用户成本可以承受,建议使用成品ETL工具。
优点:比较可靠,开发周期短,有技术支持。
缺点:增加用户成本。
1.5ETL做到何种程度,元数据管理做到何种程度(通用型还是针对特定OLTP型的数据库)
1.5.1做成通用型
优点:可以复用于单位其他同类产品,拥有自主产权,将成为系列化产品,日后便于扩充功能。
缺点:复杂、开发成本高、见效慢、风险较大。
1.5.2做成专用型产品
优点:相对简单,开发难度较小。
缺点:产品专用性强,难复用。
1.6要不要物理的OLAPServer
1.6.1综合评价OLAPServer
OLAPServer,即OniineAppiicationProcessServer(联机分析服务器)。它的主要任务是建立多维数据集,预处理数据,加快查询优点。建立OLAPServer会使整个系统的性能更好。缺点是增加开发工作量和硬件费用。如果不要,可采用前端工具实现其功能。但性能会差很多。
1.6.2折中方案
初期可暂不实现OLAPServer,当性能无法满足时再使用。
1.7工具选择
1.7.1后端产品
IBM的DB2,Oracie,Sysbase;Microsoft的SQLServer都不错,都有自己的一套解决方案,也基本类似(IO特殊一点,SQLServer对海量数据的处理能力较弱)。此外,NCR公司产品是最好的,但价格太昂贵,并且NCR公司一般自己做应用开发。
1.7.2前端产品
前端产品固然很多,各后端数据库公司也都有自己的前端产品。例如:Oracie的Discover,Reporter;IBM的DB2Kit等。但就开发功能和展现能力而言,还是以BusinessObject和Brio为佳(图1)。
BusinessObject:特点是具有独特的语义层功能,模型的稳定性更好,并能够以客户的角度来划分数据,易于客户理解,但对于程序设计而言相对较复杂。
Brio开发较为简单,各种展示功能强大。但模型稳定性较差,对于需求变化的适应能力不如BO。
2项目时间、成本及风险
2.1项目环节以及常规的开发时间、人数
需求分析:一个半月至两个;建模:15天~30天;
ETL:三个月;OLAP:一个半月;
数据挖掘:一个月;前端展示:一个月;
测试:两个月。
每个环节2人~3人,其中ETL,OLAP/DataMining、前端展示并行作业,总共八个月,8×20=160人月。如果要进行深入的数据挖掘,时间要延长三个月至五个月。当然,开发的时间和人数还决定于开发人员的经验和熟练程度。最后,在测试通过后,每个环节留下一人做一年的维护工作。至关重要的是:一个经验丰富的PM和熟手组成的Team是成功的关键。
2.2影响进度及风险的因素
(1)项目管理水平、项目规划;
(2)成员的经验;
(3)对原系统(OLTP)的熟悉程度;
(4)主题以及数据集市的多少(也就是客户需求量);
(5)需求了解程度与需求变动控制。
3结论
要想成功地实施一个数据仓库系统,要考虑的问题很多。设计规划者往往要在工程和技术间求得平衡,在费用和时间上求得平衡,在当前系统开发和以后系统移植求得平衡。