论数据仓库和数据挖掘
2009-07-28梁柳莹
梁柳莹
摘要:数据仓库和数据挖掘是两个比较大的概念,在国外已经非常成熟,在国内随着前几年企业数据的累计、ERP的成熟,数据仓库和数据挖掘开始起步。如何建立数据仓库和数据挖掘是个值得不断探讨和优化的问题。
关键词:数据仓库;数据挖掘;数据集合
中图分类号:P208 文献标识码:A
文章编号:1674-1145(2009)03-0093-02
数据仓库和数据挖掘是两个比较大的概念,在国外已经非常成熟,在国内随着前几年企业数据的累计、ERP的成熟,数据仓库和数据挖掘开始起步。如何建立数据仓库和数据挖掘是个不断值得探讨和优化的问题,不仅仅在技术上,在商业应用上也是如此。
一、数据仓库
1.数据仓库的概念。数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
2.数据仓库的特点
根据数据仓库概念的含义,数据仓库拥有以下四个特点:
(1)面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
(2)集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
(3)相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
(4)反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础的。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。
3.数据仓库的结构。整个数据仓库系统是一个包含四个层次的体系结构,具体由下图表示:
数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等。
数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
二、数据挖掘
1.数据挖掘的概念。数据挖掘,也可以称为数据库中的知识发现(Knowledge Discovery in Database,KDD),是从大量数据中提取出可信、新颖、有效并能被人理解的信息的高级处理过程。数据挖掘的广义观点:数据挖掘就是从存放在数据库,数据仓库或其他信息库中的大量的数据中“挖掘”有趣知识的过程。数据挖掘,又称为数据库中知识发现(Knowledge Discovery in Database, KDD),也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程以下步骤组成:(1)数据清理;(2)数据集成;(3)数据选择;(4)数据变换;(5)数据挖掘;(6)模式评估;(7)知识表示。数据挖掘可以与用户或知识库交互。
2.数据挖掘的作用。在今天的市场上,信息的利用至关重要,各行各业面临激烈的竞争及经济压力,产品的生命周期缩短,需要为顾客提供更好的服务。在市场经济比较发达的国家和地区,许多公司都开始在原有信息系统的基础上通过数据挖掘对业务信息进行深加工,以构筑自己的竞争优势,扩大自己的营业额。在过去几年中,各公司为了取得必要的市场战略信息及对付市场方面的各种压力,已经开始采用数据仓库技术。各公司为了确定所要开发的产品模式及了解市场走势,需要提取数据仓库数据,包括联机事务处理(OLTP)数据,并与外部的人口统计数据及心理数据结合,从中“挖掘出”最终结果。利用这种数据仓库信息源,知识工作者在他们的办公室内可根据所取得的数据进行决策。可以说,数据仓库直接影响事关公司命运的决策。
三、数据挖掘和数据仓库的关系
上述过程其实就是数据挖掘,实施这一过程的基本设施是数据仓库。这是一种关键性、涉及范围很广的技术手段。利用数据挖掘技术可使潜在的效益得到最大的发挥。数据仓库是一种数据集成战略,目的是促进最终用户利用企业数据,同时保护公司的数据财富——关键任务的可操作数据——安全性和完整性。
只要安排妥当,数据仓库就能发挥它的重要作用,即人们可以很快地作出决策。因此,数据仓库是实施公司战略的一种技术手段。
一般来说,构筑数据仓库是一个频繁的查阅过程,它可分为若干阶段,其中包括需求分析、数据仓库的设计、操作数据的提取、不相容数据的集成、数据仓库的装填、最终交付用户使用。在后续期内,还应该对数据仓库作定期更新。
数据挖掘对发挥数据仓库的作用有很大影响,因为通过它可以识别出商务中的模式与趋势,而仅通过分析数据仓库数据是无法得出的。当知识工作者运用结构化查询语言(SQL)对数据仓库查询所需的信息时,查询中的歧义性常常涉及到与答案集有关的一系列知识。相反地,数据挖掘可以揭示出非常有价值的信息,这些信息在实施分析之前,知识工作者是无法得知的。这种新技术,有助于使公司取得较大的市场份额,建立更好的形象并推动公司向前发展。