分布式数据库系统中的并发控制

Concurrency Control in Distributed Database System
作者信息
2016 年计算机通信与信息学国际会议 (ICCCI -2016),2016 年 1 月 7 日至 9 日
摘要:并发操纵并发事务执行的控制。分布式数据库管理系统强制执行并发操作以确保事务的可序列化和隔离。在这个领域已经进行了大量的研究,并且已经使用了许多算法。在本文中,我们将比较几种用于在 DDBMS 中保留事务的 ACID 属性(原子性、一致性、隔离性和持久性)的算法。

关键字:分布式数据库、事务、锁定、可序列化、ACID

1 介绍

数据库是处理组织活动的一组数据。 DDB 是一种允许通过相同或通用语言对数据进行分散管理的方案。并发控制处理以多用户方式协调对数据库的并发访问的问题。锁定是一种用于控制对数据的并发访问的方法。锁定是一个具有与之关联的数据项的变量。它是项目的状态,它说明可能适用于它的所有操作。对于数据库中的每个项目,一个锁可用。锁被用作同步并发事务对数据库项的访问的一种手段。一些提供并发操作的算法是锁相、时间戳、多模型时间戳和许多其他算法。

2 分布式数据库

分布式数据库 (DDB) 是一组分布在计算机网络上的共享数据。通过它可以高速访问数据。系统使用介质相互通信,例如电话线和高速网络。 DDB 由松散耦合的站点组成,它们在物理上不共享部分。

2.1 分布式数据库的类型

2.1.1 同构分布式数据库

  • 数据分布在其中,但所有数据中心使用相同的DBMS 软件。
  • 根据用户的要求,都同意统一处理。
  • 向用户提供单一系统外观。

2.1.2 异构分布式数据库

  • 数据分布在其中,但所有数据中心使用不同的DBMS 软件。
  • 不同的DDBMS 控制其下的不同节点。

3 并发控制

DB 中的并发控制管理与操作相关的实际并发执行。它以保持数据一致性的方式完成。如果为每类事务提供相同程度的支持并且服务定义随应用程序而变化,则可以说并发控制中的算法是诚实的。并发控制中的问题是防止一个特定用户执行的数据库更新干扰数据库检索以及另一个用户执行的更新。如果事务被处理,可能会导致与数据的一致性问题。同时更新数据。

为了更深入地理解它,让我们考虑一个预订系统的例子,其中两个人 A 和 B 尝试一次预订同一个座位。图 1 显示 18 号座位可供预订。 A 和 B 都试图保留那个座位。预订时会出现问题。这是由于该预订系统的数据库中缺乏并发控制。因此,有必要采取措施。
图 1 预约系统示例

4 算法

4.1 锁

……

4.2 基本时间戳排序 (BTO)

时间戳排序 (TO) 是一个使用 DBMS 创建的唯一时间戳来标识事务的过程。这是交易在系统中执行的顺序;我们可以说它是事务的开始时间。

BTO 保证时间戳顺序的有效性。当事务不遵循此顺序时,它将以新的时间戳重新启动。在此时间戳算法中,如果请求的事务的时间戳大于对象的写入时间戳,则允许读取请求,否则拒绝读取请求.对于写入请求,如果请求事务的时间戳大于对象的读取时间戳或大于对象的写入时间戳。否则,它拒绝写请求。

4.3 算法之间的比较

  • 与分布式环境相比,2PL 在集中式环境中表现良好,而时间戳排序在两种环境中都表现良好。
  • 在 Strict-2PL 的情况下,它的工作方式与 2PL 相同,但其优势是其他事务甚至不会读取您写入的任何内容,直到你承诺。例如,事务将只读取已提交的数据。它还有一个缺点是交易可能会在等待中结束。例如,insert 可能会因为 phantom 问题锁定整个表。
  • 缠绕等待的缺点是等待图的构建在数据库分布式时更加极端,等待图必须从不同站点的锁表的集合。即使没有死锁,它也会回滚事务。
  • Wait-Die 的等待时间,其中旧事务等待年轻事务完成,可能会减慢。• 根据 Wait-Die,请求的较年轻事务可能会终止或重新启动。但是,如果它以相同的时间戳重新启动,它可能与相同的旧事务发生冲突。
  • 在 Wait-Die 中,旧事务永远不会重新启动。 [4] 在 Wound-Wait 的情况下,旧事务可能会重新启动几次。
  • 在 BTO 中,时间排序 (TO) 调度程序的问题是维护时间戳的内存成本很高。
  • BTO 的另一个缺点是,每当一个事务被中止并使用新的时间戳重新开始导致循环重启,其中它们在没有完成的情况下中止。

5 结论与未来工作

在本文中,我们讨论了分布式数据库系统中的并发控制。我们还描述并比较了一些关于并发控制的算法,如 2PL、Strict 2PL、Wound-Wait、Wait-Die 和基本时间戳排序。ACID 属性对于数据库中的事务非常重要。未来,我们将研究和比较 2PLocking 算法,并尝试改进分布式数据库中的 2PLocking 技术。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随处可见的打字员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值