第1章 数据仓库与数据挖掘概述
本章引言
本章首先介绍了从数据库到数据仓库的演变过程,着重说明了传统数据库所面临的问题和局限性。要解决这些问题就必须在体系结构上加以变革,将操作型环境和分析型环境分离,使企业由原先以数据库为中心的生产环境过渡到以数据仓库为中心的生产环境。还介绍了数据挖掘的概念及其发展过程,并分析了数据挖掘与数据仓库的关系。描述了数据仓库和数据挖掘技术与相关学科和相关技术之间的关系,本章最后介绍了目前市场上数据仓库的主流产品。
本章重点
● 数据仓库产生的原因
● 数据仓库基本概念
● 数据仓库与数据库的区别
● 数据挖掘基本概念
● 数据挖掘与数据仓库的关系
● 数据仓库与数据挖掘的学科定位
● 对八大主流数据仓库产品的产品特点以及主要工具的了解
1.1 从数据库到数据仓库
信息技术的不断推广应用,将企业带入了一个信息爆炸的时代。每天都有潮水般的信息出现在管理者的面前,等待管理者去处理、去使用。这些管理信息的处理类型主要有事务型处理和分析型处理两大类。事务型处理,也就是通常所说的业务操作处理。这种操作处理主要是对管理信息进行日常的操作,对信息进行查询和修改,目的是满足组织特定的日常管理需要。在这类处理中,管理者关心的是信息能否得到快速的处理,信息的安全性能否得到保证,信息的完整性是否会遭到破坏。分析型处理则是指对信息做进一步的分析,为管理人员的决策提供支持。这种类型的信息处理在现代企业中应用越来越广泛,越来越引起管理人员的重视。管理信息的分析型处理,必须访问大量的历史数据才能完成,而不像事务型处理那样,只对当前的信息感兴趣。因此,在分析型处理中,产生了与操作型处理所采用的传统数据库有很大差异的数据环境要求。
传统数据库在操作型处理中获得了较大的成功,但是对管理人员的决策分析要求却无法满足。为实现管理人员的决策分析需要,在数据库基础上产生了能够满足决策分析所需要的数据环境——数据仓库(DW,Data Warehouse)。
1.1.1 数据库遇到的困境
传统数据库处理日常事务十分理想,但是要基于事务处理的数据库来帮助决策分析,就产生了很大的困难。其原因主要是传统数据库的处理方式和决策分析中的数据需求不相称,导致传统数据库无法支持决策分析活动。这些不相称性主要体现在决策处理中的系统响应问题、决策数据需求问题、决策数据操作问题和“蜘蛛网”问题。
1.决策处理的系统响应问题
在传统的业务处理系统中,用户对系统和数据库的要求是数据存取频率要高,操作时间要快。由于用户对数据进行操作时间短暂,使系统能够在多用户的情况下,也可保持较快的系统响应时间。
在决策分析处理中,用户对系统和数据的要求则发生了很大的变化。在决策分析中,有的决策问题请求,可能导致系统长达数小时的运行,有的决策分析问题的解决则需要遍历数据库中大部分数据。这就必定消耗大量的系统资源,而这些是事务联机处理系统所无法承担的。
2.决策数据需求问题
在进行决策分析时,需要有全面、正确的集成数据,这些集成数据不仅包含企业内部各部门的有关数据,而且还要包含企业外部的、甚至竞争对手的相关数据。但是在传统数据库中,只存储了本部门的事务处理数据,而没有与决策问题有关的集成数据,更没有企业外部数据。如果将数据的集成问题交给决策分析程序解决,将大大增加决策分析系统的负担,使原先执行时间冗长的系统运行时间进一步延长,用户将更加难以接受。而且每次用户进行决策分析,都需要进行一次数据的集成,将极大地降低系统运行效率。如果数据库能够完成数据的集成,就可以大大提高系统的运行效率。
在决策数据的集成中需要解决因事务处理的分散而造成的数据凌乱问题。企业的数据凌乱原因多种多样,有的是历史原因造成的,例如,在企业兼并活动完成后,被兼并企业的信息系统与原企业系统的不兼容。有的是系统开发的短视所造成的,例如,在系统开发中,由于资金的缺乏,只考虑了一些关键系统的开发,而对其他系统未予开发,使决策数据无法集成。面对这些凌乱的数据,还可能在决策分析应用中产生数据的不一致性。例如,同一实体的属性在不同的应用系统中,可能具有不同的数据类型、不同的字段名称。比如,客户的性别在销售系统中可能用逻辑值“M”和“F”表示,在财务系统中可能用数字“0”和“1”表示。或者同名的字段在不同的应用中有不同的含义,表示了不同实体的不同属性。例如,名称为“GH”的字段名称在人事管理系统中表示职工的“工号”,但是在销售管理系统中却表示“购货号”。要解决这些问题,必须在进行决策分析之前对数据进行转换。
决策系统中的数据集成还涉及外部数据与非结构化数据的应用问题。决策分析中经常用到系统外数据,例如,行业的统计报告,咨询公司的市场调查分析数据。这些数据必须经过格式、类型的转换,才能被决策系统应用。许多系统在对数据进行一次集成以后,就与原来的数据源断绝了联系。这样在决策分析中,所分析的数据可能是几个月前甚至是一年以前的,由此可能会导致决策的失误。因此在决策分析系统中要求数据能够进行定期的、及时的更新,数据的更新期可能是一天,也可能是一周。而传统数据库系统缺乏数据动态更新的能力。
为满足事务处理的需要,传统数据库中的数据一般只保留当前的数据。但是对于决策分析而言,历史的、长期的数据却具有更重要的意义。利用历史数据可对未来的发展进行正确的预测,而传统的数据库却无法长期保留大量的历史数据。
在决策分析过程中,决策人员往往需要的并不是非常详细的数据,而是一些经过汇总、概括的数据。但在传统数据库中为支持日常的业务处理需要,只保留一些非常详细的数据,这对决策分析十分不利。
3.决策数据操作问题
在数据的操作方式上,业务处理系统远远不能满足决策人员的需要。业务处理系统的结构基本上是一种典型的结构化程序设计体系,操作人员只能使用系统所提供的有限参数进行数据操作,用户对数据的访问受到很大的限制。而决策分析人员对数据的操作则希望以专业用户的身份,而不是参数用户的身份进行。他们往往希望用各种工具对数据进行多种形式的操作,希望将数据操作的结果以商业智能的方式表达出来。传统的业务处理系统只能以标准的报表方式为用户提供信息,使用户很难理解信息的内涵,无法正确地用于管理决策。
由于系统响应问题、决策数据需求问题和决策数据操作问题的存在,导致企业无法使用现有的业务处理去满足决策分析的需要。因此,决策分析需要一个能够不受传统事务处理的约束,高效率处理决策分析数据的支持环境,数据仓库是正可满足这一要求的数据存储和数据组织技术。
4.“蜘蛛网”问题
在决策分析中,系统常常需要从数据库中抽取数据、查找有用的数据,然后将这些数据置于其他文件或数据库中,供用户使用。这些被抽取出来的数据,有可能被其他用户再次抽取。由于这种不加限制的数据连续抽取,使企业的数据空间构成了一个错综复杂的数据“蜘蛛网”,即形成了自然演化体系结构。在这个数据“蜘蛛网”中,有可能两个节点上的数据来自同一个原始数据库。但是由于数据抽取的时间基准、抽取方法、抽取级别等方面的差异,有可能使这两个节点的数据不一致。这样,面对同一问题的决策分析,由于数据的出发基准不同,而导致截然相反的答案。也就是说,由于决策分析过程中所形成的自然演化体系,造成了数据可信度的降低,使企业无法将大量宝贵的信息资源转化为企业的核心竞争力。
以具体的企业现况为例,在企业中除了要建立企业级的数据库外,常常还要建立部门级数据库。比如,市场部人员通常只关心企业的销售、市场策划方面的信息,而不注重企业的研发、生产等其他环节。因此,将销售、市场策划方面的信息抽取出来单独建立部门级的数据库很有必要,这样可以提高数据的访问效率。在部门级数据的基础上还要建立个人级的数据库,比如,专门负责制作公司财务报表的数据人员,常常需要从财务部门的数据库系统中抽取数据;又如,部门经理可能经常抽取常用的数据到本地,有针对性地建立个人级数据库。一个大型的公司每天进行上万次的数据抽取很普通。
随着数据的逐层抽取,很可能会形成如图1.1所示的“蜘蛛网”现象,使数据的抽取和访问显得错综复杂。这种现象不是人为制造的,而是自然演变的结果,如果不在体系结构上进行调整,“蜘蛛网”问题将越来越严重。
图1.1 企业中存在的“蜘蛛网”现象
错综复杂的抽取与访问将产生很多的问题,诸如数据分析的结果缺乏可靠性、数据处理的效率很低、难以将数据转化成信息。
(1)数据分析的结果缺乏可靠性
图1.2中展示了某电信公司的市场部和计划部对业务A是否具有市场前景的分析过程和结果。市场部认为“业务A的市场前景很好”,而计划部却得到截然相反的结果——“业务A没有市场前景”。作为企业的最终决策者,面对这样完全不同的分析结果,如何能据此做出正确的决策呢?
图1.2 两个分析过程的差异
两个分析的数据都来自于企业数据库,但是结论却不同,下面通过分析两个过程的差异来寻找原因。
首先,市场部和计划部从企业数据库中抽取的数据可能不同。比如,市场部抽取的是在大客户中对业务A的使用情况,而计划部抽取的是在普通客户中对业务A的使用情况。两者分析数据的内容存在差异。其次,市场部分析的时间是2007年9月5日,而计划部分析的时间是2007年9月25日,两个分析过程从企业数据库中抽取数据的时间不同,企业数据库中的内容已经发生了变化,这很可能导致分析的结果不同。再次,分析业务的发展趋势常常需要引入企业外部的信息,比如客户的满意程度、国家的政策等。市场部引用的外部信息来源可能与计划部不同,而外部信息自然是仁者见仁,智者见智,这也可能是导致最终分析结果不同的原因。最后,市场部使用的分析程序可能与计划部不同,分析的内容和指标也可能不同。通过上面的分析,可以看出导致两个分析过程出现截然相反结论的根本原因是数据的来源不一致,对于不同来源数据的分析结果显然是不一致的。
(2)数据处理的效率很低
在错综复杂的体系结构中,不同级别的数据库可能使用不同类型的数据库系统,对于拥有巨型数据量的企业级数据库可能使用IBM DB2,对于中小型数据库可能使用SQL Server。各种数据库的开发工具和开发环境不同,抽取程序应用的技术不同,因而难以集成。
如果一个大型企业的决策领导需要一份关于公司整体运营情况的报表,通常需要动用大量的人力和物力才能达到。首先需要确定报表涉及的内容分布在哪个数据库的哪个位置,然后调动各个部门的程序员、分析员对应用进行分析、设计和编码。由于数据分散在各个数据库中,因此需要编写的程序很多。由于在企业中使用的数据库类型很多,因此可能需要使用多种技术来实现。程序的重用性很差,因为决策者明天想看的内容很可能与今天不同。可见,动用大量的人力、物力和时间才能完成的报表不仅时效性很差,数据处理的效率也很低。报表形成的过程如图1.3所示。
图1.3 报表形成过程示意图
(3)难以将数据转化成信息
除了数据处理效率和数据可信度的问题之外,“蜘蛛网”式的结构还难以将数据转化为信息。
比如,某电信公司想分析某个大客户今年的情况和过去3年有什么不同,其中大客户的情况可能包括客户的呼叫行为、话费情况、交费情况、咨询问题等。要想比较完整地回答这个问题,实际上需要将客户多方面的数据综合成信息。
在实际的数据库系统中,记录客户呼叫行为的数据库通常只保留客户最近3个月的呼叫话单,账务数据库可能保留客户今年的交费情况,客户咨询数据库可能只保留客户2年内的咨询信息,如图1.4所示。每个数据库由于其数据量和业务处理的需求不同,对历史数据的存储时间也不同,因此以现有的数据库系统难以提供完整的历史数据。鉴于这样的原因,用户根本不可能从这些数据中提取出完整的信息。
图1.4 现有数据库系统难以提供完整的历史数据
1.1.2 操作型系统和分析型系统的分离
随着人们应用需求的发展,要摆脱传统数据库所面临的困境,必须将用于事务操作处理的数据环境和用于数据分析的数据环境分离开。
这样,数据处理被分为操作型处理和分析型处理(或信息型处理)两大类。操作型处理以传统的数据库为中心进行企业的日常业务处理。比如,电信部门的计费数据库用于记录客户的通信消费情况,银行的数据库用于记录客户的账号、密码、存入和支出等一系列业务行为。分析型处理以数据仓库为中心,分析数据背后的关联和规律,为企业的决策提供可靠有效的依据。比如,通过对超市近期数据进行分析可以发现近期畅销的产品,从而为公司的采购部门提供指导信息。又如,对于一个大型的连锁超市,如果能够将各个营业点不同时期的营业情况以非常直观的方式展现给管理人员,管理人员就可以根据这些分析结果决定是否需要撤销营业情况极差的营业点,而在客户流量特别大的超市附近增设营业网点。
操作型系统的使用人员通常是企业的具体操作人员,处理的数据通常是企业业务的细节信息,其目标是实现企业的业务运营;而分析型系统的使用人员通常是企业的中高层管理者,或者是从事数据分析的工程师。分析型系统包含的信息往往是企业的宏观信息,而非具体的细节,其目的是为企业的决策者提供支持信息。操作型系统和分析型系统的划分如图1.5所示。
图1.5 操作型系统和分析型系统的划分
操作型处理和分析型处理的分离,划清了数据处理的分析型环境与操作型环境之间的界限,从而由原来以单一数据库为中心的数据环境发展为以数据库为中心的业务处理系统和以数据仓库为基础的分析系统。企业的生产环境,也由以数据库为中心的环境发展为以数据仓库为中心的环境,如图1.6所示。
图1.6 以数据库为中心的环境发展为以数据仓库为中心的环境的过程示意图
1.1.3 数据仓库的产生
在前面的内容中已经提到,要提高分析和决策的效率和有效性,就必须把分析型操作及其相关数据从事务处理环境中提取出来,按照决策支持处理的需要进行重新组织,建立单独的分析处理环境。也就是说,分析型处理及其数据必须与操作型处理及其数据相分离。数据仓库正是为了构建这种新的分析处理环境而出现的一种数据存储和组织技术。
在数据仓库的发展过程中,许多人对此做出了贡献。其中,Devlin和Murphy在1988年发表了一篇关于数据仓库论述的最早文章。而William H.Inmon在1993年所写的论著《Building the Data Warehouse》则首先系统性地阐述了关于数据仓库的思想、理论,为数据仓库的发展奠定了历史基石,为此W.H.Inmon被尊为数据仓库之父。在《Building the Data Warehouse》中,他将数据仓库定义为“一个面向主题的、集成的、随时间变化的非易失性数据的集合,用于支持管理层的决策过程”。关于数据仓库的定义还有:数据仓库“是一种体系结构,一种独立存在的不影响其他已经运行的业务系统的语义一致的数据仓储,可以满足不同的数据存取、文档报告的需要”;数据仓库“是一个不断发展的过程,将多个异质的原始数据融合在一起,用于支持结构化的在线查询、分析报告和决策支持”。
从W.H.Inmon关于数据仓库的定义中,可以发现数据仓库具有这样一些重要的特性:面向主题性、数据集成性、数据的时变性、数据的非易失性、数据的集合性和支持决策作用。面向主题性表示数据仓库中数据组织的基本原则,数据仓库中的所有数据都是围绕着某一主体组织、展开的。从信息管理的角度看,主题就是在一个较高的管理层次上对信息系统中的数据按照某一具体的管理对象进行综合、归类所形成的分析对象;从数据组织的角度看,主题就是一些数据集合,这些数据集合对分析对象进行了比较完整的、一致的数据描述,这种描述不仅涉及数据自身,还涉及数据之间的联系。例如,政府部门的城市数据仓库系统就可以设计出城市人口、城镇工资水平、失业状况、税收状况及污染状况等主题。数据仓库的集成性是指根据决策分析的要求,将分散于各处的源数据进行抽取、筛选、清理、综合等集成工作。数据仓库的时变性,就是数据应该随着时间的推移而发生变化,尽管数据仓库中的数据并不像业务数据库那样直接反映业务处理的目前状况,但是数据也不能长期不变。数据仓库实际上就是记录系统的各个瞬间,并通过将各个瞬间状态连接起来形成动画,从而在数据分析的时候再现系统运动的全过程。数据仓库的非易失性,是指数据仓库里的数据不进行实时更新,数据经过复杂的提取过程后,定期进入数据仓库,一旦进入就不能再由用户进行更新。
数据仓库的基本作用是为决策支持提供数据。但是,数据仓库在信息管理方面的作用不仅限于此。通过改善和扩大数据的范围、准确度和易访问性,数据仓库既能为其他应用程序增加新的活力,也能给信息收集、信息资源管理、信息分析和信息服务等信息管理的各个方面带来深刻影响,尤其是对信息资源管理的影响。
(1)信息收集
信息收集是信息分析的基础,能否全面、准确地收集到所需的信息直接关系到信息分析结果的准确程度。
在企业内部,数据比较分散,通常分别存放在不同部门的同构或异构数据库中,数据库之间的关联性差。另外,这些数据库存在数据缺失现象,有时甚至非常严重。这些问题的存在给企业内部数据的整合带来难度。数据仓库技术是面向决策支持分析的新技术,它提供了数据整合、数据清洗、缺失数据处理等多种手段,减轻了人工整理的工作量。
另外,随着计算机网络技术的发展,Internet信息资源已经发展成为世界上最大的信息资源,人们在进行信息集成时已经把网络信息资源作为数据仓库的一个重要数据来源。Internet上有许多收费或免费的数据库,里面存储着大量的令人感兴趣的数据。然而,单个网站提供的数据比较有限,往往特定于某种应用,提供的数据只是信息海洋中的一点。因此,需要将不同网站提供的数据整合到数据仓库中。
网站提供数据服务的方式是用户给出检索条件,然后网站的Web服务器利用数据库中的相关数据动态生成网页并提交给用户。因此,网站提供给用户的数据分散在网页之中。这些网页的数据组织方式是半结构化的,并且不同网站的网页没有统一的格式,使得面向Internet的信息整合具有一定难度,需要新技术的支持。
(2)信息资源管理
随着信息经济和信息产业的迅速崛起,人们意识到信息是一种重要的资源和“财富”,对信息资源的开发与利用已经日益受到人们的重视。
什么是信息资源?信息资源通常是指人类社会经济活动中经过加工处理有序化并大量积累后的有用信息的集合,如科技信息、政策法规信息、社会发展信息、市场信息、金融信息等的集合,这些都是重要的信息资源。
但是,要使信息资源能够真正发挥应有的作用,就必须对其加以适当的管理。在实践过程中,管理者为了达到预定的目标,运用现代化的管理手段和管理方法来研究信息资源在经济活动和其他活动中利用的规律,并依据这些规律对信息资源进行组织、规划、协调、配置和控制的活动,就是信息资源管理。就其管理对象而言,信息资源管理是指对信息活动中的各种要素(包括信息、人员、设备和资金等)的管理;就其管理内容而言,信息资源管理是对信息资源进行组织、控制、加工、协调等;就其目的而言,信息资源管理是为了有效地满足社会的各种信息需求;就其手段而言,信息资源管理借助现代信息技术以实现资源的最佳配置,从而达到有效管理的目的。
通过对信息资源的管理,可以确保对信息资源的开发利用能够有条不紊地进行下去,可以使各类信息资源以更高的效率、效能充分发挥应有的作用,也可以降低信息资源的开发成本。
传统信息资源管理手段存在不足。在数据仓库构建技术成熟之前,传统的数据库技术是组织和管理结构化、半结构化信息的主要手段,也是决策支持系统的重要支撑技术之一。但是,随着信息量的不断增长,基于传统数据库技术的信息资源管理逐渐表现出一些不足,需要新的信息资源管理手段。对每个组织而言,一方面,它们都被迫面对不断增长的信息量,如果不能有效地管理这些数据,并将其转化为真正可供决策利用的支持信息,那么,在某种意义上,这种数据增长将为工作的进一步开展带来负面影响;另一方面,随着信息量的急剧膨胀和获取信息手段的更加方便、快捷,客户越来越容易获取包括竞争对手在内的更多信息,从而具有更多选择机会。因此,必须有效地管理已有的信息,并使用各种新的技术和方法对信息进行加工,特别是对客户信息进行有效加工,以便进一步将经营模式转变为以客户为中心,为客户提供个性化服务以满足不同的市场需求。传统数据库技术不能很好地胜任这种变化,主要原因是,传统数据库中的数据主要面向应用,并以单一数据组织方式进行组织,无法满足信息时代需要对数据进行多层次处理的需求。
数据仓库技术的出现为现代信息管理提供了新的方法。“数据仓库”并非是新概念,它的历史至少可追溯到十几年前。从计算机应用初期的数据处理到目前的决策支持系统都始终伴随着对数据仓库的追求。自20世纪70年代起,为满足现代管理的需要,人们在操作型信息处理的基础上发展了以数据分析和建模定量分析为基础的分析型信息处理。操作型信息处理也称事务处理,是指对数据库联机地进行日常操作,通常是对一个或一组记录的查询和修改,以满足特定应用服务。分析型处理则为决策提供实时信息服务,需要的是综合的、总结性信息,这种应用对于业务处理频繁的数据库系统而言,将成为沉重的负担。两者的巨大差异使得操作型处理和分析型处理的分离成为必然。于是,企业管理中所使用的信息被分别装入分析型数据仓库和操作型数据库中。传统数据库主要面向事务处理,而数据仓库主要面向复杂的信息分析以支持决策过程,且可以集成企业范围内的现有数据和历史数据。数据仓库把支持决策分析的信息事先收集、归纳、处理,使企业的业务操作环境和信息分析环境分离,从而有效地为全局范围的战略决策和长期趋势分析决策提供信息服务。因此,从20世纪90年代初开始,发达国家的企业纷纷采用数据仓库技术对数据进行组织和管理。
(3)信息分析
信息分析的一般过程是经过资料整理、资料研究,获得完整的概念、判断、推理,最后形成一份有事件、有分析、有对比、有建议的分析报告。从以往的经验看,在这一系列的过程中,计算机起到的是一个资料库的作用,大量的工作还得由研究人员通过思考,提取资料库中的信息来进行分析。要想有效地利用计算机从庞大的信息源中自动汲取有用的信息,需要数据仓库这种新的信息资源组织方式。
在已建立的各类数据库的基础上构造数据仓库,按不同的决策主题对数据进行分类、综合与存储,并采用数据挖掘技术和联机分析技术对决策中所需数据进行深层的挖掘与分析,提供决策有用的信息,可以更好地满足决策支持的需要。这是传统数据库满足不了的。绝大部分的决策分析对数据的需求都是基于一定的综合度之上,只有极少的查询涉及细节。因此,实现基于数据仓库的决策分析关键在于数据仓库的构造,其次是在此基础上建立相应的数据挖掘与分析工具。
(4)信息服务
数据仓库从多维的角度重新组织数据。基于数据仓库来为用户提供信息服务,能够使用户从多种视角观察数据,从而更深入地理解数据,从中获得有助于决策的重要信息。另外,数据仓库提供给用户的不仅仅是信息,还包含着大量用于解决问题的知识,提供的信息或知识可以是利用从数据仓库抽取出的数据组织成的报表或绘制成的直观图形。
从数据仓库的最终用户来看,可以分成信息的使用者和知识的挖掘者两大类型。
信息的使用者是以一种可以预测的、重复的方式来使用数据仓库。信息使用者在使用数据仓库之前知道他们要了解什么,常常是每天都对数据仓库进行有规则的数据访问,在访问过程中往往只访问很少的一部分数据,而且对数据的访问常常能够获得结果。信息使用者通常要观察一些概括性数据或聚集数据,对一些元数据或详细数据很少用到。从信息使用者的工作性质看,他们往往是一些业务员性质的用户,使用一些预先定义好的查询,在概括性数据上进行运作,执行一些简单的处理。
知识的挖掘者对数据仓库的使用是不规则的,有时很长时间不使用数据仓库,有时却连续地长期使用。在使用数据仓库时,常需要对数据仓库中的海量数据进行挖掘。挖掘的目标可能是:在企业所面对的客户群中哪些客户是使企业赢利的客户?这些赢利客户应该具有哪些特征?这些赢利客户在采购过程中常常采购哪些产品?所采购的这些产品相互间具有什么关系?知识挖掘者在进行知识挖掘的过程中,常常一无所获;但是一次偶然的得手,会使数据仓库的巨大投资得到丰厚的回报。知识挖掘者往往是一些专业用户,他们负责管理报告的筹建与分析,在数据仓库的使用中,很少进行预先定义的查询,而是提交一些复杂的、动态的查询,要求数据仓库进行一些复杂的数据处理。
1.1.4 传统数据库与数据仓库的区别
传统数据库与数据仓库之间的区别,首先要从它们存放的数据对象之间的区别说起。传统数据库由于主要用于企业的日常事务处理工作,存放在数据库中的数据基本符合操作型数据的特点。而为了适应数据分析处理要求而产生的数据仓库中存放的数据,基本符合分析型数据的特点。
操作型数据是处于不断变换和更新之中的,属于动态数据。订单输入数据库中的当前订单就是这类数据的一个例子。操作数据所代表的是某一时间点的当前信息,这类数据可以表明某件事情的现状,而且它们在任何时候都是处于变化之中的。
分析型数据是历史数据,通常都不会随着时间的推移而发生变化,因此属于静态数据。只有在原始信息错误的情况下,分析数据才会有变动。例如,一旦某个时刻过去后,这个时刻的销售额就是最终数据了,是不可逆的。此时,信息变成了静态,因此可以从动态数据源迁移到静态数据源。分析数据可以用于查看跨时间段的信息。操作型数据与分析型数据的主要区别如表1.1所示。
表1.1 操作型数据和分析型数据的区别
除了在数据方面的区别,数据仓库和传统数据库相比,在总体特征、存储内容、面向用户等方面,也有着重大的差异。正是由于这些差异的存在,实现了数据仓库技术在分析能力上的突破。传统数据库与数据仓库的主要区别如表1.2所示。
表1.2 传统数据库与数据仓库的区别
1.2 数据挖掘
信息在组织发展中的重要作用越来越得到人们的认同,许多组织都开发了各种信息收集处理系统。这些系统不仅给组织带来信息处理的便利,也给组织带来珍贵的财富——大量宝贵的数据。这些数据背后隐藏着极为重要的商业知识,但是这些商业知识是隐含的、事先未知的、具有潜在有用的价值。问题是如何才能发掘这些知识,传统的信息处理工具已经不能应付这一要求,人们需要一种方法,自动地分析数据、自动地发现和描述数据中隐含的商业发展趋势、自动地标记数据、对数据进行更高层次的分析,以更好地利用这些数据。
数据挖掘作为一个新兴的、多学科交叉的应用领域,正在各行各业的以信息分析为基础的决策支持系统活动中扮演着越来越重要的角色,国内外学术界和企业界,都非常重视对数据挖掘技术和工具的研究、开发和应用。
1.2.1 数据挖掘的产生
1989年8月,在第11届国际人工智能联合会议的专题研讨会上,首次提出基于数据库的知识发现(KDD,Knowledge Discovery in Database)技术。该技术涉及机器学习、模式识别、统计学、智能数据库、知识获取、专家系统、数据可视化和高性能计算等领域,技术难度较大,一时难以应付信息爆炸的实际需要。到了1995年,在美国计算机年会(ACM)上,提出了数据挖掘(DM,Data Mining)的概念,即从数据库中抽取隐含的、未知的、具有潜在使用价值信息的过程。由于数据挖掘是KDD过程中最为关键的步骤,在实际应用中对数据挖掘和KDD这两个术语的应用往往不加区别。
数据挖掘,简单地说,就是从一个数据库中自动地发现相关模式。举例来说,一个模式可能指出驾驶某种运动汽车的已婚、有孩子的男子人数是已婚、没有孩子的男子人数的两倍。如果你是一家汽车生产企业的市场经理,就会对这个令人吃惊的模式产生兴趣。
如果要严谨地定义数据挖掘的概念,那可以从技术和商业应用两个角度对它做出描述。从技术的角度来讲,数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。从商业应用角度看,数据挖掘是一种崭新的商业信息处理技术。其主要特点是对商业数据库中的大量业务数据进行抽取、转化、分析和模式化处理,从中提取辅助商业决策的关键知识,即从一个数据库中自动发现相关商业模式。实际上多年前,统计学家就开始手工挖掘数据库,从数据库中寻找符合统计学规律的有意义的模式。这也是统计学类型的数据挖掘技术是目前最为成熟的一种数据挖掘技术的重要原因之一。
特别要指出的是,数据挖掘技术从一开始就是面向应用的。它不仅是面向特定数据库的简单检索查询调用,而且要对这些数据进行微观或宏观的统计、分析、综合和推理,以指导实际问题的求解,企图发现事件间的相互关联,甚至利用已有的数据对未来的活动进行预测。例如,加拿大BC省电话公司要求加拿大Simon Fraser大学数据挖掘研究组,根据其拥有的十多年的客户数据,总结、分析并提出新的电话收费和管理办法,制定既有利于公司又有利于客户的优惠政策。美国NBA著名篮球队的教练,利用IBM公司提供的数据挖掘技术,临场决定替换队员,一度在数据库界被传为佳话。这样一来,就把人们对数据的应用,从低层次的末端查询操作,提高到为各级经营决策者提供决策支持。需要指出的是,这里所说的知识发现,不是要求发现放之四海而皆准的真理,也不是要去发现崭新的自然科学定理和纯数学公式,更不是什么机器的定理证明。所有发现的知识都是相对的,是有特定前提和约束条件、面向特定领域的,同时还要能够易于被用户理解,最好能用自然语言表达发现结果。因此数据挖掘的研究成果很讲求实际。最近,还有不少数据挖掘产品用来筛选Internet上的新闻,保护用户不受无聊电子邮件的干扰和商业推销,受到极大的欢迎。
人们把原始数据看做是形成知识的源泉,就像从矿石中采矿一样。原始数据可以是结构化的,如关系数据库中的数据,也可以是半结构化的,如文本、图形、图像数据,甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现的知识可以被用于信息管理、查询优化、决策支持、过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门广义的交叉学科,它汇聚了不同领域的研究者,尤其是数据库、人工智能、数理统计、可视化、并行计算等方面的学者和工程技术人员。
由于原始数据形式的多样性,导致了数据挖掘对象的多样性。数据挖掘可以针对任何类型的数据库进行,既包括传统的关系数据库,也包括非数据库组织的文本数据源、Web数据源以及复杂的多媒体数据源等。
数据挖掘永远不会替代有经验的商业分析师或管理人员所起的作用,它只是提供一个强大的工具。每个成熟的、了解市场的公司都已经具有一些重要的、能产生高回报的模型,这些模型可能是管理人员花了很长时间,做了很多调查,甚至是经过很多失误之后得来的。数据挖掘工具要做的就是使模型更容易、更方便,而且有根据。
1.2.2 数据挖掘的发展历程
数据挖掘是适应信息处理新需求和社会发展各方面的迫切需要而发展起来的一种新的信息分析技术,从早期的数据处理手段到它的出现经过了一个进化过程。在这个进化过程中,对于数据的自动化处理和利用,每一步的前进都是建立在上一步的基础上的。从表1.3中可以看到,第四步数据挖掘的进化是革命性的,因为从用户的角度来看,这一阶段的数据库技术已经可以快速地回答商业上的很多问题。
表1.3 数据挖掘的进化历程
尽管数据挖掘概念正式出现的时间并不长,但是,数据挖掘的核心技术伴随着企业信息化的进程历经了数十年的发展,包括数理统计、人工智能、机器学习等多个领域的知识。今天,这些成熟的技术,加上高性能的关系数据库引擎以及广泛的数据集成,让数据挖掘技术在当前的数据仓库环境中进入了实用阶段。
在促进数据挖掘诞生、发展、应用的众多原因中,有四种最主要的因素:超大规模数据库的出现、先进的计算机技术、经营管理的实际需要和对这些数据的精深计算能力。
(1)超大规模数据库的出现
大规模数据库,尤其是数据仓库的出现,促使数据挖掘得以迅速发展与应用。依靠计算机自动收集的各种业务处理数据,使许多大规模数据库或数据仓库拥有大量的业务处理数据、市场变化数据,使数据挖掘技术有了赖以生存的基础。如果没有这些大规模数据库,很难想象数据挖掘技术对什么进行挖掘。
(2)先进的计算机技术
计算机技术在过去的短短几十年内得到了快速的发展,尤其是近几年的网络技术和并行处理体系的发展,使人们拥有计算能力更强、运算速度更快的计算机体系结构。以前需要大量时间、大量人力的工作,现在只要很少的时间和人力就可以解决了。使大量的管理人员得以将自己的精力从繁重的日常信息处理工作中解脱出来,有时间、有能力对激增的数据进行高层次的分析,从中寻找那些对企业战略发展具有重要意义的商业规律和市场趋势。这些先进的计算机技术水平成为促进数据挖掘技术发展的第二个重要因素。
(3)经营管理的需要
进入21世纪以后,全球经济一体化的进程日益加快,企业所面临的市场竞争压力日趋严重,企业经营管理者希望能够从企业积累的大量历史数据中找到应对日趋严重的竞争压力的良方,希望能够从这些数据中找到经营管理中各种问题的根本原因。例如,经营管理者希望了解企业的某些产品为什么销售业绩良好,是产品自身的原因还是销售的原因?如果是销售的原因,这些产品的销售人员在销售中采用了什么销售方式?出于这些原因的考虑,使企业经营管理人员,特别是决策人员,希望能用某种工具从这些数据中去找原因,能够快速地从大量数据中挖掘出对经营管理有用的信息,以应对瞬息万变的市场压力。
(4)对数据挖掘的精深计算能力
大规模数据的挖掘需要复杂的、精深的计算能力,这些精深的计算能力主要基于统计学、集合论、信息论、认识论和人工智能等各种学科理论。这些数据挖掘方法和技术形成了许多具有特点的应用领域。也正是这些精深计算能力,成为促进数据挖掘诞生和发展的中坚力量。
因此可以说,数据挖掘是信息技术发展到一定阶段的必然产物,是拥有大规模数据库、高效的计算能力、经营管理的压力和有效的计算方法后的产物,是从存放在数据库、数据仓库或其他信息库的大量数据中挖掘有用知识的一个过程。
数据挖掘是一个年轻而又非常活跃的研究领域,它的发展得益于目前全世界所拥有的巨大数据资源,以及对将这些数据资源转换为信息、情报和知识资源的巨大需求。随着客户需求的不断变化和发展,数据挖掘系统也经历下面三个发展阶段。
(1)独立的数据挖掘系统
独立的数据挖掘系统对应第一代的数据挖掘系统,出现在数据挖掘技术发展早期。第一代数据挖掘系统支持一个或少数几个的数据挖掘算法,这些算法设计用来挖掘向量数据,在挖掘时,数据一般一次性调进内存进行处理。研究人员开发出一种新型的数据挖掘算法,就形成一个软件。因此,早期独立的数据挖掘系统要求用户对具体算法和数据挖掘技术有相当的了解,还要负责进行大量的数据预处理工作。典型的系统如Salford Systems公司早期的CART系统。
(2)横向的数据挖掘工具
随着数据挖掘应用的发展,人们逐渐认识到数据挖掘软件需要和以下三方面紧密结合:数据库和数据仓库,多种类型的数据挖掘算法,数据清洗、转换等预处理工作。
随着数据量的增加,需要利用数据库或者数据仓库技术进行管理,所以数据挖掘与数据库和数据仓库结合是自然的发展。现实领域的问题是多种多样的,一种数据挖掘算法难以解决,同时,待挖掘的数据通常不符合挖掘算法的要求,需要有数据清洗、转换等预处理的配合,才能得出有价值的模型。
随着这些需求的出现,1995年软件开发商开始提供称之为“工具集”的数据挖掘系统。此类工具集的特点是提供多种数据挖掘算法(通常有分类、聚类和关联规则等),同时也包括数据的转换和可视化。由于此类工具并非面向特定的应用,是通用的算法的集合。所以称之为横向的数据挖掘工具(Horizontal Data Mining Tools)。横向的数据挖掘工具一般都支持Fayyad过程模型,部分系统增加了模型评价功能,从而支持CRISP-DM模型。
典型的横向工具有IBM Intelligent Miner、SPSS公司的Clementine、SAS的Enterprise Miner、SGI的Min Set、Oracle的Darwin等。
(3)纵向的数据挖掘工具
随着横向的数据挖掘工具的使用日渐广泛,人们发现这类工具只有精通数据挖掘算法的专家才能熟练使用,如果对算法不了解,难以得出好的挖掘模型。所以为了推动数据挖掘技术的应用,从1999年开始,大量的数据挖掘工具研制者开始提供纵向的数据挖掘解决方案(Vertical Solution),即针对特定的应用提供完整的数据挖掘方案。这些方案提供商有KDI(主要用于零售业)、Options&Choice(主要用于保险业)、HNC欺诈行为预测(主要用于市场营销)等。纵向的解决方案大都支持CRISP-DM模型,强调模型的应用和部署,以及与操作型系统的集成。
1.2.3 数据挖掘与数据仓库的关系
数据仓库提供来自种类不同的信息系统的集成化和历史化的信息,为有关部门或企业进行全局范围的战略决策和长期趋势分析提供了有效支持。数据挖掘是一种有效利用信息的工具,它主要基于人工智能、机器学习、统计学等技术,高度自动化地分析组织原有的数据,进行归纳性的推理,从中挖掘出潜在的模式,预测客户行为,帮助组织的决策者正确判断即将出现的机会,调整策略,减少风险,进行正确的决策。因此,将数据仓库与数据挖掘有机结合必将大大提高企业对信息进行组织和利用的能力,使得信息能够更好地为决策服务。
传统的观点认为数据挖掘技术扎根于计算科学和数学,不需要也不得益于数据仓库。这种观点并不正确,成功的数据挖掘的关键之一就是通过访问正确、完整和集成的数据,才能进行深层次的分析,寻求有益的信息。而这些正是数据仓库所能够提供的,数据仓库不仅是集成数据的一种方式,而且数据仓库的联机分析功能——OLAP还为数据挖掘提供了一个极佳的操作平台。如果数据仓库与数据挖掘能够实现有效的联结,将给数据挖掘带来各种便利和功能。
首先,由于大多数数据挖掘工具要在集成的、一致的、经过清理的数据上进行挖掘。这就需要在数据挖掘过程中有个费用昂贵的数据清理、数据变换和数据集成过程,作为数据挖掘的预处理。而已经完成数据清理、数据变换和数据集成的数据仓库,完全能为数据挖掘提供它所需要的挖掘数据,使数据挖掘免除了数据准备的繁杂过程。
其次,在数据仓库的构造过程中已经围绕数据仓库组建了包括数据存取、数据集成、数据合并、异种数据库的转换、ODBC/OLE DB的连接、Web访问和服务工具以及报表与OLAP分析工具等全面的数据处理和数据分析基础设施。在数据挖掘过程中所需要的数据处理与分析工具完全可在数据仓库的数据处理与数据分析工具中找到,根本没有必要为数据挖掘重新设置同样的基础设施。
此外,在数据挖掘过程中,常常需要进行探测式的数据分析,穿越各种数据库,选择相关数据,对各种数据选择不同的粒度,以不同的形式提供知识或结果。而数据仓库中的OLAP完全可为数据挖掘提供有关的数据操作支持。例如,对数据立方体或数据挖掘中间结果进行数据的下钻、上卷、旋转、过滤、切块或切片,且以OLAP的可视化功能为数据挖掘过程或挖掘结果提供良好的操作平台,这些都将极大地增强数据挖掘的功能和灵活性。
最后,在数据挖掘过程中,如果将数据挖掘与数据仓库进行有效的联结,将增强数据挖掘的联机挖掘功能。用户在数据挖掘的过程中,可以利用数据仓库的OLAP与各种数据挖掘工具的联结,使用户可以为数据挖掘选择合适的挖掘工具,能够在数据挖掘过程中灵活地组织挖掘工具以增强数据挖掘能力,同时还为用户灵活地改变数据挖掘的模式与任务提供便利。
需要指出的是,数据挖掘是一个相对独立的系统,它可以独立于数据仓库系统而存在,数据仓库为数据挖掘打下了良好的基础,包括数据抽取、数据清洗整理、数据一致性处理等。当然,数据挖掘系统本身也可以单独来做这些事情。因此,数据挖掘不一定必须建立一个数据仓库上,数据仓库不是必要条件。建立一个巨大的数据仓库,把各个不同数据源中的数据统一在一起,解决所有的数据冲突问题,然后把所有的数据导入到一个数据仓库内是一项巨大的工程,对于小型企业来说,它的投资可能难以承受。如果企业仅仅为了进行数据挖掘而不是面向高层的决策支持,也就不一定必须建立数据仓库,只需将需要的数据整理后放在一个关系型数据库中,然后对其进行数据挖掘。
1.3 关联学科和技术介绍
数据仓库与数据挖掘技术都是综合性的,它们都处于多门学科和技术的交叉领域;数据仓库与数据挖掘技术从产生到发展至今,借鉴了许多学科和技术的发展经验;同时,它们又被许多学科和技术所吸收,成为这些学科和技术发展的重要基础及组成部分。因此,数据仓库与数据挖掘技术同许多学科和信息技术有着千丝万缕的联系,既不能孤立地看待这两门数据分析技术,也不能将它们同其他的学科和技术混为一谈。
1.3.1 统计学
数据挖掘不是为了替代传统的统计分析技术。相反,它是统计分析方法学的延伸和扩展。大多数的统计分析技术都基于完善的数学理论和高超的技巧,预测的准确度还是令人满意的,但对使用者的要求很高。而随着计算机能力的不断增强,有可能利用计算机强大的计算能力只通过相对简单和固定的方法完成同样的功能。
对于数据挖掘与统计,可以考虑:数据库系统与文件系统。当学习数据库原理的时候,第一章就是介绍数据库系统与文件的区别,而且很多时候考试也要出这样的题目。那么这两者实质的区别在哪里,计算机系的人总会回答的,因为数据库也好,文件系统也好,都是计算机行业的术语。因为大家都知道,数据库系统的DBMS是建立在文件系统基础上的;现在的问题到了数据挖掘与统计,数据挖掘算法有些本来就是统计的方法,那么到了计算机行业,自有计算机行业规则,人们研究数据挖掘会关心它和大数据量的结合(有效性),会关心它的数据挖掘原语(数据挖掘语言),算法性能的优化、标准接口等是只有用软件实现时才考虑的事项。于是数据挖掘行业制定了一些标准,比如基于XML的PMML(预言模型标记语言);微软的OLE DB FOR DM;SPSS的CRISP-DM。当数据挖掘研究到这个程度,很难看到和统计的关联。从这个意义上讲,数据挖掘仍然是计算机行业的一个方向,而不是广义统计的一个部分。同时,对于数据挖掘算法中来自机器学习和人工智能的那一部分,其核心是规则,而规则内部的获得机制虽然是基于数理统计的,但是这种技术本身已经不属于统计了。比如通过数据挖掘可以得出:“年龄在30~35,工资在5000~8000的客户会购买产品A”。这是一个数据挖掘算法可以得出的规则,在得出这样的规则之前,算法会对数据集进行分析,该数据集包括很多变量(数据库的字段),假设是10个,“年龄”和“工资”是其中的两个,算法会根据历史数据自动抽取这两个变量,而得出这样的规则。但是对于统计,是不能得出的,它只能得出量化的概率关系,而规则的推导应该不是统计学的范畴。
科学在进步,科学进步导致了学科的细分,数据挖掘作为一个新型的学科,结合各学科的人才来研究和发展它。数据挖掘就其算法本身,很大一部分可以从数理统计中获得理论的解释,但是作为一个整体的研究方向,应该从计算机的层面进行全局的考虑。即从系统的角度进行分析,毕竟数据挖掘是面向应用的,一个再完美的算法,如果只能对几百条数据进行分析,那么是没有用的。
1.3.2 人工智能技术与机器学习
数据挖掘利用了人工智能(AI)和机器学习的进步所带来的好处。这两门学科都致力于模式发现和预测。
一些新兴的技术同样在知识发现领域取得了很好的效果,如神经元网络和决策树,在足够多的数据和计算能力下,它们几乎不用人的干预就能自动完成许多有价值的功能。数据挖掘就是利用了人工智能和机器学习技术的算法及技术,把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己所要解决的问题。
数据挖掘与这两者之间的主要区别在于算法对大数据量的适应性,数据挖掘的算法必须面对记录为数十万条记录以上的数据集有很好的性能;周期性数据集更新数据挖掘需要考虑能对这些增量数据处理而不用从头计算一次;数据挖掘还需考虑如何处理数据集大于内存的问题及并行处理问题;另外,数据挖掘更多面向解决工程与商业问题。
1.3.3 商业智能
商业智能最早是由Gartner Group于1996年提出来的。它是一种基于大量信息基础的提炼和重新整合的过程,这个过程与知识共享和知识创造紧密结合,一般认为它由数据仓库、查询报表、数据分析、数据挖掘、数据备份和恢复等组成。
它的中心思想是从传统的“以产品为中心”策略向“以客户为中心”策略转变,这种处理方法简化了各种与客户相关联的业务流程,并将注意力集中到客户的需求上。现在虽然不同公司对商业智能的具体理解各有所见,但是在商业智能所进行的活动上却有一致的意见,即客户调查、市场营销、服务和支持三个主要活动。但要从这几个方面来判断是否最大限度地提高了客户的满意度及忠诚度,需要用数据挖掘对现行的业务流程进行分析。
市场上现有的一些数据挖掘工具针对不同类型的数据提供了很多分析工具,一般我们在商业智能系统中分两种:统计分析类和知识发现类。其中统计分析类是利用各种统计模型来解释数据背后的市场规律和商业机会。这些技术包括线性分析和非线性分析、回归分析、逻辑回归分析、单变量分析、多变量分析、时间序列分析、最近邻算法和聚类分析等技术。目前,统计型数据挖掘技术是数据挖掘中应用最成熟、最广泛的一种。其中知识发现类数据挖掘技术是与统计类数据挖掘技术完全不同的一种数据挖掘技术。它是从数据仓库的大量数据中筛选信息,寻求市场可能出现的运营模式,发掘人所不知的事实,主要包括人工神经网络、决策树、遗传算法、粗糙集、规则发现和关联顺序等。这两种数据挖掘各有优缺点,在商业智能系统中,我们经常应用统计类数据挖掘进行趋势分析、时序分析和周期分析,但它所针对的对象是确定的,需要完备的数据并选择合适的模型。而知识发现类数据挖掘大多是针对特定的任务,需要相互协调进行挖掘,重点在其本身的结构选择上,主要对商业异常、隐含模式、客户信息进行深入探索。
1.3.4 OLAP(Online Analytical Process,联机分析处理)
传统的数据库工具(包括查询工具、报表生成器等)都属于操作型工具,它们建立在操作型数据之上,主要是为了满足日常信息提取之需。查询的结果可以有多种表述方法,从古老的表格方式到直方图、饼型图等可视化方式,但从本质上来说这样的查询是直接的,用户虽然不必了解查询的具体途径(非过程化的),但必须清楚地了解问题的目的;查询的结果是单一、确定的。
OLAP技术是与数据仓库技术相伴而发展起来的,作为分析处理数据仓库中海量数据的有效手段,它弥补了数据仓库在直接支持多维数据视图方面的不足。同时,与侧重业务处理的OLTP(Online Transaction Process,联机事务处理)系统相比,它又有着自己独特的数据分析能力。
数据挖掘与OLAP都属于分析型工具,但两者之间有着明显的区别。数据挖掘是一种挖掘型工具,它能自动地发现隐藏在数据中的模式(Pattern)。数据挖掘是一种有效地从大量数据中发现潜在数据模式、作出预测性分析的分析工具,它是现有的一些人工智能、统计学等成熟技术在特定的数据库领域中的应用。数据挖掘与其他分析型工具最大的不同在于:它的分析过程是自动的。一个成熟的数据挖掘系统除了具有良好的核心技术外,还应该具有开放性的结构,友好的用户接口。数据挖掘的用户不必提出确切的问题,而只需数据挖掘去挖掘隐藏的模式并预测未来的趋势,这样更有利于发现未知的事实。
OLAP是一种自上而下、不断深入的分析工具:用户提出问题或假设,OLAP负责从上至下深入地提取出关于该问题的详细信息,并以可视化的方式呈现给用户。与数据挖掘相比,OLAP更多地依靠用户输入问题和假设,但用户先入为主的局限性可能会限制问题和假设的范围,从而影响最终的结论。因此,作为验证型分析工具,OLAP更需要对用户需求有全面而深入的了解。
显然,从对数据分析的深度的角度来看,OLAP位于较浅的层次,而DM所处的位置则较深。如果按E·F·Codd的数据分析模型来区分这两者,那么应该说OLAP实现了解释模型和思考模型,而DM则实现了更深的第四层——公式模型。所处分析模型层次的不同决定了这两者的分析能力和所能回答的问题种类也不相同。
数据挖掘可以发现OLAP所不能发现的更为复杂而细致的信息,但某些OLAP厂商声称其产品也具有数据挖掘的功能。实际上,如果减弱DM的定义,OLAP也能做数据挖掘,但两者最关键的区别在于信息挖掘过程是否是自动的。
1.4 数据仓库产品介绍
目前市场上各种数据仓库产品及其解决方案品种繁多,产品定位不同,各有特点,究竟选择哪家的产品能更适合自己的企业特点与未来发展?
目前市场上除了Microsoft之外的另外八大主流数据仓库产品是:Business Objects、Oracle、IBM、Sybase、Informix、NCR、SAS、CA,下面对其进行一一介绍。
1.4.1 Business Objects
1.产品特点
Business Objects是一个集查询、报表和OLAP技术为一身的智能决策支持系统。它使用独特的“语义层”技术和“动态微立方”技术来表示数据库中的多维数据,具有较好的查询和报表功能,提供钻取(Drill)等多维分析技术,支持多种平台(所有Windows平台及Unix平台)和多种数据库(如Oracle、informix、Sybase、Microsoft SQL Server、DB2、CA-Ingres、Teradata、Red Brick、FoxFro、dBase、Access等),同时它还支持Internet/Intranet,可以通过WWW进行查询、报表和分析决策。
2.主要工具
Business Objects是集成查询,报表和分析功能的工具。
Webintelligence是世界上第一个通过Web进行查询、报表和分析的决策支持工具。
Businessquery是第一个可以在Microsoft Excel中集成企业公共数据源中数据的工具。
Businessminer是面向主流商业用户的数据挖掘工具,可以实现深入的分析用以发掘深层次的数据之间的关系。
3.应用
从严格意义上说,Business Objects产品只能算是一个前端工具。它是数据仓库解决方案中最常用的数据展现工具。Business Objects通过为主流的商业用户提供访问数据库和数据仓库中的信息的决策支持方案而立足业界。产品已经从初级的工作组晋级到企业级。
1.4.2 Oracle
1.产品特点
Oracle公司的数据仓库解决方案包含了业界领先的数据库平台、开发工具和应用系统,它能够提供一系列的数据仓库工具集和服务。它具有多用户数据仓库管理能力,多种分区方式,较强的与OLAP工具的交互能力,及快速和便捷的数据移动机制等特性。
2.主要工具
Oracle 10g:数据仓库的核心。
Oracle Warehouse Builder集成数据建模、数据抽取、数据转移和装载、聚合、元数据的管理等功能。
Oracle Developer Server是企业级的应用系统开发工具,支持面向对象和多媒体,可同时生成Client/Server及Web下的应用,具有极高的开发效率及网络伸缩性。
Oracle Discoverer是最终用户查询、报告、深入、旋转和Web公布工具,能够帮助用户迅速访问关系型数据仓库,从而使他们做出基于充分信息的决策。
Oracle Darwin是基于数据仓库的数据挖掘工具,简单易用的图形化界面,提供决策树、神经网络等多种数据挖掘方法,支持海量数据的并行处理,分析结果可以和现有系统集成。
3.应用
Oracle的数据转移工具需手工编写SQL脚本,在处理复杂的数据转换需求时困难很多。Oracle的前端工具易用性较差,需较多地依赖第三方产品。
1.4.3 IBM
1.产品特点
IBM公司提供了一套基于可视数据仓库的商业智能(BI)解决方案,具有集成能力强、高级面向对象SQL等特性。
2.主要工具
IBM提供的Visual Warehouse(VW)是一个功能很强的集成环境,既可用于数据仓库建模和元数据管理,又可用于数据抽取、转换、装载和调度。
Essbase/DB2 OLAP Server支持多维数据库,它是一个(ROLAP和MOLAP)混合的HOLAP服务器,在Essbase完成数据装载后,数据存放在系统指定的DB2 UDB数据库中。
QUEST是IBM公司Almaden研究中心开发的一个多任务数据挖掘系统,目的是为新一代决策支持系统的应用开发提供高效的数据开采基本构件。系统提供多种开采功能,开采算法可适用于任意大小的数据库。
3.应用
IBM公司自己并没有提供完整的数据仓库解决方案,但是它可以使用第三方的数据仓库工具。例如,查询工具使用Business Objects的Business Objects,统计分析工具使用SAS公司的SAS系统。
1.4.4 Sybase
1.产品特点
Sybase公司提供的数据仓库解决方案以能够支持多种关系型数据库而受到业界推崇。它能够同时处理几十个即时查询,其Bit_Wisc技术和垂直数据存储技术使系统只访问特定的少量数据,使得查询速度比传统的关系型数据库管理系统快100倍。
2.主要工具
Warehouse Architect是PowerDesigner中的一个设计模块,利用它的数据集市或数据仓库设计者可以自动地对已有的关系数据库进行逆向工程,建立目标数据库设计、物理设计和DDL。
PowerStage、Replication Server、Carleton PASSPORT是数据抽取与转换工具。
Adaptive Server Enterprise是Sybase企业级关系数据库,它通过多线索体系、并行操作以及对系统的内存、处理器和磁盘资源使用进行控制等手段增强了资源利用率。
Adaptive Server IQ是Sybase公司专为数据仓库设计的关系数据库。
PowerDimensions、EnglishWizard、InfoMaker、PowerDynamo是数据分析与展现工具。
Warehouse Control Center、Sybase Central、Distribution Director是数据仓库的维护与管理工具。
3.应用
Sybase的Industry Warehouse Studio包括相应行业所需的商业智能应用软件和数据分析模型,可以针对不同行业进行业绩分析、促销活动分析、用户群分析、销售分析和收益分析等,具有数据仓库设计、元数据管理等功能、支持广泛的应用软件和报表,并提供Warehouse Studio的设计工具、Warehouse Control Center等工具,使企业能够进一步扩展数据模型和应用系统,以适应各种商业活动的实际需要。
1.4.5 Informix
1.产品特点
Informix公司日前发布了一个集成的、可伸缩的Fast Start数据仓库解决方案,以使用户能快速而便捷地设计开发具有可伸缩性的数据仓库或数据集市。采用ROLAP的星型模式与Informix IDS、IDS/AD紧密集成提供预先汇总、抽样、后台查询等性能优化手段。Informix产品能够集成Microsoft IIS或Netscape Enterprise/FastTrack服务器,从而支持Web访问。Informix没有提供自己的报表和数据挖掘工具,它可以集成第三方产品(例如结合Brio的前端数据分析和报表功能,结合SAS的数据挖掘功能)。informix并且向客户提供一套完整的咨询服务包。
2.主要工具
MetaCube ROLAP Option为基于Informix的数据仓库或数据中心提供了全面、简便易用、可扩展和自动化的商业分析环境。
Informix InfoMover是一套集成工具,用于从多个工作资源中抽取、转换和维护数据。
Seagate Crystal Info是企业级报表、分析系统。
IDS以及AD/XP选项是Informix数据仓库系统的核心,提供数据仓库数据的存储功能。
3.应用
采用Informix数据仓库解决方案可以使数据仓库系统具有高性能、高可扩展性,高开放性,可以自己进行定制。同时,利用informix的专业数据仓库咨询服务,将充分保证用户的数据仓库系统建设快速、及时,保证数据仓库系统真正发挥作用。
1.4.6 NCR
1.产品特点
在长期的实践过程当中,NCR形成了一套独特的数据仓库方法论和实施框架,这套理论被称为可扩展数据仓库(SDW,Scalable Data Warehouse)。NCR可扩展数据仓库的基本框架主要分成三个部分:数据装载、数据管理和信息访问。
2.主要工具
NCR的Teradata是高端数据仓库市场最有力的竞争者,主要运行在NCR WorldMark SMP硬件的Unix操作系统平台上,提供交互分析、标准报告和多维度分析。为了开拓数据集市(Data Mart)市场1998年,该公司也提供了基于WindowsNT的Teradata。
3.应用
总的来看NCR的产品性能很好,但是,NCR产品的价格相对较高,中小企业用户难以接受。
1.4.7 SAS
1.产品特点
SAS公司在20世纪70年代以“统计分析”和“线性数学模型”而享誉业界,它提供的工具以统计分析见长。90年代以后,SAS公司也加入了数据仓库市场的竞争,它提供的工具(例如智能化的客户机/服务器,多厂商构架等)可以帮助企业实现一个灵活和低风险的处理。SAS数据仓库可以支持各种硬件平台、支持不同数据库之间数据的存取,它还可对不同格式的数据进行查询、访问和分析,SAS具有与目前许多流行数据库软件和老的数据文件的接口,并可在SAS环境中建立对应外部异构数据的统一的公用数据界面。
2.主要工具
SAS提供的工具包括30多个专用模块。其中:
SAS/WA(Warehouse Administrator)是建立数据仓库的集成管理工具,其功能包括定义主题、数据转换与汇总、更新汇总数据、元数据管理、数据集市的实现等。
SAS/MDDB是SAS用于在线分析的多维数据库服务器。
SAS/AF提供了屏幕设计功能和用于开发的SCL(屏幕控制语言)。
SAS/ITSV(IT Service Vision)是IT服务的性能评估和管理的软件,这些IT服务包括计算机系统、网络系统、Web服务器和电话系统等。
3.应用
总的来说,SAS系统的优点是功能强、性能高、特长突出;缺点是系统比较复杂,软件投资较高,而且每年都需缴纳注册费。
1.4.8 CA
1.产品特点
CA能够提供以“元数据”为核心的、结构化的、包容构造数据仓库各项技术的全面解决方案。它具有独特的“元数据”管理与应用特性,具有用三维可视化技术解析处理的功能。CA解决方案提供ODBC接口,并将数据存储在第三方关系数据库(如Oracle、Sybase、SQL Server、Informix和IBM DB2等)中,其性能虽要打一些折扣,但提高了开放性。
2.主要工具
Erwin是数据库/数据仓库模型设计工具。
DecisionBase是图形界面的元数据管理和数据转移工具。
InfoPump是可编程控制的双向数据转移工具。
InfoBeacon是OLAP服务器。
Forest&Trees是DSS/EIS开发工具。
Repository是企业环境下元数据的集中管理工具。
ProVision是数据库性能和操作系统性能管理工具。
3.应用
CA提供的数据仓库解决方案能够满足不同企业的需要,能够集成完全不同的技术解决方案。适合于航空、电信、零售业、股票交易、证券等各行业的数据综合性分析处理,为其提供全面的数据仓库解决方案。
本章小结
随着信息技术在企业管理中的深入应用,传统的数据库遇到了自身无法突破的瓶颈,于是数据仓库技术应运而生。数据仓库是近年来在信息管理领域得到迅速发展的一种面向主题的、集成的、随时间变化的、非易失性数据的集合,其目的在于支持管理层的决策。由于企业决策支持需求的进一步扩大,数据挖掘技术也越来越受到重视。它引导企业高层管理者深入探讨企业数据背后的隐藏信息,使管理者的管理决策更科学。数据仓库与数据挖掘技术不是两门孤立的学科,它们与许多其他学科有着紧密的联系,随着各个学科的发展,数据仓库和数据挖掘技术也在不断发展着。数据仓库与数据挖掘技术已经成为有竞争力企业的基础。
数据仓库的建设过程是复杂的,企业在制定实施数据仓库解决方案时,不能盲目地选择产品供应商,因为每个行业都有自己的运行特点、特定的业务范围和特定的历史数据。因此,在建立数据仓库时,必须紧密结合本行业的特点和本企业的业务发展需求,参考产品提供商的技术特点和他们的成功案例,认真比较后再做出恰当的选择。
本章习题
1.为什么不能依靠传统的业务处理系统进行决策分析?
2.比较数据仓库与数据库的相同点和不同点。
3.数据仓库的产生对数据资源管理有哪些影响?
4.试描述一下数据挖掘技术的发展历程。
5.数据挖掘技术的挖掘对象有哪些?它们各有什么特点?
6.对主流数据仓库产品(Business Objects、Oracle、IBM、Sybase、Informix、NCR、SAS、CA)的特点、功能等进行比较。