论文部分内容阅读
近年来,随着数据库技术的应用和发展,人们尝试对数据库中数据进行再加工,形成一个综合的、面向分析的环境,以更好地支持决策分析,从而形成了数据仓库(Data Warehouse,简称DW)。数据仓库的重点与要求是能够准确、安全、可靠地从数据库中取出数据,经过加工转换成有规律信息之后,再供管理人员进行分析和决策支持,为后续的数据挖掘和知识发现提供良好的数据环境。在数据仓库的构建中,传统上作业量最大、日常运行问题最多的是把业务数据库中的数据抽取(Extract)、转换(Transform)和装载(Load)到数据仓库的工作,即所谓ETL的过程。其中,数据抽取是指从不同的网络、不同的操作平台、不同的数据库中抽取数据;数据转换指包括数据类型的转换、字段的合并、拆分和映射等的工作;数据装载是指把转换后的数据加载到目标数据库中。
本论文以广州市交警信息查询与短信服务为项目背景,设计并实现了数据ETL系统,着重研究ETL过程中的增量数据抽取技术和异构数据转换方法。
本文首先介绍ETL技术的相关理论和基本概念。针对传统数据集成系统的不足,提出一种改进的三层结构的数据集成系统。
在增量数据抽取技术的研究中,分析了目前几种增量数据抽取技术的工作原理,指出它们的优缺点和适用范围,并从多个方面对这些抽取技术做了比较。为了提高抽取效率,减少对应用系统的实施和维护工作量,本文提出一种基于触发器和增量控制表的数据抽取方法。
在异构数据转换方法的研究中,介绍了几种数据转换方法的工作原理,综合运用JDBC、XML和元数据技术提出一种可行的数据转换方案。该方案利用JDBC的SQL类型作为公共数据类型,解决异构数据源数据类型不统一的问题。以XML文档作为中间存储介质,缓存中间处理结果。元数据则保证系统能够按照业务规则进行数据转换。该方案可以很好地解决数据ETL过程中常见的转换问题。
在系统实现方面,充分运用面向对象技术的继承、多态的特性,将设计模式的思想大量地应用于系统的设计中,使系统架构清晰,具有良好的扩展性。