1、 本 科 毕 业 论 文 基于数据仓库的企业数据质量 控制 Data Quality Control of Enterprises Based on Data Warehouse 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 年 月 摘 要 数据仓库赋予企业 在行业中保持领先 地位 的能力 , 数据 质 量是决定数据仓库成败 的关键 。然而,经过数十年的研究与实践,业界仍然缺少 完整 的 企业数据质量控制方法 。 本文提出了基于数据仓库的企业数据质量控制, 力求为企业 IT人员提供 一套 指导手册式的 解决方案 , 在 基于数据仓库的企业数据质量的
2、各个方面 给予 指导和 建议 。 这套 方法 主要 包括 总体数据质量 管理 和 ETL(数据的抽取、转换、清洗、装载 )工具两个方面,分别处理与数据源相关和 与 数据整合相关的 数据质量 问题。在本文中,我们对 TDQM各 阶段使用的技术进行了详细的介绍,就 企业数据质量的建模、评估、分析和如何改进数据质量展开了探讨 。同时, 本文 根据 ETL工具的分类和实现方式(购买 /自行开发),对如何选用和开发合适的 ETL工具以及如何控制 ETL实施过程本身 产生 的数据质量问题进行了 简单的讨论 。 关键词: 数据仓库;数据质量;总体数据质量管理; ETL工具 Abstract Data qua
3、lity is critical to data warehouse, which enables an organization to maintain its leading position in the industry. However, despite decades of active research and practice, the field lacks comprehensive methodologies of enterprise-level data quality control. Here, we develop such a methodology, the
4、 Data Quality Control of Enterprises Based on Data Warehouse, which aims to provide manual-like solutions to the IT departments of organizations, and to present guidance and recommendations in all aspects of data quality control of enterprises based on data warehouse. The methodology encompasses Tot
5、al Data Quality Management (TDQM) and ETL (Extraction, Transformation, Cleansing, Loading) tools, separately handling problems related to data sources and data integration. This paper has a detailed explanation of the techniques used in each stage of the TDQM methodology, and discusses about how to
6、model, estimate, analyze and improve data quality of an organization. Meanwhile, we provide a brief introduction on how to choose or develop ETL tools that are suitable for an organization, as well as how to deal with data quality problems produced by the ETL process. Key words: Data Warehouse; Data
7、 Quality; Total Data Quality Management; ETL. 目 录 第一章 绪论 1 1.1 研究背景 1 1.2 概述 2 1.2.1 数据仓库的拓扑结构 2 1.2.2 数据仓库中的数据质量问题分类 3 1.2.3 论文组织结构 3 第二章 数据源数据质量控制 4 2.1 定义阶段 5 2.1.1 定义 IP 特征 6 2.1.2 定义 IP 质量 7 2.1.3 定义信息系统 10 2.2 测量阶段 11 2.2.1 数据质量维度 11 2.2.2 数据质量指标 12 2.2.3 实际评估 15 2.3 分析阶段 16 2.3.1 数据质量问题分类 16
8、2.3.2 单数据源中孤立点的检测 18 2.3.3 探索性数据分析 20 2.3.4 数据标记技术在 TDQM 分析阶段的运用 26 2.4 改进阶段 26 2.4.1 规范化和重复记录消除 26 2.4.2 对数据值空缺 的处理 28 2.4.3 解决新老系统不兼容问题 28 2.4.4 小结 29 第三章 数据仓库数据质量控制 30 3.1 ETL 工具的功能和分类 30 3.2 购买 ETL 工具 31 3.3 自行开发 ETL 工具 34 3.3.1 探测和消除星型模式中的相似重复记录 34 3.3.2 ETL 工具开发流程 38 3.4 ETL 过程中的数据质量问题及相应保障手段
9、39 3.4.1 ETL 过程中可能出现的数据质量问题 40 3.4.2 相应的保障手段 40 第四章 总结与展望 41 4.1 总结 41 4.2 未来研究展望 41 参考文献 43 致 谢 45 CONTENTS Chapter 1 Introduction 1 1.1 Backgrounds 1 1.2 Overview 2 1.2.1 Topology Structure of Data Warehouse 2 1.2.2 Classifications of DQ Problems in Data Warehouse 3 1.2.3 Architecture of This Pape
10、r 3 Chapter 2 DQ Control at Data Source 4 2.1 Defining 5 2.1.1 Define IP Characteristics 6 2.1.2 Define IP Quality 7 2.1.3 Define Information Manufacturing System 10 2.2 Measuring11 2.2.1 Data Quality Dimensions 11 2.2.2 DQ Metrics 12 2.2.3 Evaluation in Practice 15 2.3 Analyzing 16 2.3.1 Classifica
11、tions of DQ Problems 16 2.3.2 Outlier Detection in Single Data Source 18 2.3.3 Exploratory Data Analysis 20 2.3.4 Data Tagging in the Analyzing Phase of TDQM 26 2.4 Improving 26 2.4.1 Standardization and Duplicate Removal 26 2.4.2 Dealing with Missing Values 28 2.4.3 Crosswalks 28 2.4.4 Summary 29 C
12、hapter 3 DQ Control at Data Warehouse 30 3.1 Functions and Classifications of ETL Tools 30 3.2 Buy ETL Tools 31 3.3 How to Develop ETL Tools 34 3.3.1 Duplicate Detection and Removal in Star-Shaped Pattern 34 3.3.2 Development of ETL Tools 38 3.4 DQ Problems Produced by ETL Process and Solutions 39 3
13、.4.1 DQ Problems in the ETL Process 40 3.4.2 Possible Solutions 40 Chapter 4 Conclusions and Future Study 41 4.1 Conclusions 41 4.2 Future Study 41 References 43 Acknowledgements 45 第一章 绪论 1 第一章 绪论 1.1 研究背景 信息 已 经 成为企业最重要的产品 和财富创造者 之一,在创造 企业竞争优势过程中的作用至关重要。数据质量的保证对于 信息而言是必需的。根据 “ 垃圾进,垃圾出” (Garbage In
14、 Garbage Out, GIGO)原理,正确的决策支持要求其所管理的数据可靠,没有错误, 能够准确的 反映企业的实际情况。因此,企业数据质量的控制 正在获得越来越多的关注。过去,数据质量被认为是数据本身的概念,独立于数据产生和 使用的环节。这种对数据库中数据固有质量的关注,不能解决复杂的企业 数据问题。现代数据质量的定义更加关注数据的使用价值 :数据质量是指数据能够被用来高效、经济、快速的制定和评估决策的能力。换 言之,数据质量最好的定义就是“适于使用”。这 同时 意味着数据质量是一个相对的概念,在一种情况中相对合适的 数据 也许并不适用于另 外 一种情况 。 数据仓库的出现使得企业的 I
15、T部门从信息通道变为信息通道的建立者。数据仓库的迅速发展和企业数据用户对 数据的直接访问促进了企业对于高质量数据的认知 和需求。 同时,“适于使用” 迫使 IT人员需要 比 单纯 的数据准确性 看的更远。从传统 OLTP系统中取得的数据可能是准确的,但如果不具有足够的时效性,就不适 合使用;另外,即使企业各个部门各自的数据库是准确的,如果需要把多个格式不兼容的部门数据库结合到一起, 不做合适的处理, 这些数据库仍然不适合使用。 确保基于数据仓库的企业数据质量是 一项 非常困难的工作,其原因来自于多个方面。首先,数据源的组成具有不确定性。 数据可能来自 原始 OLTP系统,外部系统, Excel
16、电子表格甚至是纸制表格中。 同时,数据质量 问题 经常被赋予低优先级。 如同计算机安全 问题 一样, 尽管保证 数据质量得到了越 来越广泛 的关注和认可,但事实上几乎没有人把它列为高优先级 的 企业 事务 。另外,由于数据 需要整合在一个特定的平台上(如数据仓库),那么就需要有大量的措施来处理数据间的不一致性。 此外,如何为企业数据质量选择一个合适的级别也是一个棘手的问题。固然 IT人员希望企业的 所有 数据 在任何一种情况下都是完美的,但 显然 这基于数据仓库的企业数据质量控制 2 不可能达到。“适于使用”意味着数据质量的合适级别依赖于特定的环境。当不同的用户有着不同需求的时候,决定数据质量
17、需求就变得 十分困难。 现今 , 数据质量相关的 研 究人员和从业者已经对数据质量进行了广泛而深入的研究,并且取得了可观的成果。然而,业界仍然缺少一套关于如何控制 基于数据仓库的企业数据质量的完整而富有实践意义的方法 。 本文在以往研究成果的基础上 , 总结 开发出这样一套方法 ,旨在为企业 IT人员从基于数据仓库的企业数据质量的各个方面提供具有借鉴意义的指导。 1.2 概述 1.2.1 数据仓库的拓扑 结构 数据仓库的拓扑结构表示的是一种可变的事务。数据是从诸如 OLTP系统和平面文件这样的数据 源抽取的。然后,这些数据通过一些途径(如 Oracle公司的 SQL* Loader和数据仓库装
18、载工具等)装载到数据仓库中。数据仓库将在用户所要求信息的最详细级别上建立。然后,数据仓库被用于聚居各种不 同的面向处理的数据集市。这些数据集市将以星型模式来构造以 获得最好的检索性能。这样整个数据仓库就形成一个能够为 最终用户提供报表服务和联机在线分析 服务的集成系统。 平 面 文 件操 作 型 系 统操 作 型 系 统数 据 仓 库销 售 库库 存 库进 货 库分 析报 表 生 成数 据 挖 掘数 据 源 数 据 准 备 区 集 成 / 数 据 仓 库 数 据 集 市 终 端 用 户 存 取图 1-1 数 据仓库拓扑结构图 从数据仓库的拓扑图可以看出, 影响数据仓库中的数据质量的两个关键环节
19、第一章 绪论 3 是数据源和数据准备区, 处理好数据源的 数据质量问题和数据源整合时的数据质量问题对于确保数据仓库中数据 的 质量具有重要 的意义。 1.2.2 数据仓库中的数据质量问题 分类 数据质量问题可以出现在单 个数据集合中, 如出现在一个文件或数据库中,这可以由数据输入时错误的拼写、错误信息以及其他的无效 数据等 原因 引起。数据仓库中的数据来自于多个数据源,是对多个数据集的继承,单个数据集合中的数据质量问题 因此 被放大而显得 尤为突出。同时,不同数据源中的数据在进行合成时往往存在着结构冲突,数据冗余等一系列 数据 质量问题。 数据仓库中 的数据质量是由进入数据仓库中数据源的质量决
20、定的。我们可以将数据仓库 中的数据质量 问题 粗略的划分为 单数据源和多数据源问题两大类,每一类又可以细分为模式相关和实例相关两个方面的 问题。具体关于数据质量问题的探讨详见 2.3.1。 1.2.3 论文组织结构 针对影响 企业 数据仓库中数据质量的两个关键环节, 数据源和数据准备区,以及数据仓库中 数据质量 的两 大 类问题, 单数据源和多数据源问题,本文提出 了总体数据质量管理 (Total Data Quality Management, TDQM)与 ETL工具 相结合 的解决方案。 TDQM主要 在数据源一端 解决 与单数据源相关的问题。 本文在 第二章重点 探讨了 TDQM循环的四个阶段以及各阶段的概念、原则和相关技术。第二章还对数据标记 (Data Tagging), 数据质量指标 (DQ Metrics)以及 探索性 数据分析 (Explor- atory Data Analysis, EDA)等数据质量领域的关键技术在 TDQM中的应用进行了介绍。 ETL工具主要负责处理 多个数据源整合的问题,衔接数据源和数据仓库 。 第三章对 ETL工具的功能与分类以及如何选用或者自行开发合适的 ETL工具进行了一定的 探讨 。 第四章在已有讨论的基础上,对论文进行了总结,并且对未来研究方向进行了展望。