Abstract
Modern databases are commonly deployed on multiple commercial machines with quorum-based replication to provide high availability and guarantee strong consistency. A widely adopted consensus protocol is Raft because it is easy to understand and implement. However, Raft’s strict serialization limits the concurrency of the system, making it unable to reflect the capability of high concurrent transaction processing brought by new hardware and concurrency control technologies. Upon realizing this, the work targets on improving the parallelism of replication. We propose a variant of Raft protocol named DP-Raft to support parallel replication of database logs so that it can match the speed of transaction execution. Our key contributions are: (1) we define the rules for using log dependencies to commit and apply logs out of order; (2) DP-Raft is proposed for replicating logs in parallel. DP-Raft preserves log dependencies to ensure the safety of parallel replication and with some data structures to reduce the cost of state maintenance; (3) experiments on YCSB benchmark show that our method can improve throughput and reduce latency of transaction processing in database systems than existing Raft-based solutions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
etcd. https://etcd.io/
Tidb. https://pingcap.com/
Arora, V., et al.: Leader or majority: Why have one when you can have both? improving read scalability in raft-like consensus protocols. In: HotCloud (2017)
Baker, J., Bond, C., Corbett, J.C., et al.: Megastore: providing scalable, highly available storage for interactive services. In: CIDR, pp. 223–234 (2011)
Cao, W., et al.: PolarFS: an ultra-low latency and failure resilient distributed file system for shared storage cloud database. PVLDB 11(12), 1849–1862 (2018)
Cooper, B.F., Silberstein, A., Tam, E., et al.: Benchmarking cloud serving systems with YCSB. In: SoCC, pp. 143–154 (2010)
Corbett, J.C., Dean, J., Epstein, M., et al.: Spanner: Google’s globally distributed database. ACM Trans. Comput. Syst. 31(3), 8:1–8:22 (2013)
Guo, J., Chu, J., Cai, P., et al.: Low-overhead paxos replication. Data Sci. Eng. 2(2), 169–177 (2017)
Hong, C., Zhou, D., Yang, M., et al.: KuaFu: closing the parallelism gap in database replication. In: ICDE, pp. 1186–1195 (2013)
Kemme, B., Alonso, G.: Don’t be lazy, be consistent: Postgres-r, A new way to implement database replication. In: VLDB, pp. 134–143 (2000)
Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)
Lamport, L., et al.: Paxos made simple. ACM SIGACT News 32(4), 18–25 (2001)
Ongaro, D.: Consensus: Bridging theory and practice. Ph.D. thesis, Stanford University (2014)
Ongaro, D., Ousterhout, J.K.: In search of an understandable consensus algorithm. In: 2014 USENIX Annual Technical Conference, USENIX ATC, pp. 305–319 (2014)
Poke, M., Hoefler, T.: DARE: high-performance state machine replication on RDMA networks. In: HPDC, pp. 107–118 (2015)
Rao, J., Shekita, E.J., Tata, S.: Using paxos to build a scalable, consistent, and highly available datastore. PVLDB 4(4), 243–254 (2011)
Stonebraker, M.: Concurrency control and consistency of multiple copies of data in distributed INGRES. IEEE Trans. Software Eng. 5(3), 188–194 (1979)
Wiesmann, M., Schiper, A., Pedone, F., et al.: Database replication techniques: a three parameter classification. In: SRDS, pp. 206–215 (2000)
Zheng, J., Lin, Q., Xu, J., et al.: Paxosstore: high-availability storage made practical in WeChat. PVLDB 10(12), 1730–1741 (2017)
Acknowledgments
This work is partially supported by National Key R&D Program of China (2018YFB1003404), National Science Foundation of China under grant number 61672232, and Youth Program of National Science Foundation of China under grant number 61702189.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Zhang, Z., Hu, H., Yu, Y., Qian, W., Shu, K. (2020). Dependency Preserved Raft for Transactions. In: Nah, Y., Cui, B., Lee, SW., Yu, J.X., Moon, YS., Whang, S.E. (eds) Database Systems for Advanced Applications. DASFAA 2020. Lecture Notes in Computer Science(), vol 12112. Springer, Cham. https://doi.org/10.1007/978-3-030-59410-7_14
Download citation
DOI: https://doi.org/10.1007/978-3-030-59410-7_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-59409-1
Online ISBN: 978-3-030-59410-7
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)