|
Post by menada9348 on Oct 17, 2023 6:06:07 GMT
并发控制涉及对分布式数据库的并发访问的同步,以维护数据库的完整性。如果一组事务的并发执行在数据库上的结果相当于同一组事务的某种串行(一个接一个)执行,则可以说并发执行的事务保持了分布式数据库的一致性。这称为可串行化条件。从ACID特性来看,并发控制算法维护了事务的一致性和隔离性。 分布式事务的并发控制需要分布式同步算法,该算法必须确保并发事务不仅在其执行的每个站点上可序列化,而且在全局上也可序列化。这意味着它们在每个站点的执行顺序必须相同。 分布式并发控制算法 Whatsapp 号码列表 可以分为两大类:悲观算法(pessimistic )和乐观算法( optimistic),前者在事务开始之前同步用户请求的执行,后者执行请求,然后执行验证检查以确保执行不会损害事务的一致性。数据库。可以与这两种方法一起使用的两个基本原语是锁定,它基于对数据项访问的互斥(类似于操作系统中的信号量)和时间戳,其中事务按某种顺序执行。这些方案有多种变体,也有试图将两种基本机制结合起来的混合算法。基于锁定的算法会导致分布式死锁,需要协议来处理它们(请参阅分布式死锁检测)。 分布式可靠性协议 分布式数据库系统可能更可靠,因为每个系统组件都有多个副本,这消除了单点故障,并且可以复制数据以确保在系统故障时可以提供访问。分布式可靠性协议通过以下方式维护原子性和持久性属性:(a) 确保在不同站点执行的事务的所有操作成功完成(称为提交)或没有一个成功完成(称为中止),以及 (b)确保已提交事务对数据库所做的修改不会出现故障。第一个需要原子提交协议(请参阅提交协议),而第二个需要恢复协议。 最常见的原子提交协议是两阶段提交(2PC),其中事务分两步提交:首先轮询已执行事务的所有站点以确保它们已准备好提交,然后指示它们实际提交事务(请参阅两阶段提交)。结果是在执行事务的每个站点上进行统一的承诺(或中止)。 恢复协议与原子承诺协议相反。它们确保系统在发生故障后能够恢复到一致的状态。
|
|