基于多版本并发控制的分布式事务优化与实现
发布时间:2021-04-16 03:32
随着移动互联网的繁荣发展,愈来愈多的线下业务向线上业务进行转移。传统的集中式数据库系统已经无法通过扩展来应对用户量和数据量的快速增长。在此背景之下,分布式关系数据库系统应运而生。它将数据切分到多个节点上进行处理,从而能够获得良好的可扩展性。但是受限于目前的网络速度,节点之间的网络通信时延成为这类系统的主要瓶颈。当出现分布式事务时,为了确保其正确性和高效性,分布式事务型关系数据库系统通常采用多版本并发控制协议(Multi-Version Concurrency Control,MVCC)、先更新者赢规则(First Updater Wins,FUW)及两阶段提交协议(Two-Phase Commit,2PC)相结合的方法。然而,以上协议的运行需要多次耗时的网络通信,并且在此期间写锁会被分布式事务一直持有。在高冲突的负载下,这会增加事务之间冲突的可能性,进而影响系统的事务处理性能。因此,为了解决分布式事务持锁时间过长的问题,本文设计了基于提交依赖的分布式事务处理方法,该方法通过提前释放写锁对分布式事务的性能进行优化。本文的主要贡献如下:1.针对分布式事务持锁时间过长的问题,提出了一种具有可...
【文章来源】:华东师范大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:79 页
【学位级别】:硕士
【部分图文】:
图2.1两阶段提交流程
第二章相关工作华东师范大学硕士学位论文15由图可以看出,ELR通过缩短事务阻塞等待的时间而获取更高的并行度,使得事务的部分执行逻辑处理可以与的日志持久化同时进行,因此事务和的整体延迟要比事务和的低。图2.2事务提前锁释放的示例图回顾上一节介绍的分布式事务,其运行2PC协议时需要在事务管理器与资源管理器之间进行多次网络通信,这使得2PC协议执行时间远大于事务逻辑处理时间。如果在此期间分布式事务一直持有锁,一旦它涉及到一些热点数据,那么事务之间的冲突会显著地增加,从而对整个系统事务吞吐量造成极大的影响。针对这个问题,分布式事务也可以利用ELR技术进行优化。图2.3分布式事务提前锁释放的示例图图2.3展示了一个分布式事务应用ELR技术的示例。事务在2PC协议的提交阶段,将分布式事务的提交记录写入日志缓冲区后立即释放其持有的锁,这在一定程度上减少事务冲突的发生。此外,我们可以观察到在2PC协议的准备阶段仍会持有锁。并且,由于需要多个节点同步协商,事务在准备阶段的延迟相对较高。由此可知,分布式事务长时间持锁的问题依旧突出。对此,GRAEFE等人[59]允许分布式事务在进入准备阶段之后,其持有的锁模式能与其他后续事务相兼容,从而降低了事务之间冲突的概率,有效地提升了系统的事务性能。然
第二章相关工作华东师范大学硕士学位论文15由图可以看出,ELR通过缩短事务阻塞等待的时间而获取更高的并行度,使得事务的部分执行逻辑处理可以与的日志持久化同时进行,因此事务和的整体延迟要比事务和的低。图2.2事务提前锁释放的示例图回顾上一节介绍的分布式事务,其运行2PC协议时需要在事务管理器与资源管理器之间进行多次网络通信,这使得2PC协议执行时间远大于事务逻辑处理时间。如果在此期间分布式事务一直持有锁,一旦它涉及到一些热点数据,那么事务之间的冲突会显著地增加,从而对整个系统事务吞吐量造成极大的影响。针对这个问题,分布式事务也可以利用ELR技术进行优化。图2.3分布式事务提前锁释放的示例图图2.3展示了一个分布式事务应用ELR技术的示例。事务在2PC协议的提交阶段,将分布式事务的提交记录写入日志缓冲区后立即释放其持有的锁,这在一定程度上减少事务冲突的发生。此外,我们可以观察到在2PC协议的准备阶段仍会持有锁。并且,由于需要多个节点同步协商,事务在准备阶段的延迟相对较高。由此可知,分布式事务长时间持锁的问题依旧突出。对此,GRAEFE等人[59]允许分布式事务在进入准备阶段之后,其持有的锁模式能与其他后续事务相兼容,从而降低了事务之间冲突的概率,有效地提升了系统的事务性能。然
本文编号:3140656
【文章来源】:华东师范大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:79 页
【学位级别】:硕士
【部分图文】:
图2.1两阶段提交流程
第二章相关工作华东师范大学硕士学位论文15由图可以看出,ELR通过缩短事务阻塞等待的时间而获取更高的并行度,使得事务的部分执行逻辑处理可以与的日志持久化同时进行,因此事务和的整体延迟要比事务和的低。图2.2事务提前锁释放的示例图回顾上一节介绍的分布式事务,其运行2PC协议时需要在事务管理器与资源管理器之间进行多次网络通信,这使得2PC协议执行时间远大于事务逻辑处理时间。如果在此期间分布式事务一直持有锁,一旦它涉及到一些热点数据,那么事务之间的冲突会显著地增加,从而对整个系统事务吞吐量造成极大的影响。针对这个问题,分布式事务也可以利用ELR技术进行优化。图2.3分布式事务提前锁释放的示例图图2.3展示了一个分布式事务应用ELR技术的示例。事务在2PC协议的提交阶段,将分布式事务的提交记录写入日志缓冲区后立即释放其持有的锁,这在一定程度上减少事务冲突的发生。此外,我们可以观察到在2PC协议的准备阶段仍会持有锁。并且,由于需要多个节点同步协商,事务在准备阶段的延迟相对较高。由此可知,分布式事务长时间持锁的问题依旧突出。对此,GRAEFE等人[59]允许分布式事务在进入准备阶段之后,其持有的锁模式能与其他后续事务相兼容,从而降低了事务之间冲突的概率,有效地提升了系统的事务性能。然
第二章相关工作华东师范大学硕士学位论文15由图可以看出,ELR通过缩短事务阻塞等待的时间而获取更高的并行度,使得事务的部分执行逻辑处理可以与的日志持久化同时进行,因此事务和的整体延迟要比事务和的低。图2.2事务提前锁释放的示例图回顾上一节介绍的分布式事务,其运行2PC协议时需要在事务管理器与资源管理器之间进行多次网络通信,这使得2PC协议执行时间远大于事务逻辑处理时间。如果在此期间分布式事务一直持有锁,一旦它涉及到一些热点数据,那么事务之间的冲突会显著地增加,从而对整个系统事务吞吐量造成极大的影响。针对这个问题,分布式事务也可以利用ELR技术进行优化。图2.3分布式事务提前锁释放的示例图图2.3展示了一个分布式事务应用ELR技术的示例。事务在2PC协议的提交阶段,将分布式事务的提交记录写入日志缓冲区后立即释放其持有的锁,这在一定程度上减少事务冲突的发生。此外,我们可以观察到在2PC协议的准备阶段仍会持有锁。并且,由于需要多个节点同步协商,事务在准备阶段的延迟相对较高。由此可知,分布式事务长时间持锁的问题依旧突出。对此,GRAEFE等人[59]允许分布式事务在进入准备阶段之后,其持有的锁模式能与其他后续事务相兼容,从而降低了事务之间冲突的概率,有效地提升了系统的事务性能。然
本文编号:3140656
本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3140656.html
最近更新
教材专著