• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 经济贸易 > 正文

    分布式数据库的数据复制技术研究

    时间:2021-04-09 08:00:42 来源:达达文档网 本文已影响 达达文档网手机站

    摘要:该文对当前流行的分布式数据库的数据复制技术进行了详细的研究,并对数据复制的应用场合和过程做了系统的研究。分布式数据库具有比较成熟的技术和应用环境,其中数据复制技术在分布式数据库中应用越来越广泛。基于数据复制技术,将使得分布式数据库的开发和应用变得非常简单。

    关键词:分布式数据库;数据复制;数据同步

    中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)29-0277-03

    A Research into Duplication of the Distributed Database

    LI Li-gong

    (Tianjin Railway Technical and Vocational College,Tianjin 300240,China)

    Abstract: This paper analyses the technology and the application of the duplication of the distributed database in detail. The distributed database is a mature technology,and the duplication is in more and more application. On the base of data duplication, the development and application of it will become fairly/extremely simple.

    Key words: distributed data bank; data duplication; data simultaneous

    随着数据库及网络技术的飞速发展和广泛应用,特别是Internet的迅速普及,大大方便了跨地域企业的发展和管理。为了适应竞争环境,提高企业自身的管理水平,在管理上往往既要有各部门的局部控制和分散管理,也要有整个组织的全局控制和高层次的集中管理。这种集中管理要求各部门之间的信息既能灵活流动和共享,又能统一管理和使用。

    随着应用需求的扩大和管理水平的提高,集中式数据库越来越体现出其局限性,这也直接导致了分布式数据库的出现。随着计算机网络技术和数据库技术的发展,分布式数据库技术已经成熟,并且得到越来越广泛的应用。然而,传统的分布式数据库系统既要提供局部管理又要实现全局同步,这就为应用系统的开发和布置带来了很大的挑战性。数据库复制技术的出现为分布式数据库的数据同步和管理提供了技术支持和保证,同时也解决了数据库应用系统的开发和数据库控制、管理之间的矛盾。

    1 引言

    分布式数据库技术是分布式计算的一个重要组成部分,该技术允许数据在多个服务器端共享。采用分布式数据库技术,一个本地服务器可以存取不同物理地点的远程服务器上的数据,也可以使所有服务器均可持有数据的拷贝,以使分布式系统中的所有服务器均可进行本地存取。

    在一个纯分布式数据库系统中,数据可以在很多个站点获得,但只有一个站点存储该数据。例如,某学院拥有主校区、北校区、南校区等三个校区,在三个校区分别布置有dbStudents、ndbStudents、sdbStudents三个数据库站点,这是一个纯分布式数据库系统的三个站点,students表存放在dbStudents的站点上,三个站点都可以访问students表,但是只有dbStudents对students的操作是本地存取的,其余站点都需要通过远程访问来存取students表。

    在一个采用复制技术的分布式数据库系统中,数据不仅可以在多个站点获得,而且都是本地存取,各个站点都有该数据的副本。在上述例子中,students表不仅存储在dbStudents上,在ndbStudents和sdbStudents上都有students表的拷贝,不论在哪个站点上访问students表,对该表的操作都是本地存取。而各个服务器之间的数据同步则由数据库系统通过相应的规则自动完成,对用户来说是透明的。

    几乎所有的大型数据库系统都提供了自己的数据复制解决方案和数据复制组件。分布式数据库复制技术为分布式数据库系统提供了许多优势,在实践中也有大量现实的需要。下面,以SQL Server2005为例来研究分布式数据库的数据复制的机制和应用方法。

    2 数据复制运行机制

    SQL Server2005中的数据复制不仅能将一个数据库的内容通过网络复制到一个或多个服务器上,也能将数据库的变化情况通过网络传递给其他服务器。通过这种技术,可保证在多台服务器中数据的一致性。任何一台服务器上数据产生的变化,将引起其他服务器中数据的同步变化。

    2.1 复制原理

    在讲述复制的概念时,通常可以借助出版业中常用的概念来了解复制服务的运行机制和相关术语,实际上在数据复制技术中也使用了出版业术语来表示复制拓扑中的组件,如发布服务器、分发服务器、订阅服务器、发布、项目和订阅等。

    SQL Server2005中复制的运行机制是:发布服务器产生一个或多个发布,发布包含若干项目,发布服务器可以直接发行发布,也可以使用分发服务器代理发行。订阅者接收订阅的发布。

    在复制中,包括发布服务器、发布、项目、分发服务器、订阅服务器、订阅等组件和服务。

    复制的运行机制如图1所示。在复制过程中有一个“复制代理”组件,复制代理负责在发布服务器和订阅服务器之间复制和移动数据。对于复制过程,由自定义应用程序开始。自定义应用程序在对数据库中数据进行修改后,由发布服务器根据事先设置的规则生成发布,然后由复制代理组件将发布的内容提供给分发服务器或直接分发给订阅服务器。分发服务器在接收到发布后,也可以将发布传输到订阅服务器。订阅服务器收到发布之后,将数据库中的数据与发布进行同步,使数据与发布服务器中的数据保持一致。

    分发服务器可以和发布服务器合并,也可以单独设置。如果单独设置分发服务器,则可以减轻发布服务器的负担,分发服务器负责将发布服务器要发布的数据传送给订阅服务器。

    2.2 复制的类型

    Microsoft SQL Server 2005 提供了3种可供使用的复制类型:事务性复制、合并复制、快照复制。

    事务性复制通常从发布数据库对象和数据的快照开始。创建了初始快照后,在发布服务器上所做的数据更改和架构修改通常在修改发生时传递给订阅服务器。数据更改将按照其在发布服务器上发生的顺序和事务边界,应用于订阅服务器,因此,在发布内部可以保证事务的一致性。默认情况下,事务性发布的订阅服务器应视为只读,因为更改将不会传播回发布服务器。但是,事务性复制却提供了允许在订阅服务器上进行更新的选项。

    与事务性复制相同,合并复制通常也是从发布数据库对象和数据的快照开始,并且用触发器跟踪在发布服务器和订阅服务器上所做的后续数据更改和架构修改。订阅服务器在连接到网络时将与发布服务器进行同步,并交换自上次同步以来发布服务器和订阅服务器之间发生更改的所有行。合并复制允许不同站点自主工作,并在以后将更新合并成一个统一的结果。由于更新是在多个节点上进行的,同一数据可能由发布服务器和多个订阅服务器进行了更新。因此,在合并更新时可能会产生冲突,合并复制提供了多种处理冲突的方法。

    快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。发生同步时,将生成完整的快照并将其发送到订阅服务器。快照复制可由其自身使用,但是快照处理通常还用于为事务性发布与合并发布提供初始的数据和数据库对象集。在数据更改量很大,但很少发生时,快照复制是最合适的。

    复制类型的选择取决于多种因素,其中包括实际复制环境、要复制的数据类型和数量,以及是否在订阅服务器上更新数据等等。实际环境包括复制中所涉及的计算机数量和位置,以及这些计算机是客户端(工作站、便携式电脑或手持设备)还是服务器。

    2.3 复制代理

    复制使用许多称为代理的独立程序执行与跟踪更改和分发数据关联的任务。默认情况下,复制代理实际上是SQL Server 代理安排的作业,必须基于SQL Server 代理,这些作业才能运行。复制代理通常有快照代理、日志读取代理、分发代理、合并代理、队列读取代理、复制维护作业等构成。

    3 数据复制的应用

    3.1 数据复制的应用场合

    复制的目的是提供数据的副本于多个服务器上,除了确保数据的同步、一致性之外,还可以提高数据查询存取的性能。使用复制可以实现:

    允许多个服务器保存相同数据的副本,当多个服务器需要读取同一数据,或需要为应用程序分隔服务器时,可以提高数据库存取的性能;

    1) 具有较大的自主性,用户可以在离线时处理数据副本,然后在连接时将对其他数据库所做的操作传播出去。也就是进行数据的同步更新。

    2) 有利于OLTP应用程序与分析处理数据库或数据仓库这些需要读取大量数据的应用程序区分开,以避免系统拥堵。

    3) 依据业务实际需要,可以缩放要浏览的数据。例如,使用Web类型的应用程序浏览数据,只需要提供部分数据库供网络用户浏览使用。

    4) 提高数据汇总与读取性能;

    5) 使数据更贴近个人或组。这有助于减少多重用户数据更新和查询的冲突,因为数据可以通过网络来分发,而且根据不同业务单位和用户的需求来分割数据。

    6) 使用复制作为服务器策略的一部分,复制是待命服务器策略的一项选择。SQL Server2005的其他选择包括记录文件传送及容错转移集群,用以在服务器故障时提供数据副本。

    3.2 数据复制的过程

    执行复制的过程会因所选复制类型和选项的不同而有所区别,但一般来说,复制由下列几个阶段组成:配置复制和发布数据、创建和初始化订阅、同步数据。

    3.2.1 配置复制和发布数据

    复制部署始于配置发布服务器和分发服务器。分发服务器在事务性复制中的作用十分重要,但在合并复制和快照复制中的作用比较有限,仅用于代理历史记录和错误报告及监视。合并复制和快照复制通常使用与发布服务器在同一台计算机上运行的分发服务器,而事务性复制可能使用远程分发服务器,尤其在发布服务器为高吞吐量的 OLTP 系统时。

    配置发布服务器和分发服务器后,可以根据数据、数据子集和数据库对象来创建发布。创建发布时需要确定下列内容:

    1) 要复制的数据和数据库对象。

    2) 要使用的复制类型和复制选项,包括筛选。

    3) 快照文件的存储位置以及初始同步发生的时间(除非手动传递初始数据集)。

    4) 要为复制设置的其他属性。

    5) 根据配置发布时所选的复制类型和选项,订阅服务器可能在传递初始数据集之后可以修改数据并将这些数据更改传播到发布服务器,继而可以将这些更改传播到其他订阅服务器。

    3.2.2 创建和初始化订阅

    创建发布后,可以创建订阅并配置其他选项。无论选择快照复制、事务性复制,还是合并复制,在默认情况下,复制都会创建发布架构和数据的初始快照,然后将其保存到指定的快照文件夹位置。创建订阅后,将根据创建发布时指定的计划应用初始快照。如果订阅服务器已具有初始数据集或希望手动应用快照,可以跳过一个或多个快照步骤。

    3.2.3 同步数据

    同步是在初始数据集应用于订阅服务器后,在发布服务器和订阅服务器之间传播数据的过程。对于快照复制,同步意味着在订阅服务器上重新应用快照,以便订阅数据库中的架构和数据与发布数据库保持一致。对于事务性复制,同步数据意味着在发布服务器和订阅服务器之间分发数据修改,如插入、更新和删除。对于合并复制,同步意味着合并在多个站点上进行的数据修改,检测并解决任何冲突,并且最终使数据在所有站点上收敛为相同的数据值。

    4 结束语

    本文介绍了分布式数据库的数据复制原理与应用。在跨地域的网络上构造基于因特网的分布式数据库系统应用时,由于信息分布在不同的站点上,用户往往要从多个站点获取数据完成操作,同时要保证一定的效率和可用性。为了满足这种需求,在分布式数据库系统中使用复制机制是一种捷径。实践证明,在分布式数据库系统中使用复制机制,对于建立跨地域的分布式数据库系统具有较高的可行性,有着广阔的应用前景。

    与纯分布式数据库系统相比,采用复制技术的分布式数据库系统更具有优势:

    1) 复制技术提高了系统的可靠性。当一个站点不可达时,用户可以继续查询甚至更新剩余站点上的数据。也就是说,复制技术提供了优秀的Fail-Over保护。

    2) 复制技术对共享数据提供了快速、本地的访问,系统可以在多个站点之间进行访问量的平衡。一些用户访问一个站点,而另一些用户访问其他站点,这样减轻了所有站点的负载。同时用户可以就近访问所需的数据,减少了远程访问的代价,提高了系统的效率和响应速度。

    3) 复制技术可以把相同的数据分布到多个不同区域的网络,这样,那些存在于区域的应用程序只需访问本区域网络内的站点,而不用访问中心站点,从而大大减少了网络通信的负载。

    参考文献:

    [1] 刘智勇. SQL Server2005宝典[M].北京:电子工业出版社,2007.

    [2] 李立功.SQL Server2005实例教程[M].北京:中国电力出版社,2008.

    [3] (美) Solid Quality Learning.SQL Server 2005从入门到精通[M].王为,译.北京:清华大学出版社,2006.

    相关热词搜索: 分布式 技术研究 复制 数据库 数据

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网