Abstract:
Transactions provide strong guarantees for the upper-level applications based on databases and other systems. NoSQL databases obtain higher scalability by weakening the support for transactions, but it is difficult to meet the transactional requirements of applications such as OLTP. To retrieve the support for highly consistent transactions, the NewSQL database architecture proposed later takes into account the efficient management of massive data. NewSQL databases therefore migrate data accessed by transactions from disk to memory to accelerate transaction processing. However, existing concurrency control protocols of in-memory transactional systems are challenged by the incompatibility with emerging storage and network technology. We categorized the concurrency control protocols of in-memory transactions in the past ten years from the three dimensions of processing strategy, version control, and conflict resolution. Subsequently, we offer detailed comparisons of typical concurrency control protocols from the three aspects of performance, scalability, and durability. Then four technical solutions are summarized to improve concurrency control protocols of in-memory transactions including eliminating the bottleneck of scalability, accelerating transaction processing with emerging hardware, reducing the probability of transaction aborts and ensuring the durability of in-memory transactions efficiently. Finally, we point out the future research direction of concurrency control protocols of in-memory transactions.