第22卷第3期湖 北 工 业 大 学 学 报2007年06月V ol.22N o.3 Journal of H ubei U niversity of T echnology Jun.2007[收稿日期]2007-03-20[作者简介]张 波(1981-),男,湖北当阳人,武汉理工大学硕士研究生,研究方向:物流系统的自动化与智能化.[文章编号]1003-4684(2007)0320029203基于SQL SERV ER 2005的数据挖掘系统设计张 波,陈定方,祖巧红(武汉理工大学智能制造与控制研究所,湖北武汉430081)[摘 要]介绍了数据挖掘软件的发展,并针对第3代数据挖掘软件的系统设计,提出了一种基于SQL SERV ER 2005的纵向数据挖掘系统的设计框架.[关键词]数据挖掘;SQL SERV ER 2005;数据仓库;OL A P ;商业智能[中图分类号]TP311.131[文献标识码]A 数据仓库(Data Warehouse )是伴随着决策支持系统的发展而产生的,是人们对信息需求从简单到复杂,从基本的事务处理和业务管理到信息分析和战略决策的体现.而数据挖掘(Data Mining )就是应用一系列技术从大型数据库或数据仓库的数据中提取人们感兴趣的信息和知识,是统计学、数据库技术和人工智能技术的综合.但一方面,随着数据挖掘工具的使用日渐广泛,人们发现有些工具只有精通数据挖掘算法的专家才能熟练使用.如果对算法不了解,难以得出好的模型.所以迫切需要一类使用简单而又具有针对性、功能良好的数据挖掘软件.另一方面,国内对数据挖掘方面的算法和理论研究较多,而对数据挖掘软件和工具的设计与实现方面的研究相对较少.因此,本文结合数据挖掘软件的发展,针对第3代数据挖掘系统的设计,提出一种基于SQL Server 2005的纵向数据挖掘解决方案的设计框架.1 数据挖掘软件的发展1.1 数据挖掘软件经历的4个时代在对数据挖掘技术和数据挖掘软件的探索和开发过程中,很多学者提出了自己独特的观点.对于数据挖掘软件的发展,Robert Grossman 认为,数据挖掘软件经历了或即将经历的时代有4个[1],如表1所示.表1 数据挖掘软件经历的4个时代代特征数据挖掘算法集成分布计算模型数据模型1作为一个独立的应用支持一个或多个算法独立的系统单个机器向量数据2和数据库以及数据仓库集成多个算法,能挖掘一次不能进入内存的数据数据管理系统,包括数据库和数据仓库同质、局部区域的计算机群集有些系统支持对象,文本和连续的媒体数据3和语言模型系统集成多个算法数据管理系统Intranet/extranet 网络计算支持半结构化和Web 数据4和移动数据以及各种计算设备的数据联合多个算法数据管理系统移动和各种计算设备普遍存在的计算模型1.2 数据挖掘工具经历的3个阶段目前在整个数据挖掘技术的发展过程中,数据挖掘工具一共经历了3个阶段,分别是:1)独立的数据挖掘软件.该阶段对应第一代数据挖掘系统,出现在数据挖掘技术发展早期,研究人员开发出一种新型的数据挖掘算法,就形成一个软件.这类软件要求用户对具体的算法和数据挖掘技术有相当的了解,还要负责大量的数据预处理工作.2)横向的数据挖掘工具集.此类工具集的特点是提供多种数据挖掘算法,包括数据的转换和可视化.由于此类工具并非面向特定的应用,是通用的算法集合,所以称之为横向的数据挖掘工具.3)纵向的数据挖掘解决方案.此类工具的特点是,针对特定的应用提供完整的数据挖掘方案,所以称之为纵向的数据挖掘解决方案.2 SQ L Server2005简介2.1 数据挖掘的范围及其在SQ L Server2005中的功能实现SQL Server2005不仅是一个成熟的数据库管理系统(DBMS),而且更是一个高度集成的功能强大的商业智能平台.下面结合商务智能的范围来介绍SQL Server2005所提供的相关组件.图1 数据挖掘在SQL Server2005中的功能实现图1所示的就是数据挖掘的三个重要的方面,即数据报表、数据分析和数据挖掘.其中,数据报表模块为企业解决了“它现在是什么样”的问题,数据分析,也就是人们经常说的OL A P模块为企业解释了“它为什么是这样”的原因,而数据挖掘模块则为企业提供“它以后会是什么样”的预测.而SQL Server2005作为商业智能解决方案,则分别提供了相应的功能模块和组件,即数据挖掘、分析服务和报表服务.其中,数据挖掘功能的组件主要包括集成服务( SQL Server Integration Services,SSIS)和分析服务(Analysis Services,AS).集成服务可用于数据预处理阶段,完成数据的转换、清洗和加载(ETL)过程;而分析服务用于完成模式发现功能.两者具体功能介绍如下.2.2 SSIS功能介绍SQL Server2005中的集成服务提供的数据抽取、转换、下载等功能,大大简化数据预处理阶段的工作.SSIS基于工作流环境,提供了控制流(Con2 t rol Flow)和数据流(Data Flow)两种工作流.一个SSIS项目中最基本的部署和执行单位被称为“包”,“包”就是装载SSIS工作流的容器[2].2.3 分析服务功能介绍分析服务是SQL Server2005的另一个重要组件,采用开放的体系结构,无缝集成了多种符合OL E DB for DM的数据挖掘算法,提供了数据挖掘解决方法.1)OL E DB for DM介绍 OL E DB for DM是微软于2000年提出的一种数据挖掘规范,基于OL E DB的实现原理,旨在为数据挖掘界提供一种类似SQL语言的行业标准语言,它定义了强大的可用于模型建设、模型训练以及预测的数据挖掘语言,同时定义了一套模式的行集合用于存储挖掘模型和挖掘算法的元数据,允许应用程序自动发现挖掘模式和挖掘服务[3].2)数据挖掘模型介绍 在SQL Server2005的数据挖掘平台中,数据挖掘模型类似于一个关系型的表,其中包括关键字、输入、预测3个属性.每个模型跟一个数据挖掘算法相关联.模型构建可以基于DMX,也可以直接在SQL Server2005中操作实现.模型的构建包括模型建立、模型训练、模型预测3个步骤3)数据挖掘算法介绍 SQL Server2005的分析服务给用户提供了9种常用的数据挖掘算法,分别是:决策树算法、聚类算法、贝叶斯算法、时间序列算法、关联算法、序列聚类算法、神经网络算法、线性回归算法、逻辑回归算法、除了这9种算法以外,用户还可以根据自己的需要嵌入其他的算法.当然,各种算法应该结合数据挖掘系统的要求来选择合适的挖掘模型.3 基于SQ L Server2005的数据挖掘解决方案设计 借助SQL Server2005在数据挖掘平台上的优势,分析了客户关系管理中的客户分类系统与客户流失、科技计划项目管理系统中科技计划项目的分析与处理等相关数据挖掘系统研究,本文提出一个纵向数据挖掘系统的原型方案,其框架图如图2所示.图2 基于SQL Server2005的数据挖掘解决方案本文提出的基于SQL Server2005的数据挖掘解决方案主要包括以下几个部分,各部分简要介绍如下:03湖 北 工 业 大 学 学 报2007年第3期 1)源系统 数据挖掘的基础就是基于大量的历史数据.这里的源系统可以是企业内部的任何业务系统,即各种管理信息系统,其数据存储类型也可以为多种,如文本文件、各种关系型数据库等等.这些业务系统中的数据可以经过数据清洗、转换和加载(ETL ),为数据挖掘做准备.2)数据仓库 该部分的功能就是为数据挖掘提供多维数据集(Cube )和数据集(DataSet ),用于数据挖掘的Cube 也可以根据用户的要求作相应的更改.SQL Server 2005提供了自动创建Cube 的功能,用户只需要设置好相应的维度表和量度组,通过一些简单的命令就能实现Cube 的自动生成和重新生成.因此,数据仓库的设计主要在于维度表和量度组,以及两者之间关系的设计.3)联机分析处理(OL A P ) 任何数据挖掘系统都离不开OL A P 部分,它为用户提供强大的数据分析功能.在数据仓库建立好后,输入测试数据,测试建立好的数据仓库、测试模型.如果分析结果显示创建的模型有问题,则可以通过OLA P 提供的功能重新创建模型,并且按照用户喜好的方式显示数据分析的结果.直到模型没有问题之后,就可以将ETL 处理过的真实数据来做相应的数据分析.4)数据挖掘 数据挖掘模型的建立以MDX 语句为基础,同时SQL Server 2005也支持手工操作.模型建立好后,就需要对选择数据挖掘的模型进行测试和训练.用于训练的数据源可以来自于数据仓库生成的Cube ,也可以直接使用其他的数据集,如文本文件.模型训练的结果可以浏览也可以生成报表在客户端展示.5)客户端 即数据挖掘模型、报表和OL A P 的分析结果前端展现,即用户与系统交互界面.目前比较流行的方式是基于Web 的B/S 结构.由此看来,数据仓库以及数据挖掘的功能均能在SQL Server 2005中快速实现,而本文提出的解决方案充分利用了这个特点,将数据仓库和数据挖掘、OL A P 等相结合,为企业级的数据挖掘系统的设计提供了一种原型设计方案.4 结束语SQL Server2005为数据挖掘解决方案提供了强大的设计和开发平台,为第三代企业级的数据挖掘系统的设计和实现带来极大的便利.同时,用户只需要在客户端浏览模型和报表,不用对数据挖掘技术和数据挖掘算法有太多了解.采用本文提出的数据挖掘软件设计模型,可以充分利用SQL Server 2005提供的功能,结合具体的应用,快速实现纵向的数据挖掘解决方案.因此,利用SQL Server 2005来设计和实现数据挖掘平台具有广泛的应用前景.[ 参 考 文 献 ][1] 吴 婕.浅析数据挖掘软件的发展[J ].情报理论与实践,2004(2):212-214.[2] Y ike Guo ,Robert Grossman.High Performance DataMining :Scaling Algorithms ,Applications and Systems [Z].Germany :Springer ,2001:1-56.[3] Zhao Hui Tang ,Jamie MacLennan.Data Mining withSQL Server 2005[M ].北京:清华大学出版社,2007.Data Mining System Design B ased on SQ L SERVER 2005ZHAN G Bo ,CH EN Ding 2fang ,ZU Qiao 2hong(Research I nst.of I ntelli gent M anu f .and Cont rol ,W uhan Uni v.of Tech.,W uhan 430081,Chi na;)Abstract :The develop ment of t he data mining software is reviewed ,and a f ramework of designing a verti 2cal data mining system based on SQL Server 2005is presented ,which aims at t he system design for a data mining software in t he t hird era.K eyw ords :data mining ;SQL SERV ER 2005;data warehouse ;OL A P ;business intelligence[责任编辑:张培炼]13 第22卷第3期 张 波等 基于SQL SERV ER 2005的数据挖掘系统设计。