{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,11]],"date-time":"2026-05-11T22:04:20Z","timestamp":1778537060835,"version":"3.51.4"},"reference-count":34,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2017,8]]},"abstract":"<jats:p>In this paper, we present PaxosStore, a high-availability storage system developed to support the comprehensive business of WeChat. It employs a combinational design in the storage layer to engage multiple storage engines constructed for different storage models. PaxosStore is characteristic of extracting the Paxos-based distributed consensus protocol as a middleware that is universally accessible to the underlying multi-model storage engines. This facilitates tuning, maintaining, scaling and extending the storage engines. According to our experience in engineering practice, to achieve a practical consistent read\/write protocol is far more complex than its theory. To tackle such engineering complexity, we propose a layered design of the Paxos-based storage protocol stack, where PaxosLog, the key data structure used in the protocol, is devised to bridge the programming-oriented consistent read\/write to the storage-oriented Paxos procedure. Additionally, we present optimizations based on Paxos that made fault-tolerance more efficient. Discussion throughout the paper primarily focuses on pragmatic solutions that could be insightful for building practical distributed storage systems.<\/jats:p>","DOI":"10.14778\/3137765.3137778","type":"journal-article","created":{"date-parts":[[2017,9,7]],"date-time":"2017-09-07T13:35:53Z","timestamp":1504791353000},"page":"1730-1741","source":"Crossref","is-referenced-by-count":29,"title":["PaxosStore"],"prefix":"10.14778","volume":"10","author":[{"given":"Jianjun","family":"Zheng","sequence":"first","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Qian","family":"Lin","sequence":"additional","affiliation":[{"name":"National University of Singapore and Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jiatao","family":"Xu","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Cheng","family":"Wei","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chuwei","family":"Zeng","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pingan","family":"Yang","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yunfan","family":"Zhang","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,8]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2465272"},{"key":"e_1_2_1_2_1","volume-title":"Proc. of CIDR","author":"Baker J.","year":"2011","unstructured":"J. Baker , C. Bond , J. C. Corbett , J. Furman , A. Khorlin , J. Larson , : Providing scalable, highly available storage for interactive services . In Proc. of CIDR , 2011 . J. Baker, C. Bond, J. C. Corbett, J. Furman, A. Khorlin, J. Larson, et al. Megastore: Providing scalable, highly available storage for interactive services. In Proc. of CIDR, 2011."},{"key":"e_1_2_1_3_1","volume-title":"Concurrency Control and Recovery in Database Systems","author":"Bernstein P. A.","year":"1987","unstructured":"P. A. Bernstein , V. Hadzilacos , and N. Goodman . Concurrency Control and Recovery in Database Systems . Addison-Wesley Longman Publishing Co., Inc. , 1987 . P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley Longman Publishing Co., Inc., 1987."},{"key":"e_1_2_1_4_1","volume-title":"Proc. of OSDI","author":"Burrows M.","year":"2006","unstructured":"M. Burrows . The chubby lock service for loosely-coupled distributed systems . In Proc. of OSDI , 2006 . M. Burrows. The chubby lock service for loosely-coupled distributed systems. In Proc. of OSDI, 2006."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281100.1281103"},{"key":"e_1_2_1_6_1","volume-title":"Proc. of OSDI","author":"Corbett J. C.","year":"2012","unstructured":"J. C. Corbett , J. Dean , M. Epstein , A. Fikes , C. Frost , J. J. Furman , : Google's globally-distributed database . In Proc. of OSDI , 2012 . J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, et al. Spanner: Google's globally-distributed database. In Proc. of OSDI, 2012."},{"key":"e_1_2_1_7_1","volume-title":"Proc. of OSDI","author":"Cowling J.","year":"2006","unstructured":"J. Cowling , D. Myers , B. Liskov , R. Rodrigues , and L. Shrira . Hq replication: A hybrid quorum protocol for byzantine fault tolerance . In Proc. of OSDI , 2006 . J. Cowling, D. Myers, B. Liskov, R. Rodrigues, and L. Shrira. Hq replication: A hybrid quorum protocol for byzantine fault tolerance. In Proc. of OSDI, 2006."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.5555\/645954.675657"},{"issue":"1","key":"e_1_2_1_9_1","first-page":"28","article-title":"The sap hana database--an architecture overview","volume":"35","author":"F\u00e4rber F.","year":"2012","unstructured":"F. F\u00e4rber , N. May , W. Lehner , P. Gro\u00dfe , I. M\u00fcller , H. Rauhe , The sap hana database--an architecture overview . IEEE Data Engineering Bulletin , 35 ( 1 ): 28 -- 33 , 2012 . F. F\u00e4rber, N. May, W. Lehner, P. Gro\u00dfe, I. M\u00fcller, H. Rauhe, et al. The sap hana database--an architecture overview. IEEE Data Engineering Bulletin, 35(1):28--33, 2012.","journal-title":"IEEE Data Engineering Bulletin"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/3149.214121"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043559"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1132863.1132867"},{"key":"e_1_2_1_13_1","volume-title":"Proc. of BIRTE","author":"Gupta A.","year":"2015","unstructured":"A. Gupta and J. Shute . High-availability at massive scale: Building google's data infrastructure for ads . In Proc. of BIRTE , 2015 . A. Gupta and J. Shute. High-availability at massive scale: Building google's data infrastructure for ads. In Proc. of BIRTE, 2015."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732977.2732999"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807227"},{"key":"e_1_2_1_16_1","volume-title":"Proc. of USENIX ATC","author":"Hunt P.","year":"2010","unstructured":"P. Hunt , M. Konar , F. P. Junqueira , and B. Reed . Zookeeper: Wait-free coordination for internet-scale systems . In Proc. of USENIX ATC , 2010 . P. Hunt, M. Konar, F. P. Junqueira, and B. Reed. Zookeeper: Wait-free coordination for internet-scale systems. In Proc. of USENIX ATC, 2010."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1529974.1529979"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/279227.279229"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00446-006-0005-x"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/1009382.1009745"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/357172.357176"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/383962.383969"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/645953.675640"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2670979.2671001"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/s002360050048"},{"key":"e_1_2_1_27_1","volume-title":"Proc. of USENIX ATC","author":"Ongaro D.","year":"2014","unstructured":"D. Ongaro and J. Ousterhout . In search of an understandable consensus algorithm . In Proc. of USENIX ATC , 2014 . D. Ongaro and J. Ousterhout. In search of an understandable consensus algorithm. In Proc. of USENIX ATC, 2014."},{"key":"e_1_2_1_28_1","volume-title":"Proc. of NSDI","author":"Ports D. R. K.","year":"2015","unstructured":"D. R. K. Ports , J. Li , V. Liu , N. K. Sharma , and A. Krishnamurthy . Designing distributed systems using approximate synchrony in data center networks . In Proc. of NSDI , 2015 . D. R. K. Ports, J. Li, V. Liu, N. K. Sharma, and A. Krishnamurthy. Designing distributed systems using approximate synchrony in data center networks. In Proc. of NSDI, 2015."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(00)00042-6"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213862"},{"key":"e_1_2_1_31_1","volume-title":"Basho Technologies","author":"Sheehy J.","year":"2010","unstructured":"J. Sheehy and D. Smith . Bitcask: a log-structured hash table for fast key\/value data. White paper , Basho Technologies , 2010 . J. Sheehy and D. Smith. Bitcask: a log-structured hash table for fast key\/value data. White paper, Basho Technologies, 2010."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/383059.383071"},{"key":"e_1_2_1_33_1","volume-title":"Proc. of VLDB","author":"Stonebraker M.","year":"2005","unstructured":"M. Stonebraker , D. J. Abadi , A. Batkin , X. Chen , M. Cherniack , M. Ferreira , : A column-oriented dbms . In Proc. of VLDB , 2005 . M. Stonebraker, D. J. Abadi, A. Batkin, X. Chen, M. Cherniack, M. Ferreira, et al. C-store: A column-oriented dbms. In Proc. of VLDB, 2005."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2673577"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3137765.3137778","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T10:12:29Z","timestamp":1672222349000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3137765.3137778"}},"subtitle":["high-availability storage made practical in WeChat"],"short-title":[],"issued":{"date-parts":[[2017,8]]},"references-count":34,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2017,8]]}},"alternative-id":["10.14778\/3137765.3137778"],"URL":"https:\/\/doi.org\/10.14778\/3137765.3137778","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2017,8]]}}}