0 前言
随着广州本田面向业务的信息系统逐步完善,一直在思考广州本田未来信息系统该如何发展。本人曾经给广州本田目前对信息系统的认识定位在“IT意识的觉醒期”。在此期间用户逐渐意识到使用IT可以带来业务效率的提高,他们希望使用IT技术来替代人工的业务,并且随着竞争的激烈,希望利用IT技术来获得快速和高精度数据分析的愿望也越来越强烈。
正是在这个背景之下,本人开始了企业商业智能之路的思考和探寻。一个注重文化的企业必然是将企业文化根植在企业的业务流程中,一个注重效果的企业必然是将用户的需求放在最优先考虑的位置上,一个注重学习的企业必然期望加强企业管理层的思考和决策能力。那么,IT的建设也需要符合企业的文化,必须注重对业务支持的效果以及为管理层提供快速高效的信息支持。而这一切的核心是对“用户”的理解,因此本人认为在实施商业智能的过程中必须时刻把握此中心思想。最近IBM的新产品发布会发布了他们的CDI(顾客数据集成)产品,该产品的根本思想也是把顾客数据看成了企业重要的信息资产,该产品的目标是为企业各业务提供一致的、快速的、更加符合实际的客户知识——不仅仅是数据,也包含了数据分析的结果。
商业智能之路是一个漫长的道路,在企业发展的不同阶段对商业智能需求的侧重点必然会有所不同。伴随着顾客需求的激增,企业的重心是尽可能多地提供满足品质要求的产品,这时对商业智能的需求较少。随着市场竞争的激烈,企业希望能够不停地降低成本,希望能够对市场需求做出更加快速的反应,在这个阶段对数据的及时性和准确性的要求必然不断提高,也产生了对数据深入分析获取相关知识的迫切愿望。进入市场饱和期,企业为了扩大市场份额,为了保持竞争中的地位,必然会更加注重对顾客需求的满足,必然会加强对顾客信息的分析以便获取顾客知识从而可以更好地满足顾客的需求。在企业正式实施商业智能之前,需要进行较为详细的规划——考虑企业目前的系统和数据存储;规划未来数据仓库以及可能涉及到的数据集市;数据生成的模式,批处理还是ODS(operational data storage);前端展现工具和分析工具的选择等等。如前所述,由于企业发展处于不同阶段以及对IT的认识处于不同的阶段,因此商业智能的实施方式也不可能完全相同。
商业智能的实施不是一蹴而就的,在总体规划的基础上需要进行分布实施。本文的重点就是探讨实施商业的步骤。首先我们假定企业的信息化完成了基础信息化的建设——业务系统已经较为完善,但是由于历史原因,数据库没有能够统一,系统开发平台多样,没有实施过商业智能产品。
本人将会分为多篇文章论述企业实施商业智能。本文将首先探讨商业智能解决方案,接下来对数据获取进行讨论。在未来的系列文章中,作者还会进一步地探讨数据集市的建立,终端展现和分析工具的选择以及业务部门模型的建立等各方面的相关问题。
1 商业智能解决方案
说到商业智能系统的实施,离不开数据仓库。Hoffer、Prescott和Fred在《Modern Database Management》 中提到了四种数据仓库的体系架构。其中的每种体系架构都有其特点,并且在相关的商业智能解决方案中都有所描述。本人觉得对于许多企业而言(可能对于一些特殊的企业不太适合,如零售超市或者银行),图1所描述的数据体系架构是企业商业智能解决方案较为理想的架构。

图1 基于数据仓库的商业智能体系架构
下面简要地对图1进行说明。Source data system包括企业的各业务系统数据库,非数据库文件等。Data Staging Area是对源数据的规范化处理,目前市面上的许多ETL(Extract Transform Load)工具可以完成数据的清洗、标准化以及数据转换和装载的功能。Data & Metadata Storage Area包含了企业数据仓库数据以及由数据仓库抽取出的数据集市数据(Data Mart)。ODS(Operational Data Store)是指不通过数据仓库,直接处理业务系统的数据然后由展现工具展现,对于实时性要求较高的数据可以采用该种方式。End-User presentation Tools是指报表设计工具,OLAP分析工具以及数据挖掘和相关的可视化工具。这里需要强调的是对于OLAP应用,目前在Data Storage Area中,许多产品采用的是MOLAP(多维OLAP)或者HOLAP(混合OLAP),这时的多维模型数据不仅仅存在于关系数据库中,也会包含其它类型的文件。
上述解决方案是作者认为较为合适的体系架构,其中既包含了对较为实时数据的展现,也包含了对数据仓库数据的展现以及对业务数据集市数据的展现和分析。但是,需要在这里强调的是由于企业整体的IT意识水平可能并不能很容易接受投资大、见效慢的这种体系。因此这种商业智能解决方案的体系架构是较为理想的体系架构,我们必须分布进行投资和实施才能够最终实现基于图1所示的商业智能体系架构。其中的一个重要原因是实施数据的整合和集中是一个工作量巨大且见效较慢的工作。主要原因是对于一个企业而言,有效地实现数据仓库,必须具有统一的企业数据模型(如图2所示),而一般的情况是由于信息系统发展的历史原因,存在于业务系统数据库中的数据存在着定义不统一,数据混乱和错误。

图2 三层数据架构
如果不能够一步到位的实现基于企业数据仓库的商业智能解决方案,那么我们该如何来分步实施呢。广州本田的“少投入、快产出、滚动发展”比较有借鉴意义。必须站在用户需求的立场、站在企业当前应用系统的状况以及站在未来发展的需求上来实施企业商业智能系统才会投资较少、少走弯路以及能够较快产出。对于商业智能系统而言,数据仓库层的数据获取是重点。在下一节将探讨如何获取数据。(E-works)
2 数据获取
图3描述了一个中型企业的系统现状。从图中可以发现该企业已经有了较为集中的几个系统,如:SYS1,SYS19以及SYS10。在这种系统的状况下,如何有效地获取信息是一个较为值得探讨的问题。在一般的商业智能书籍或一些销售商业智能软件的软件提供商都推荐使用ETL工具。但是对于一个业务流程不是非常复杂,并且业务数据较为规范的企业。可以考虑使用较为简单的数据抽取工具,或者开发较为简单易用的数据抽取工具。因此数据抽取的方法包括以下几种:
1) 购买专业的ETL工具,如DataStaging等
2) 购买较为简化的ETL工具
3) 自己开发简单易用的数据抽取工具
4) 编程来实现
当然,专业的ETL工具非常强大,可以实现绝大多数的数据抽取需求。但是对于一个企业如果信息系统规模不是非常大,信息系统环境不是非常复杂的情况下,选择专业的ETL工具显然有杀鸡用牛刀的感觉。

图3 某中型企业信息系统图
本人认为在考虑初步实施商业智能,商业智能应用范围和深度不是太广时,考虑到“少投入、快产出、滚动发展”,本人建议采用购买简化的ETL工具或者开发简单易用的数据抽取工具。在这个过程中,企业的商业智能实施人员和规划人员逐渐成熟,在未来企业商业智能全面实施之时,在考虑采用专业化的ETL工具。图4为数据抽取示意图。

图4 数据抽取示意图
在这里需要提醒希望实施商业智能的企业:商业智能的实施不是一蹴而就的,必须由浅入深。企业内部需要具有熟悉企业业务流程和熟悉商业智能实施的人员。如果企业内没有这样的人员,必须尽快培养。否则,你怎么可能将如此重要的项目完全交由实施商呢?(E-works)