当前位置:文档之家› 分布式数据库系统及其一致性方法研究

分布式数据库系统及其一致性方法研究

LIU Ping-fen, MA Rui-fang, WANG Jun
( College of Electronics and Information Engineeting, Xi′an Jiaotong University, Xi′an 710049, China)
Abstr act: Distributed database system is a main research direction in the database field.Maintaining the data consis- tency is a critical technical problem in the distributed database system .This paper discusses two methods of maintaining data consistency based on analyzing the structure of the distributed database system,which are 2PC and replication serv- er.Then the paper puts forward a distributed database framework which have replication server structure. And it is effec- tive and applied. Key wor ds: distributed database system; data consistency; 2PC; replication server
复制服务器替换功能则是指如果主数据服务 器或复制服务器停机, 管理人员可以指定另外的场 地来代替其执行操作。这样, 即使主场地故障, 对主 数据的修改仍可继续进行, 而在停机恢复以后复制 服务器会自动同步数据。
联合型体系结构是指每个结点上先有 DBMS, 以此为基础, 再建立分布式环境以实现互访连接。 若 各 个 结 点 的 局 部 DBMS 支 持 同 一 种 数 据 模 式 和
138
微电子学与计算机
2007 年第 24 卷第 10 期
查询语言则称为同构联合型, 如图 2 所示, 当各个 结点的 DBMS 不同时, 就构成异构联合型, 如图 3 所示。
1 引言 分布式数据库系统在系统结构上的真正含义
是指物理上分布、逻辑上集中的分布式数据库结 构。数据在物理上分布后, 由系统统一管理, 用户看 到的似乎不是一个分布式数据库, 而是一个数据模 式为全局数据模式的集中式数据库[1 ̄5]。
分布式数据库系统包括两个重要组成部分: 分 布式数据库和分布式数据库管理系统。分布式数据 库系统具有位置透明性和复制透明性, 使用户看到 的系统如同一个集中式系统。分布式数据库系统分 为三类: 同构同质型 DDBS、同构异质型 DDBS 和异 构 DDBS。同构同质型 DDBS 是指各个场地都采用 同一类型的数据模型, 并且是同一型号数据库管理 系统; 同构异质型 DDBS 是指各个场地都采用同一 类型的数据模型, 但是数据库管理系统是不同型号 的; 异构型 DDBS 是指各个场地的数据模型是不同 的类型。
网络数据库 管 理 系 统 ( NDBMS) 使 任 意 结 点 了 解分布环境中其他结点的数据情况。由于数据库的 分布对用户是透明的, 故应用程序应与 NDBMS 接 口。翻译处理是为了在两个不同的 DBMS 之间进行 信息交换, 对查 询 语 言 、数 据 模 式 和 结 构 作 相 应 的 转换和映象工作。各个 NDBMS 通过主机之间通讯 网 络 连 接 形 成 一 个 既 分 散 、自 主 而 又 互 连 统 一 的 联 合型 DDBS。
4 具有复制服务器的分布式数据库系统的结构框 架
图 5 给出了一个具有复制服务器的分布式数
主场地的 LTM 用来监视事务日志活动, 当发现 主场地的数据服务器有改变数据的事务时, 就将该 事务发送到主场地的主复制服务器。主复制服务器 负责将相应的改变传送到每个远程复制服务器, 远 程复制服务器以正确的顺序将这些改变加到它的 数据副本上, 从而维持了事务和逻辑数据的完整 性。
分布式结构是相对于集中式结构而言的。从数 据处理的角度来说, 典型的集中式结构是数据集中 存放和处理, 用户通过远程终端或通过网络连接来 共享集中存放的数据。分布式结构则是将数据及其
收稿日期: 2006- 10- 27
处理分散在不同场地, 各场地各自管理一部分数 据, 同时又通过网络系统相互连接。各场地的用户 除可以访问和处理本地数据外, 也可以访问和处理 别的场地的数据。分布式数据库是典型的分布式结 构。它包括对数据的分布存储和对事务的分布处 理。设计一个分布式数据库系统会遇到许多集中式 数据库设计中所没有的问题, 一致性是其中必须认 真对待和解决的主要问题。
服务器, 并提出一种具有复制服务器的分布式数据库系统的结构框架, 它具有有效性和实用性。
关键词: 分布式数据库系统; 一致性; 两阶段提交; 复制服务器
中图分类号: TP31
文献标识码: A
文章编号: 1000- 7180( 2007) 10- 0137- 03
Resear ch of Distr ibuted Database System and Data Consistency
2 DDBS 的体系结构 2.1 综合型体系结构
综合型体系结构是指在综合权衡用户需求之 后, 设计出分布的数据库, 然后再设计出一个完整 的 DBMS, 把 DBMS 的功能按照一定的决策分散配 置在一个分布的环境中。每个结点的 DBMS 均熟知 整个网络的情况, 也了解其它结点的情况。从整体 上, 各结点组成一个完整的系统, 它们之间是靠进 程通讯的手段来维持互访连接, 如图 1 所示。 2.2 联合型体系结构
( 2) 两阶段提交的工作流程 在两阶段提交的准备工作中, 客户应用进程向 每 个 参 与 进 程 发 送 一 组 如 下 内 容 和 顺 序 的 Trans- act- SQL 语 句 : BEGIN TRANSACTION 语 句 ; Trans- act- SQL 修 改 语 句 ; PREPARE TRANSACTION 语 句。 每个参与进程按顺序执行上述语句组。BEGIN TRANSACTION 语句标识应用进程、事务和提交服 务进程等信息; Transact- SQL 修改语句完成要进行 的 修 改 ; PREPARE TRANSACTION 语 句 指 出 修 改 已完成且该参与进程对提交已作好准备。 在完成上述工作以后, 开始两阶段提交过程。 第一阶段: 所有参与进程向客户应用进程回答它们 已作好提交准备; 第二阶段: 客户应用进程通知提 交 服 务 进 程 , 该 事 务 已 完 成 , 并 且 发 送 COMMIT TRANSACTION 语句到所有参与进程, 使它们实现 正式提交。 提交服务进程在收到客户应用进程的通知后, 作该事务已提交标志。客户应用进程的处理流程用 图 4 所示。 3.2 复制服务器 ( 1) 复制服务器的基本思想和处理方法 在分布式系统中, 每个独立的数据单位主要由 一个场地控制其访问安全性, 其他场地在必要时可 向该数据所在场地的复制服务器申请该数据并将 其复制到本场地。用这种方法复制的数据副本的一 致性通过一个异步拷贝系统来保证。这种异步拷贝 系统是由事件驱动的, 而且只将每次修改所涉及的
3 分布式数据库的一致性方法 3.1 两阶段提交(2 Phase Commit)
( 1据的事务由多个子
事务组成。整个事务的执行被划分为两个阶段, 第 一阶段为准备阶段, 各场地作好对子事务处理的一 切准备工作并作回答, 第二阶段为提交阶段, 各子 事务全部完成。通过这种两阶段的划分, 达到该事 务的所有子事务要么全部提交, 要么全部退回, 从 而实现一个事务对多个场地数据的修改要么全部 正确完成, 要么全都不进行。这就通过事务的完整 性保证了数据的一致性。
两阶段提交使得一个应用程序能够协调地在 两个或多个服务器上进行更新, 它把彼此独立的事 务 ( 可 能 分 散 在 不 同 的 Server 上 ) 象 一 个 事 务 那 样 进行处理。提交服务使用某一服务器作为中央记录 保持器, 它保存着帮助应用程序判定是提交还是回 退事务的各种记录。从而两阶段提交技术就保证了 事务所涉及的多个服务器上的数据库要么同时更 新, 要么不做任何更新。
2007 年第 24 卷第 10 期
微电子学与计算机
137
分布式数据库系统及其一致性方法研究
刘萍芬, 马瑞芳, 王 军
( 西安交通大学 电信学院, 陕西 西安 710049)
摘 要: 分布式数据库系统是数据库领域中的一个主要研究方向, 数据一致性维护是分布式数据库系统中的一
个非常关键的技术问题。在分析分布式数据库系统体系结构的基础上, 讨论了两种一致性方法: 两阶段提交和复制
如果修改要求首先在次场地出现, 则可以利用 称为异步存储过程的方法来保证被修改数据的一 致性。异步存储过程由相应的次场地的复制服务器 管理。具体工作过程是: 当次场地上的数据服务器 发生需要修改本场地的数据副本要求时, 实际的工 作是将实现该修改的相应存储过程传送到主场地 并执行之, 使修改首先在主场地的数据上进行。这 个 修 改 再 按 照 主 、次 复 制 服 务 器 的 工 作 原 理 对 各 次 场地上的数据进行修改。
如果远程复制服务器由于远程场地故障或其 他原因不能运行, 主复制 场 地 利 用 store- and- for- ward 功能暂时对故障场地的数据不进行修改, 而当 远程场地返回联机信号时, 立即对其进行修改。假 定在停机期间原有数据未受到破坏, 而在联机后立 即完成其在停机期间应进行的修改, 从而保证数据 在可使用时是一致的。
无 论 哪 种 类 型 的 DDBS, DBMS 所 接 收 到 查 询 操作都有 3 种可能: 查询的数据均存放在本结点 上, 查询的数据均存放在另一结点上, 查询的数据 分布在多个结点上。DBMS 查询的复杂性直接影响 在评价和选择网络处理的策略以及在合并响应信 息时所要求的复杂程序。另一个主要的实现问题是 不同地点之间的通信传输速度与局部数据库存贮 部 件 的 存 取 速 度 相 比 是 非 常 慢 的 。 因 此 在 DDBS 中, 控制各结点之间传输的信息量就非常重要。
相关主题