分享
 
 
 

数据复制

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

概述

信息技术的蓬勃发展,大大促进了人类社会的进步。网上信息交流、电子商务、办公自动化、自动控制技术等信息技术极大地减轻了人们的劳动强度、密切了人们之间的思想和感情交流、方便了人们的工作、学习和生活。数据库技术作为信息技术的一个重要的支撑领域,越来越显示出了其巨大的威力,在电子商务、办公自动化、网上信息交流等科技文化领域的应用越来越广泛。许多著名的数据库供应商,在日益激烈的信息市场竞争中,纷纷推出了独具特色的具有时代意义的数据库管理系统。微软公司,作为操作系统和办公自动化系统的领先者,在数据库管理系统方面也独领风骚。1998年末,微软公司推出了其开发周期长达两年之久的面向下一世纪的关系型数据库管理系统SQL Server 7.0。该产品充分考虑了客户的需求,在易用性、可靠性、可伸缩性和数据仓库方面给人一种全新的感觉。

在分布数据管理方面,与以前的版本相比,SQL Server 7.0有了显著的增强和提高。例如,第一次在数据库管理系统上集成的数据转换服务,可以非常方便地在多种数据源之间转换数据。面目一新的备份和恢复,功能更加完善,使用更加方便。可以把数据库中的数据信息发布到Internet上的Web助手工具,具有更大的柔性。特别是在数据复制方面,从复制的功能,到复制的实现和监测等多方面都有了巨大的增强和提高。

复制的特点

复制是一种实现数据分布的方法,就是指把一个系统中的数据通过网络分布到另外一个或者多个地理位置不同的系统中,以适应可伸缩组织的需要、减轻主服务器的工作负荷和提高数据的使用效率。数据复制的过程类似于报纸杂志的出版过程,即把信息从信息源迅速传送到信息接收处。

SQL Server 7.0,作为SQL Server的最新版本,其目标就是成为在分布数据方面的领先者。在SQL Server 7.0产品中,其数据复制具有下列特点:

复制是一个内置程序,不是一个附加的程序

把复制过程比喻成出版过程

数据源服务器比喻成出版服务器,也称为出版者

数据接受服务器比喻成订阅服务器,也称为订阅者

复制的内容比喻成文章和出版物

可以周期地把出版服务器上的数据完全复制到订阅服务器上

在复制过程中,可以只复制变化了的数据,未改变的数据不必复制

允许用户在接收数据的站点上自主地改变复制过的数据

通过使用COM界面,提供了完整的多机种环境的数据复制服务

支持用于Internet的复制

提供了用于复制的多个向导,可以方便地管理复制

所有的复制任务都可以使用脚本,方便了对复制的编程和维护

提供了复制监测工具,可以监测复制活动

复制与出版

复制是一种比较抽象和复杂的过程。在复制过程中,涉及的复制组件和复制服务都比较多,复制的实现也比较复杂。为了更好地理解复制,可以把复制过程比喻成相对来说容易理解的出版过程。这里提到的出版,就是人们日常所熟悉的报纸、杂志、书籍、电子出版物等的出版。之所以可以把复制过程比喻成出版过程,这是因为这两种过程从内容到实现形式都非常类似。从内容方面看,这两种过程都是传送信息,出版主要传送新闻、数据、图象、知识等信息,复制主要传送数据信息。从实现形式方面看,在这两种过程中,都有信息源和信息接收处。在出版过程中,信息源是指占有信息的出版社,信息接收处是指订阅了出版物的用户。在复制过程中,信息源是将要复制的数据所在的SQL Server系统服务器,信息接收处是接收复制过来数据的SQL Server系统服务器或者其他服务器。从信息的传送方向来看,这两种过程基本上都是单向的。在出版过程中,信息的传送方向是从出版社到用户。在复制过程中,信息的传送方向一般是从存储了主数据库的服务器到接收数据库所在的服务器。当然,在特殊情况下,通过设置,复制过程也可以是双向的。复制的过程如图1所示。

图1

复制过程示意图

由于把复制过程比喻成了出版过程,因此,复制过程中的组件也就可以进行相应的比喻,例如出版服务器、订阅服务器、分布服务器、文章和出版物。出版服务器包含了将要复制的数据所在的数据库,该服务器负责制作将要出版的数据,然后将这些出版的数据的所有变化发送到分布服务器中。订阅服务器是数据复制的目标地,负责接收复制过来的数据,并且负责接收从出版服务器上传送过来的全部变化。分布服务器也是一种非常重要的服务器,该服务器在出版服务器和订阅服务器之间起一个中介作用。分布服务器负责从出版服务器中接收复制过来的数据,然后在该服务器上的分布数据库中存储这些变化,最后按照指定的时间间隔推向相应的订阅服务器中。虽然分布服务器和出版服务器可以在同一台计算机上,但是为了减轻出版服务器的工作负荷,一般地把分布服务器放在一个单独的机器上。一个分布服务器不仅仅可以支持一个出版服务器,实际上,一个分布服务器可以支持多个出版服务器。

