数据仓库技术与多维数据集实现

2011-01-13 06:15
天中学刊 2011年2期
关键词:数据仓库数据源维度

程 磊

(黄淮学院 电子科学与工程系,河南 驻马店 463000)

数据仓库技术与多维数据集实现

程 磊

(黄淮学院 电子科学与工程系,河南 驻马店 463000)

随着数据库技术的发展和数据库管理系统的广泛应用,人们积累的数据越来越多,出现了“数据拥挤”现象.数据仓库可以对数据进行有效集成,是数据分析与决策支持的基础,是把数据转换成信息知识的关键技术.

数据仓库;商业智能;多维数据集

随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多,出现了“数据拥挤”现象.激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据.目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但由于缺乏挖掘数据背后隐藏的知识的手段,从而导致了“数据爆炸但知识贫乏”的现象.因此,解决数据拥挤问题同时使数据充分得到利用,是目前的研究热点之一.

1 数据库与数据仓库

传统的数据库技术是以单一的数据资源(数据库)为中心进行事务处理,主要包括操作型处理和分析型处理.操作型处理也叫事务处理,是指对数据库的联机日常操作,通常是对一个或一组纪录的查询和修改,注重响应时间,注重数据的安全性和完整性;分析型处理主要用于管理人员的决策分析,经常要访问大量的历史数据.

目前,传统数据库系统已经无法满足数据处理多样化的要求,操作型处理和分析型处理的分离已成为必然.20年前,在数据库中查询不到数据是因为数据太少,而今天查询不到数据是因为数据太多了.针对这一问题,人们设想专门为业务的统计分析建立一个数据中心,这个数据中心就叫做数据仓库,它的数据来自于联机的事务处理系统、异构的外部数据源和脱机的历史业务数据.

20世纪80年代中期,数据仓库之父William H. Inmon将数据仓库定义为:“一个面向主题的、集成的、非易失的、随时间而不断变化的数据集合,用来支持管理人员做出决策.”数据仓库具有以下特性:(1) 面向主题,即数据仓库中的数据是按照一定的主题进行组织的.(2) 集成性.数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上,经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息;(3) 相对稳定性.数据仓库主要供企业决策分析之用,数据操作主要是数据查询,一旦某个数据进入数据仓库,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期进行加载和刷新.(4) 反映历史变化.数据仓库中的数据通常包含历史信息,系统记录了企业从过去某时(如开始应用数据仓库的时间)到目前各个阶段的信息,利用这些信息可以对企业的发展历程和未来趋势做出定量分析和预测.

2 数据仓库技术

2.1 数据仓库的相关概念

假设一个销售系统的数据库包含时间表(时间编号、年份、月份、日期)、地区表(地区编号、地区、省份、城市)、产品表(产品编号、产品种类、产品名称)和销售表(销售编号、时间编号、地区编号、产品编号、单位成本、销售量、销售额),每个产品项的每次销售在销售表中有一条记录.销售记录的信息可能包括销售发生的地点,售出的日期,以及售出产品的单位成本、销售量和销售额,这些信息中的每一类都可组织为自己的维度表.地点信息放在地区维度表中,时间信息放在时间维度表中,产品信息放在产品维度表中,而销售表就是销售事实表.

与数据仓库相关的概念主要有:(1) 事实表,用于保存度量值的详细值或事实,表中的每列要么是键值列(销售量或销售额),要么是度量值列(时间编号、地区编号或产品编号).(2) 维度表,用于保存一类属性的集合,其键属性必须能够唯一地标识每一个成员,每个维度表中的主键列都与相关的事实表的键值列对应(如时间表中的时间编号与销售表中的时间编号对应).(3) 事实数据,即用于描述度量值的数据.如果给某一个维度一个确定的值,事实数据的值也就确定下来了;如果某一个维度值未知,事实数据则是对其他维度的汇总信息.(4) 维度数据,是指描述属性的数据,具有层次性结构.维度表中的每个属性都可以作为维度数据,如年份和月份都可以作为一个时间维度,若将年份与月份的组合作为一个时间维度,时间维度就是一个层次结构,年份的下一个层次是月份.(5) 元数据,是对数据的描述,如对数据库、表、列、列属性(类型、格式、约束等)及主键/外键关联的描述,定义数据源的位置及数据源的属性,等等.元数据是数据仓库的核心,一般由数据仓库自动生成.(6) 数据集市,是面向特定应用的决策数据集合,它与数据仓库的关系类似于视图与表的关系.

