Font Size: a A A

Optimization And Implementation Of Distributed Transaction Based On Multi-Version Concurrency Control

Posted on:2021-05-11Degree:MasterType:Thesis
Country:ChinaCandidate:W Q YuFull Text:PDF
GTID:2428330620968181Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the prosperity and development of mobile Internet,more and more offline businesses are changing to online businesses.The traditional centralized database system has been unable to cope with the rapid growth of users and data through expansion.Under this background,distributed relational database system emerges as the times require.It shards data to multiple nodes for processing,so that it can obtain good scalability.Nevertheless,due to the current network speed,the communication delay between nodes becomes the main bottleneck of such systems.When distributed transactions occur,in order to ensure their correctness and efficiency,the distributed relational database systems usually adopt the method of the combination of multi-version concurrency control protocol(MVCC),first updater wins rule(FUW)and two-phase commit protocol(2PC).However,the implementation of the above protocols requires many time-consuming network communications,and the write locks are held by distributed transactions during this period.Under highly-contented workloads,this will increase the possibility of conflicts between transactions,thereby degrading the transaction processing performance of the systems.Therefore,in order to solve the problem of distributed transaction holding locks for long periods,this paper designed a method for distributed transaction processing based on commit dependency,which optimizes the efficiency of distributed transaction by releasing locks in advance.The main contributions of this paper are as follows:1.For the problem of distributed transaction holding locks for too long,we proposed a multi-version with ordered termination protocol(MV-OT),which can effectively improve the performance of distributed transaction processing by introducing a small number of cascading rollback on the premise of ensuring the correctness.2.In order to support the transaction to read and write uncommitted data,wedesigned a group of visibility,updatability judgment and read-write strategies based on the row version,which can enable the transaction to record the commit dependency information in the event of a conflict;at the same time,we designed a transaction commit strategy,which determines the correct commit order between transactions by commit dependency information,thus avoiding the exceptions caused by concurrent transactions and ensuring data consistency.3.Demonstrating the validity of MV-OT in an open-source shared-nothing distributed database system.We implement MV-OT in an open-source distributed database Postgres-XL.A series of experiments are conducted to prove the efficiency of MV-OT on distributed transaction.
Keywords/Search Tags:distributed relational database system, distributed transaction, multi-version concurrent control, snapshot isolation, two-phase commit
PDF Full Text Request
Related items