| Internet applications’ increasing number of users and the demand to be online all the time paved the way for the fast development and widespread application of distributed databases.Among distributed databases,Shared-Nothing distributed databases,famous for their outstanding scalability and high availability,are favored by customers and database vendors.They can leverage low-cost midrange servers to deploy largescale distributed systems so that they can meet users’ demands for performance at a lower cost.To get better scalability,Shared-Nothing distributed databases normally adopt a stateless calculation layer,thus they will have transaction processing and transaction states placed in different nodes,which may cause a long conflict detection chain.Under a high-contention workload,this configuration will cause a hefty dropdown in performance.To tame this problem,we designed a scheme to resolve the issue of SharedNothing architecture databases under high contention.Our contributions are enlisted below:1.We designed and implemented a high-contention detection module and a highcontention processing module.It can detect the high-contention status of the system in time and activate the corresponding high-contention processing strategy agilely.For dynamic high-contention workload,we utilized a partition-based method to manage high-contention data and placed high-contention transactions in the same high-contention processing node to be processed by the high-contention processing strategy,thus enabling the system to process high-contention transactions more effectively.2.For optimistic concurrency control under distributed environment,we designed and implemented a pre-locking method to reduce the conflict detection chain of high-contention transactions in Shared-Nothing architecture,thus reducing the system consumption of resources and increasing overall throughput.3.We designed a high-contention processing strategy based on a local cache to reduce the time for reading high-contention data,thus reducing the conflict detection chain of high-contention transactions and enhancing system performance.4.To resolve the single-node bottleneck caused by a single high-contention processing node,we introduced the load-balance strategy to process high-contention workload while avoiding the single-node bottleneck.5.We designed and implemented a prototype system based on Foundation DB to examine our ideas.In conclusion,we researched the performance issue of Shared-Nothing architecture distributed databases under high-contention workload.We designed and implemented a high-contention transaction processing solution.We conducted a set of experiments.Experiments illustrated that our design and optimization of high-contention transaction processing can improve shared-nothing distributed databases’ performance under the high-contention workload. |