2.2 构建数据仓库的基本流程

构建数据仓库的流程如图1所示,其中:数据源即数据仓库的数据来源,一个数据仓库可以有多个异构的数据源,可以是关系数据库如SQL、DB2等,也可以是Excel、Word、HTML、XML和文本文件;数据抽取是指抽取数据源中与分析主题相关的数据;数据清洗是指清除数据中存在的错误,纠正不一致的数据,删除重复的数据;数据转换是指通过规范化统一数据格式,如不同的数据源中可能分别用上海、申城等表示上海市出生的客户,应将它们统一为其中的某个值;数据加载是指把抽取、清洗、转换后的数据导入数据仓库;基于数据仓库的应用主要是指数据分析和决策支持,如数据挖掘等.

图1 构建数据仓库的流程图

3 数据仓库构建过程中应注意的问题

3.1 数据分析主题的确定

要明确数据分析的目的,即从哪方面的数据着手,找出哪些因素影响着商业活动,如何协调这些因素从而达到商业利润最大化.在一个销售系统中,有关于销售信息的数据,也有关于库存信息的数据,如果分析的主题是时间、区域和产品对销售情况的影响,就可以忽略库存信息.

3.2 数据的清洗与转换

在各个异构的数据源集成到目标数据库之前,要进行数据清洗和数据转换,如删除重复的记录、统一数据格式、条件拆分一张表、合并两张表、排序、查找两表关联字段实现派生列等.若给定的数据源是“干净的”(正确的,统一的),则数据清洗与转换的过程基本可以忽略.

3.3 维度表和事实表的确定

首先要确定时间维度表,若目标数据库中没有,则必须手工在目标数据库中创建一张时间表作为时间维度表.可以根据分析的主题,从目标数据库中选择描述商业分析的表作为维度表,度量商业分析结果的表作为事实表.

3.4 数据的加载和数据多维集的构建

此过程需要确定维度表与事实表的关联关系(又称引用关系),最后加载到数据立方体(cube,又称多维数据集)中.例如,若从购买地区、购买时间和产品名称3个视角建立一个销售数据立方,那么数据立方体上的1个点包含3个值,即特定的地区、产品和日期.由于商务视角的多样性,大多数情况下数据立方是以三维以上的方式组成的.

数据仓库的兴起实际是由数据存储到数据分析的一种转变.数据库面向事务处理,而数据仓库针对联机分析.数据仓库依赖数据库和其他格式的数据,在大量历史数据的基础上按分析主题构建多维数据集,以便从各个维度解析数据,增加数据分析的灵活性.

[1] Wu Shuning,Cui Deguang,Cheng Peng.The four-stage standardized modeling method in data warehouse system development[C]//IEEE ICMA2005:799―803.

[2] 顾小波.SQL Server 2005分析服务从入门到精通[M].北京:清华大学出版社,2007.

[3] 梅伟恒,康晓东,江玉彬.基于数据仓库的OLAP技术的研究综述[J].中国科技信息,2006(14):134―135.

Data Warehouse and Multidimensional Cube

CHENG Lei

(Huanghuai University, Zhumadian Henan 463000, China)

With data warehouse technology growing rapidly and database management system being widely used, people have gathered more and more history data, as a result of “data jailhouse”. Data warehouse facilitates integrating data can be utilized as the basis of analyzing data and decision support. It is also a crucial technique to convert data to information knowledge.

data warehouse; business intelligence; multidimensional cube

TP311.13

A

1006-5261(2011)02-0014-02

2010-11-12

程磊(1981―),女,湖北黄梅人,助教,硕士.

〔责任编辑 张继金〕

猜你喜欢
数据仓库数据源维度
理解“第三次理论飞跃”的三个维度
基于数据仓库的数据倾斜解决方案研究
浅论诗中“史”识的四个维度
基于数据仓库的住房城乡建设信息系统整合研究
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
探析电力系统调度中数据仓库技术的应用
光的维度
基于数据仓库的数据分析探索与实践
基于真值发现的冲突数据源质量评价算法