就象出版过程中有出版物和文章一样,在复制过程中,把将要复制的数据也称为出版物和文章。在复制过程中,文章是复制的基本单元,是组成出版物的最小单位。文章是与数据库中的表对应的。文章既可以对应一个表中全部数据,也可以只包括表中的一部分数据。单个文章是不能复制的,文章必须组成出版物才能出版。出版物是一个完整的将要复制的内容,它包括一篇或者多篇文章,是订阅服务器订阅的对象。一个订阅物包括了出版物中的全部文章。

当一篇文章只包括表中的一部分数据时,这时,就等于对表中的数据进行了过滤。过滤数据具有实际的意义。例如,在复制过程中,如果允许多个站点可以修改数据,那么,为了避免复制冲突,就可以采取过滤数据的方法,使不同的站点复制一个表中的不同部分中的数据。这种经过过滤的表,也可以是一个单独的文章。过滤数据有三种方法,即水平过滤、垂直过滤和水平垂直混合过滤。水平过滤就是包含了表中的一部分列,是列的子集。这是,只有可以复制的列中的数据才会出现在订阅服务器中。垂直过滤就是包含了表中的一部分行,是行的子集。当使用垂直过滤时,只有这一部分行中的数据才可以传送到订阅服务器中。另外,还可以采取水平垂直混合过滤的方法,即通过选择表中的一部分列和一部分行,复制表中的一部分数据。

“推出-拉回”订阅模型结构

在数据复制过程中,一般地,都是采用“推出-拉回”订阅模型结构。在推出订阅模型结构中,就是在出版服务器上,创建订阅物。使用推出模型,出版服务器将数据复制到订阅服务器,而不必等待订阅服务器发出请求数据。推出订阅模型可以集中管理订阅物,这样,对于多个订阅服务器,可以在出版服务器中迅速地建立某个出版物的全部订阅。当出版物的安全性要求比较高时,或者当在分布服务器上处理器的费用比较高时,这时,最好使用推出订阅模型结构。

当在订阅服务器中建立订阅物时,这时就称为拉回订阅。在拉回订阅中,由订阅服务器创建拉回的订阅物。使用拉回模型,订阅服务器必须发出数据请求,然后出版服务器才会把数据复制到订阅服务器。这时,要注意,当使用拉回订阅时,一定要保证下面两种情况:第一种情况,是出版服务器中的出版物允许执行拉回订阅,并且执行拉回订阅的订阅服务器必须注册允许订阅,只有这样,才可以在订阅服务器上进行拉回订阅。第二种情况,出版服务器上的出版物允许匿名订阅。如果出版物允许匿名订阅,那么所有的订阅服务器,甚至包括那些没有注册订阅的订阅服务器,都可以订阅这些出版物。匿名订阅是SQL Server 7.0产品的新增加的内容。另外,只有安装了SQL Server系统的订阅服务器,才可以执行拉回订阅。其他系统的订阅服务器只能使用推出订阅,不能执行拉回订阅。当出版物的安全性比较低,或者当订阅服务器的数量巨大时,例如使用Internet网络的订阅服务器,这时,最好使用拉回订阅。

复制的类型

复制中的服务

在复制过程中,必须有相应的复制进程。通过这些复制进程,来完成复制的整个过程。这些复制过程中的进程可以把出版物从出版服务器中传送到分布服务器中,然后由分布服务器把这些出版物传送到订阅服务器中。在SQL Server 7.0中,依靠若干个复制代理来完成复制进程。这些复制代理包括快照代理、分布代理、日志读代理和合并代理。

在开始执行复制之前,出版服务器中的源数据表必须与订阅服务器中的目标数据表同步。这是复制必不可少的前提条件。同步的含义就是保证源数据表和目标数据表中具有相同的表结构和数据,复制是在同步的基础上进行的。快照代理就是用于同步的初始化,该代理可以用于各种复制类型中。快照代理的执行进程包括下列步骤:第一步,根据不同的复制类型,创建不同的脚本文件。这些脚本文件包括表结构定义、块拷贝程序的包含了复制数据的输出文件、表的索引定义等。当使用块拷贝程序时,即可以使用SQL Server的本地格式,也可以使用文本字符格式。第二步,把这些脚本文件存储在分布服务器的工作目录中。第三步,在分布服务器上的分布数据库中,即在distribution数据库中,记录同步化的作业。

在分布过程中,使用分布代理。分布代理负责把数据的快照或者数据库的事务日志从出版服务器的源数据库中的表的传送到订阅服务器的接收数据库中的表中。分布代理是一个实际实现复制目标的代理,是复制过程中的最后一个进程,其执行方向是从分布服务器到订阅服务器。

对于事务复制类型,复制监测每一个数据库的事务日志,搜索将要复制的事务。日志读代理负责把标记为复制的事务从出版服务器的源数据库中的事务日志中拷贝到分布服务器上的distribution数据库中。这些事务日志一直保存在分布数据库中,根据分布的频

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有