1、本科毕业论文(科研训练、毕业设计)题 目:基于数据库复制技术的数据转移方案设计与实现姓 名:学 院:软件学院系:专 业:软件工程年 级:级二学位学 号:指导教师(校内): 职称:教授指导教师(校外): 职称:2005 年 05 月 31 日基于数据库复制技术的数据转移方案设计与实现基于数据库复制技术的数据转移方案设计与实现摘要 数据库复制是分布式环境中的一项关键技术。同时在分布式环境中,数据库异构现象越来越普遍,研究异构数据库复制无论在理论上还是在实际运用中上都具有非常重要的意义。作为全部工作的基础,本文从数据库复制技术的发展与现状,数据库复制技术的主要步骤等方面对数据库复制实现的关键方法和技
2、术做了分析和归纳。基于前面的分析总结,根据实际项目的特点,本文提出一种与数据库系统无关,完全异构,具有一定通用性的数据库复制技术基于 SQL 的复制技术,并在此基础上提出数据转移方案。本文重点介绍了基于SQL 的数据库复制技术的数据转移方案,包括设计思路、技术特点及存在问题等。基于这些内容的研究,开发了 Transbuilder 数据转移工具,对基于 SQL 的数据库复制技术进行了实验。最后,本文总结了课题的研究成果,概述了要进一步研究和实践的工作。关键词 数据库复制 异构数据库 数据转移 数据转换基于数据库复制技术的数据转移方案设计与实现Design and Implementation o
3、f Data Integration Based on Database ReplicationAbstract Database replication is one of the key techniques in distributed environment. However, Heterogeneity is one of the important features in distributed environment. The development of heterogeneous database address concerns in the research on het
4、erogeneous database replication system. Firstly, this thesis introduces database replication technique and its current application, and analyzes several replication solution provided by diffident database corporations. It is found that in some extents those solutions lack of low compatibility and ge
5、nerality. Based on the study on data replication, the thesis advances a fully heterogeneous database replication method, a replication method based on SQL. This thesis also sums up the advantages and disadvantage of this technique. The author integrates this technique with practice in Xiamen Univers
6、ity data integration project. The result proved that this technique is feasible. It would benefits for many fields. At last, this thesis sums up the productions of this subject and plans the future analysis. Key Words Database Replication; Heterogeneous Database; Data Integration; Data Transform基于数据
7、库复制技术的数据转移方案设计与实现目录第 1 章 引言 .11.1 课题背景 .11.2 课题研究的理论的实际意义 .11.3 相关领域的研究进展和成果 .11.4 课题研究内容 .21.5 本文的组织 .2第 2 章 数据库复制技术 .32.1 相关概念 .32.2 数据库复制技术 .42.3 主要环节 .72.4 发展与现状 .92.5 本章小结 .10第 3 章 现有异构数据库复制方案 .113.1 ORACLE的转换器方案 .113.2 SYBASE 复制服务器方案 .113.3 IBM DB2 信息集成解决方案 .123.4 MICROSOFT的出版者/订阅者方案 .123.5 本章
8、小结 .13第 4 章 基于数据库复制技术的数据转移方案 .144.1 基础概念 .144.2 设计思路 .154.3 技术特点 .174.4 可能存在问题 .184.5 本章小结 .18第 5 章 技术实现 .195.1 实验环境 .195.2 应用背景 .195.3 设计与功能分析 .215.4 原型实现 .235.5 本章小结 .30第 6 章 结论 .31基于数据库复制技术的数据转移方案设计与实现 1第 1 章 引言1.1 课题背景信息化是当今世界经济和社会发展的大趋势,以信息技术为达标的科学技术的迅猛发展,对人类的生产方式、思维方式以及学习方式等都产生了重大的影响。信息时代的学习与以
9、多媒体和网络技术为核心的信息技术的发展密切相关。那么我国的高等教育如何迎接信息化所提出的挑战?如何充分利用新技术所提供的巨大潜力构件二十一世纪的高等教育模式?数字化校园正是在这样的环境和形势下被高校作为了自身不断发展的必要性建设。然而,由于学校各个部门学院在数字化校园建设前都普遍存有自己的系统,出现了一个现象单独的部门系统建设比较强,互联互通苦难。如何有效整合现有系统及数据是数字校园建设的一个重要问题。数据整合是信息化建设过程经常遇到的一个现实问题。这也是制约高校信息化建设和数据共享程度的一个重要因素。数据整合包括数据转换和数据迁移,也就是本文所提到的数据转移。根据实际项目及一些理论研究,作者
10、提出了基于异构数据库复制技术的数据转移方案。1.2 课题研究的理论和实际意义由于经济、技术、人为等因素的影响,高校信息化建设中的各个子系统数据库间存在着很大的异构性,这又给数据整合带来了更大的挑战。异构数据库复制技术可以有效地解决这一问题。异构数据库复制就是异构数据库与数据库复制的结合。异构数据库复制技术是一种与数据库系统无关,完全异构的复制技术,可以保证数据迁移的完整性和准确性,也可以保证数据整合项目的顺利进行。1.3 相关领域的研究进展和成果目前在这个数据转移领域已经有了一些研究。大多数数据库生产厂商对数据转移均提出相应方案并且开发相关工具,比如 Microsoft DTS 转换工具、OR
11、ACLE 的移植工作台、Informix 的 InfoMover 等。这些工具都在一定范围内解决了数据的提取和转换等工作。但这些工具基本都不能自动完成数据的抽取,用户还需利用这些工具编写适当的转换程序 1。这些工具都可以从多个不同的业务系统,多个平台的数据源中抽取数据,完成转换和清洗等。但是这些方案,一般形式单一,且都基于厂商的实际利益出发,希望用户把其他数据库都移植到自己的产品上来,而且一般价格昂贵,这给用户带来很大的不便。在第三方产品中,Ascential Software 公司的 DataStage 是一套相对比较完善的产品. DataStage 可以从多个不同的业务系统中,从多个平台的
12、数据源中抽取数据,完成转换和清洗,装载到各种系统里面。其中每步都可以在图形化工具里完成,同样可以灵活的被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等基于数据库复制技术的数据转移方案设计与实现多种复杂而实用的功能。2005 年 4 月日立数据推出首款动态多维数据迁移解决方案具有较大的突破性。这个方案可根据访问形式的变化来管理数据的迁移,为需要不同类型数据管理的应用提供信息访问。1.4 课题研究内容作者有幸参加了厦门大学信息化建设项目,项目组成立于 2004 年 5 月。作者所在的科研管理系统开发小组由七位开发人员组成,其组织如下图 1-1 所示。图 1-
13、1 科研管理系统开发团队协作图作者在项目中负责数据转换移植工具开发,在本文,其主要研究内容包括两个方面:1. 数据库复制实现方法和技术的归纳和总结。作为整个论文工作的基础,本文首先介绍了数据库复制技术的基本概念,然后分析讨论了数据库复制的主要环节及发展与现状,并且分析比较目前多数数据库厂商提出并实现了异构数据库复制方案。2. 基于异构数据库复制技术的数据转移方案的提出、设计与实现。从项目背景、需求分析、系统设计与实现详细介绍了对基于异构数据库复制技术的数据转移方案,并分析其技术特点及不足。1.5 本文的组织本文共分六章。文章的结构安排如下:第1章引言,阐明了本研究课题的产生背景、研究的理论与实
14、际意义、相关领域的研究进展和成果及主要研究内容。第2章对数据库复制的相关概念做了简单介绍,对复制技术实现的关键方法和技术进行了归纳和总结,最后对现有异构数据库复制技术做了介绍。第3章分析并总结了目前最常用的四种异构数据库复制方案。第4章详细介绍了基于SQL的异构数据库复制技术的数据转移方案,提出了设计思路、技术特点等。第5章介绍了技术的原型实现:Transbuilder系统,总结了系统的优点与不足。最后,对本课题研究的结论进行了总结,并谈了对进一步工作的构想。基于数据库复制技术的数据转移方案设计与实现第 2章 数据库复制技术针对数据库复制,研究界和产业界多年来进行了深入的研究,取得了许多成果。
15、本章在分析研究这些成果的基础上,对其中的关键方法和技术进行了总结归纳,以此作为全文工作的基础,内容主要包括数据库复制的发展和现状,以及数据库复制的两个组成环节:变化捕获与数据分发。2.1 相关概念本节对数据库复制的一些相关概念做简单介绍。2.1.1 分布式数据库系统分布式数据库系统是由若干个站集合而成。这些站又称为节点,它们在通讯网络中联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。2.1.2 异构数据库由于不同的
16、数据库系统是由不同的生产厂商生产的,为了保证各自的应用特性、完整性控制和安全性控制,各个数据库系统间往往表现出很大的异构性。异构数据库系统的异构性主要体现在以下几个方面: 1. 计算机体系结构的异构。各个参与的数据库可以分别运行在大型机、小型机、工作站、个人计算机或嵌入式系统中。 2. 基础操作系统的异构。各个数据库系统的基础操作系统可以是 Unix、Windows NT、Linux 等。3. 数据库系统本身的异构。数据库系统可以是同为关系型数据库系统的Oracle、Microsoft SQL Server 等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象、函数型数据库等共
17、同组成一个异构数据库系统。2.1.3 数据库复制数据库复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。基于数据库复制技术的数据转移方案设计与实现2.1.4 事务事务就是一个单元的工作,包括一系列的操作这些操作要么全部成功,要么全部失败。事务必须满足 ACID 属性。ACID 的含义就是原子性(Atomic)、一致性(Consistent)、隔离性(Isolated
18、)、和持久性(Durable)等属性。2.1.5 主节点与从节点节点:在复制系统中,每台数据库服务器称为一个节点。主节点:运行主数据库的节点。从节点:运行从数据库的节点。2.1.6 主数据库与从数据库主数据库:具有自主数据表和相应支持对象、对客户端提供数据服务的数据库服务器。从数据库:没有自主数据表,而是通过建立数据库连接与主数据库建立联系,存放主数据库的部分或全部数据的副本的数据库,也称为复制数据库。2.2 数据库复制技术本节首先从复制分类和体系结构等方面对数据库复制技术做一个大概的介绍。2.2.1 复制分类数据库复制通常可被划分为两种类型:同步复制和异步复制。1. 同步复制(Synchro
19、nous Replication)同步复制采用同步分发数据库技术,复制数据在任何时间、任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其它所有复制节点。为了保证源数据和目标数据的一致性,在复制过程中采用了两阶段提交协议;若目标数据库有多个,则只有当相互连接的每个目标数据库都同意接受该更新事务时,作用在源数据上的修改事务和作用在各目标数据库的修改事务才算提交成功,否则,均回滚。同步复制可以保证复制环境中没有数据冲突的存在。但由于在同步复制环境中,要求硬件设备和网络要随时可用,否则,一旦网络不稳定或硬件设备出现故障,则对源数据的修改和对目的数据的复
20、制均会失败。因此同步复制要耗费更多的硬件和网络资源。基于数据库复制技术的数据转移方案设计与实现2. 异步复制(Asynchronous Replication)异步复制,对执行时间的要求就相对要比较松一些。异步复制采用异步分发数据库技术,也称为存储转发复制,所有复制节点的数据在一定时间内是不同步的。如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其它所有复制节点。这些不同的事务间可以间隔几秒,几分钟,几小时,也可以是几天。复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。在异步复制环境中,对任何一个复制节点上复制数据的更新
21、将会在本地被捕捉到,生成一个延迟事务放入延迟事务队列。在预定的时间间隔或是根据需要,延迟事务队列中的延迟事务被传播到其它复制节点,并在节点上执行。如果事务在一个复制节点执行不成功,只有该节点的事务被回滚,复制数据不进行更新,不会影响到其它的复制节点。异步复制环境相对于同步复制环境而言,要求比较少的网络和硬件资源,并且提供了更好的可用性和性能。一个复制节点的失效不会影响到整个系统的正常运行,应用可以从其它的复制节点获取数据。异步复制环境中,由于事务的延迟提交会导致系统中复制数据的暂时不一致,甚至有时候会产生冲突,如何处理冲突是设计异步复制方案时要考虑的问题。这两种复制类型的差别是:同步复制是指在
22、事务提交之前,更新操作在所有副本完成,它的优点是可以保障副本之间的一致性及较强的容错性,但它也带来一系列问题,其中包括:死锁、通信量增加、节点规模的限制及事务响应时间延长;而异步复制是在事务提交之后,更新操作才被传播到其它节点,它的优点是降低了通信量且缩短了响应时间,因而采用这种方法可提高系统效率,但是它最大的缺点是:先提交,后更改,有可能在不同节点的副本之间存在不一致性。2.2.2 体系结构数据库复制技术的体系结构体现了数据复制过程中数据源和数据目的之间的关系,有以下三种基本的体系结构 ,2,3,4 。1. 主/从结构(Master-slaver Model)主/从结构是数据只能从主数据库中
23、复制到复制数据库中,如图 2-1。更新数据的操作只能在主节点进行,从节点仅供用户读取数据。但当主节点出现故障时,更新数据的应用可以转到其中一个从节点上去。这种复制方式实现起来比较简单,易于维护数据一致性。这是一种最简单的结构。基于数据库复制技术的数据转移方案设计与实现图 2-1 主从结构2. 对等结构(Peer to peer Model)对等结构就是各个节点的地位是平等的,可以互相复制数据,如图 2-2。用户可以在任何节点读取和更新全局数据,在某一节点更新全局数据时,数据库会将数据传送到所有其它复制节点。图 2-2 对等结构这种复制的体系结构一般会出现两种情况,一是需要复制的源数据分布在多个数据库中,但对每个数据而言,全系统只有一个主数据库,每个主数据库有自己的数据,主数据库更新自己的数据,然后按约定复制到其它各复制数据库;二是需要复制更新的源数据分布在系统的多个数据库中,每个需要复制的数据在本地更新,本地数据库就是主数据库,然后按约定复制到其它复制数据库。在这种结构中会产生更新冲突,应用程序必须有办法解决更新冲突。3. 联接结构(Cascade Model)级联结构是主/从结构的一个扩展,从主节点复制过来的数据又从该节点再次复制到其它复制节点,即A节点把数据复制到B节点,B节点又把这些数据或其中的部分数据