A Survey on NoSQL Stores

Recent demands for storing and querying big data have revealed various shortcomings of traditional relational database systems. This, in turn, has led to the emergence of a new kind of complementary nonrelational data store, named as NoSQL. This survey mainly aims at elucidating the design decisions of NoSQL stores with regard to the four nonorthogonal design principles of distributed database systems: data model, consistency model, data partitioning, and the CAP theorem. For each principle, its available strategies and corresponding features, strengths, and drawbacks are explained. Furthermore, various implementations of each strategy are exemplified and crystallized through a collection of representative academic and industrial NoSQL technologies. Finally, we disclose some existing challenges in developing effective NoSQL stores, which need attention of the research community, application designers, and architects.

[1]  João Leitão,et al.  Automating the Choice of Consistency Levels in Replicated Systems , 2014, USENIX Annual Technical Conference.

[2]  David A. Bader,et al.  A performance evaluation of open source graph databases , 2014, PPAA '14.

[3]  Hagit Attiya,et al.  Sequential consistency versus linearizability , 1994, TOCS.

[4]  Sudipta Sengupta,et al.  Transaction Processing Techniques for Modern Hardware and the Cloud , 2015, IEEE Data Eng. Bull..

[5]  David P. Reed,et al.  Naming and synchronization in a decentralized computer system , 1978 .

[6]  Hans-Peter Kriegel,et al.  The pyramid-technique: towards breaking the curse of dimensionality , 1998, SIGMOD '98.

[7]  Daniel M. Lewin,et al.  Consistent hashing and random trees : algorithms for caching in distributed networks , 1998 .

[8]  Catriel Beeri,et al.  A Formal Approach to Object-Oriented Databases , 1990, Data Knowl. Eng..

[9]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[10]  Enhong Chen,et al.  Kineograph: taking the pulse of a fast-changing and connected world , 2012, EuroSys '12.

[11]  Luís E. T. Rodrigues,et al.  AutoPlacer: Scalable Self-Tuning Data Placement in Distributed Key-Value Stores , 2015, TAAS.

[12]  Brett D. Fleisch,et al.  Mirage: a coherent distributed shared memory design , 1989, SOSP '89.

[13]  Martin Fowler,et al.  NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence , 2012 .

[14]  Chen Wang,et al.  Scalable mining of large disk-based graph databases , 2004, KDD.

[15]  Wenwei Xue,et al.  Form-based proxy caching for database-backed web sites: keywords and functions , 2006, The VLDB Journal.

[16]  Marc Shapiro,et al.  Consistency without concurrency control in large, dynamic systems , 2010, OPSR.

[17]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[18]  Manish Parashar,et al.  Squid: Enabling search in DHT-based systems , 2008, J. Parallel Distributed Comput..

[19]  Nancy A. Lynch,et al.  Perspectives on the CAP Theorem , 2012, Computer.

[20]  Marcos K. Aguilera,et al.  Consistency-based service level agreements for cloud storage , 2013, SOSP.

[21]  Florian Schintke,et al.  Range queries on structured overlay networks , 2008, Comput. Commun..

[22]  David S. Johnson,et al.  Some simplified NP-complete problems , 1974, STOC '74.

[23]  Michael Stonebraker,et al.  SQL databases v. NoSQL databases , 2010, CACM.

[24]  Shahbaz Akhtar Abid,et al.  A Survey on DHT-Based Routing for Large-Scale Mobile Ad Hoc Networks , 2014, ACM Comput. Surv..

[25]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[26]  Indranil Gupta,et al.  The CAT theorem and performance of transactional distributed systems , 2016, DCC '16.

[27]  Annette Bieniusa,et al.  SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine , 2013, 2014 IEEE 33rd International Symposium on Reliable Distributed Systems Workshops.

[28]  Michael Stonebraker Stonebraker on NoSQL and enterprises , 2011, CACM.

[29]  Chyouhwa Chen,et al.  The Server Reassignment Problem for Load Balancing in Structured P2P Systems , 2008, IEEE Transactions on Parallel and Distributed Systems.

[30]  Ben Y. Zhao,et al.  Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and , 2001 .

[31]  Michael J. Freedman,et al.  Don't settle for eventual: scalable causal consistency for wide-area storage with COPS , 2011, SOSP.

[32]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[33]  André Schiper,et al.  From Causal Consistency to Sequential Consistency in Shared Memory Systems , 1995, FSTTCS.

[34]  Hans-Arno Jacobsen,et al.  PNUTS: Yahoo!'s hosted data serving platform , 2008, Proc. VLDB Endow..

[35]  Kevin Lee,et al.  Data Consistency Properties and the Trade-offs in Commercial Cloud Storage: the Consumers' Perspective , 2011, CIDR.

[36]  Andrew P. Black Proceedings of the companion publication of the 2014 ACM SIGPLAN conference on Systems, Programming, and Applications: Software for Humanity , 2014, SPLASH 2014.

[37]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[38]  Michael Stonebraker,et al.  SciDB DBMS Research at M.I.T , 2013, IEEE Data Eng. Bull..

[39]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[40]  Brian Gallagher,et al.  Matching Structure and Semantics: A Survey on Graph-Based Pattern Matching , 2006, AAAI Fall Symposium: Capturing and Using Patterns for Evidence Detection.

[41]  Willy Zwaenepoel,et al.  Closing The Performance Gap between Causal Consistency and Eventual Consistency , 2014 .

[42]  Ivan Beschastnikh,et al.  Scalable consistency in Scatter , 2011, SOSP.

[43]  Marvin Theimer,et al.  Session guarantees for weakly consistent replicated data , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[44]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[45]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

[46]  Lewis Tseng,et al.  Characterizing and Adapting the Consistency-Latency Tradeoff in Distributed Key-Value Stores , 2015, ACM Trans. Auton. Adapt. Syst..

[47]  Song Jiang,et al.  LSM-trie: An LSM-tree-based Ultra-Large Key-Value Store for Small Data Items , 2015, USENIX Annual Technical Conference.

[48]  Marcos K. Aguilera,et al.  Transactional storage for geo-replicated systems , 2011, SOSP.

[49]  Claude Berge,et al.  Graphs and Hypergraphs , 2021, Clustering.

[50]  Gabriel Kliot,et al.  Streaming graph partitioning for large distributed graphs , 2012, KDD.

[51]  Daniel J. Abadi,et al.  Consistency Tradeoffs in Modern Distributed Database System Design: CAP is Only Part of the Story , 2012, Computer.

[52]  Kevin Wilkinson,et al.  A hybrid solution for mixed workloads on dynamic graphs , 2016, GRADES '16.

[53]  Frederick H. Lochovsky,et al.  Hierarchical Data-Base Management: A Survey , 1976, CSUR.

[54]  Norbert Ritter,et al.  Towards Automated Polyglot Persistence , 2015, BTW.

[55]  Ralph C. Merkle,et al.  A Certified Digital Signature , 1989, CRYPTO.

[56]  Charalampos E. Tsourakakis,et al.  FENNEL: streaming graph partitioning for massive scale graphs , 2014, WSDM.

[57]  Sin Yeung Lee,et al.  Hierarchical Compact Cube for Range-Max Queries , 2000, VLDB.

[58]  Michael Stonebraker,et al.  Object-Relational DBMSs: The Next Great Wave , 1995 .

[59]  Newer Sql Errors in Database Systems , Eventual Consistency , and the CAP Theorem , 2022 .

[60]  Ioannis Konstantinou,et al.  DBalancer: distributed load balancing for NoSQL data-stores , 2013, SIGMOD '13.

[61]  Doug Terry,et al.  Replicated data consistency explained through baseball , 2013, CACM.

[62]  Alain Bretto,et al.  Hypergraph Theory: An Introduction , 2013 .

[63]  Vijay V. Raghavan,et al.  Big Data: Promises and Problems , 2015, Computer.

[64]  Cevdet Aykanat,et al.  Temporal Workload-Aware Replicated Partitioning for Social Networks , 2014, IEEE Transactions on Knowledge and Data Engineering.

[65]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM 2001.

[66]  Sameh Elnikety,et al.  Orbe: scalable causal consistency using dependency matrices and physical clocks , 2013, SoCC.

[67]  João Leitão,et al.  ChainReaction: a causal+ consistent datastore based on chain replication , 2013, EuroSys '13.

[68]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.

[69]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[70]  Jinha Kim,et al.  TurboGraph: a fast parallel graph engine handling billion-scale graphs in a single PC , 2013, KDD.

[71]  Martin Kleppmann,et al.  A Critique of the CAP Theorem , 2015, ArXiv.

[72]  Nuno Diegues,et al.  Optimizing hyperspace hashing via analytical modelling and adaptation , 2014, SIAP.

[73]  Marcelo Arenas,et al.  Foundations of Modern Graph Query Languages , 2016, ArXiv.

[74]  Dana Petcu,et al.  Portable Cloud applications - From theory to practice , 2013, Future Gener. Comput. Syst..

[75]  Gil Neiger,et al.  Causal memory: definitions, implementation, and programming , 1995, Distributed Computing.

[76]  Marvin Theimer,et al.  Flexible update propagation for weakly consistent replication , 1997, SOSP.

[77]  Harold Boley,et al.  Declarative operations on nets , 1992 .

[78]  S. Pallottino,et al.  Hyperpaths and shortest hyperpaths , 1989 .

[79]  Amin Vahdat,et al.  Design and evaluation of a conit-based continuous consistency model for replicated services , 2002, TOCS.

[80]  Randall L. Frank,et al.  CODASYL Data-Base Management Systems , 1976, CSUR.

[81]  Wim Martens,et al.  Optimizing Tree Patterns for Querying Graph- and Tree-Structured Data , 2017, SGMD.

[82]  Helmut Krcmar,et al.  Big Data , 2014, Wirtschaftsinf..

[83]  Ge Zhang,et al.  Hybrid Range Consistent Hash Partitioning Strategy -- A New Data Partition Strategy for NoSQL Database , 2013, 2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications.

[84]  Paulo Sérgio Almeida,et al.  Concise Server-Wide Causality Management for Eventually Consistent Data Stores , 2015, DAIS.

[85]  Emin Gün Sirer,et al.  Warp: Lightweight Multi-Key Transactions for Key-Value Stores , 2015, ArXiv.

[86]  Magdalena Balazinska,et al.  Skew-resistant parallel processing of feature-extracting scientific user-defined functions , 2010, SoCC '10.

[87]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[88]  Vipin Kumar,et al.  Parallel Multilevel Algorithms for Multi-constraint Graph Partitioning (Distinguished Paper) , 2000, Euro-Par.

[89]  Sérgio Duarte,et al.  Write Fast, Read in the Past: Causal Consistency for Client-Side Applications , 2015, Middleware.

[90]  Huajun Chen,et al.  The Semantic Web , 2011, Lecture Notes in Computer Science.

[91]  Donald D. Chamberlin,et al.  SEQUEL: A structured English query language , 1974, SIGFIDET '74.

[92]  Jon Crowcroft,et al.  A survey and comparison of peer-to-peer overlay network schemes , 2005, IEEE Communications Surveys & Tutorials.

[93]  Seif Haridi,et al.  Using Global Information for Load Balancing in DHTs , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[94]  Rick Cattell,et al.  Scalable SQL and NoSQL data stores , 2011, SGMD.

[95]  Abraham Kandel,et al.  Graph-Theoretic Techniques for Web Content Mining , 2005, Series in Machine Perception and Artificial Intelligence.

[96]  Rajkumar Buyya,et al.  Dynamically scaling applications in the cloud , 2011, CCRV.

[97]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[98]  Daniel Schall,et al.  Dynamic physiological partitioning on a shared-nothing database cluster , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[99]  Won Kim,et al.  Object-Oriented Databases: Definition and Research Directions , 1990, IEEE Trans. Knowl. Data Eng..

[100]  Annette Bieniusa,et al.  Cure: Strong Semantics Meets High Availability and Low Latency , 2016, 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS).

[101]  James A. Hendler,et al.  The Semantic Web" in Scientific American , 2001 .

[102]  Alley Stoughton,et al.  Detection of Mutual Inconsistency in Distributed Systems , 1983, IEEE Transactions on Software Engineering.

[103]  Veda C. Storey,et al.  Big data technologies and Management: What conceptual modeling can do , 2017, Data Knowl. Eng..

[104]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[105]  Willy Zwaenepoel,et al.  Okapi: Causally Consistent Geo-Replication Made Faster, Cheaper and More Available , 2017, ArXiv.

[106]  Willy Zwaenepoel,et al.  GentleRain: Cheap and Scalable Causal Consistency with Physical Clocks , 2014, SoCC.

[107]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[108]  Lorenzo Alvisi,et al.  Consistency , Availability , and Convergence , 2011 .

[109]  Florian Schintke,et al.  A Structured Overlay for Multi-dimensional Range Queries , 2007, Euro-Par.

[110]  Nancy A. Lynch,et al.  Eventually-serializable data services , 1996, PODC '96.

[111]  David Kenneth Gifford,et al.  Information storage in a decentralized computer system , 1981 .

[112]  Christopher Frost,et al.  Spanner: Google's Globally-Distributed Database , 2012, OSDI.

[113]  Claudio Gutierrez,et al.  Survey of graph database models , 2008, CSUR.

[114]  F. E. A Relational Model of Data Large Shared Data Banks , 2000 .

[115]  Hui Ding,et al.  TAO: Facebook's Distributed Data Store for the Social Graph , 2013, USENIX Annual Technical Conference.

[116]  Guy E. Blelloch,et al.  GraphChi: Large-Scale Graph Computation on Just a PC , 2012, OSDI.

[117]  Brett D. Fleisch,et al.  The Chubby lock service for loosely-coupled distributed systems , 2006, OSDI '06.

[118]  Ioannis Konstantinou,et al.  Fast and Cost-Effective Online Load-Balancing in Distributed Range-Queriable Systems , 2011, IEEE Transactions on Parallel and Distributed Systems.

[119]  David R. Karger,et al.  Simple Efficient Load-Balancing Algorithms for Peer-to-Peer Systems , 2004, SPAA '04.

[120]  Md. Yusuf Sarwar Uddin,et al.  MARQUES: Distributed multi-attribute range query solution using space filling curve on DTHs , 2015, 2015 International Conference on Networking Systems and Security (NSysS).

[121]  Borislav Iordanov,et al.  HyperGraphDB: A Generalized Graph Database , 2010, WAIM Workshops.

[122]  Ali Ghodsi,et al.  Highly Available Transactions: Virtues and Limitations , 2013, Proc. VLDB Endow..

[123]  Werner Vogels,et al.  Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability. , 2022 .

[124]  Luís E. T. Rodrigues,et al.  On Data Placement in Distributed Systems , 2015, OPSR.

[125]  K. Selçuk Candan,et al.  SBV-Cut: Vertex-cut based graph partitioning using structural balance vertices , 2012, Data Knowl. Eng..

[126]  Marko Vukolic,et al.  Consistency in Non-Transactional Distributed Storage Systems , 2015, ACM Comput. Surv..

[127]  Haixun Wang,et al.  Trinity: a distributed graph engine on a memory cloud , 2013, SIGMOD '13.

[128]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[129]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[130]  Liuba Shrira,et al.  Providing high availability using lazy replication , 1992, TOCS.

[131]  E. Brewer,et al.  CAP twelve years later: How the "rules" have changed , 2012, Computer.

[132]  James M. Kang,et al.  Space-Filling Curves , 2017, Encyclopedia of GIS.

[133]  Michael Stonebraker,et al.  The Case for Shared Nothing , 1985, HPTS.

[134]  Komal Shringare,et al.  Apache Hadoop Goes Realtime at Facebook , 2015 .

[135]  Robert H. Thomas,et al.  A Majority consensus approach to concurrency control for multiple copy databases , 1979, ACM Trans. Database Syst..

[136]  Florian Schintke,et al.  Structured Overlay without Consistent Hashing: Empirical Results , 2006, Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06).

[137]  Lei Gao,et al.  PRACTI Replication , 2006, NSDI.

[138]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[139]  Jin-Soo Kim,et al.  ForestDB: A Fast Key-Value Storage System for Variable-Length String Keys , 2016, IEEE Transactions on Computers.

[140]  Joseph M. Hellerstein,et al.  GraphLab: A New Framework For Parallel Machine Learning , 2010, UAI.

[141]  Richard M. Karp,et al.  Load balancing in dynamic structured P2P systems , 2004, IEEE INFOCOM 2004.

[142]  Amir H. Payberah,et al.  A Distributed Algorithm for Large-Scale Graph Partitioning , 2015, ACM Trans. Auton. Adapt. Syst..

[143]  Ming Wu,et al.  Managing Large Graphs on Multi-Cores with Graph Awareness , 2012, USENIX Annual Technical Conference.

[144]  Lei Gao,et al.  Data Infrastructure at LinkedIn , 2012, 2012 IEEE 28th International Conference on Data Engineering.

[145]  Andrew C. Myers,et al.  Mixing Consistency in Geodistributed Transactions: Technical Report , 2016 .

[146]  Jay F. Nunamaker,et al.  FORTRAN IMPLEMENTATION OF THE CODASYL DATA BASE TASK GROUP REPORT. , 1974 .

[147]  Christos Faloutsos,et al.  PEGASUS: A Peta-Scale Graph Mining System Implementation and Observations , 2009, 2009 Ninth IEEE International Conference on Data Mining.

[148]  Leslie Lamport,et al.  Consensus on transaction commit , 2004, TODS.

[149]  Barbara A. Eckman,et al.  Graph data management for molecular and cell biology , 2006, IBM J. Res. Dev..

[150]  S. Sudarshan,et al.  Data models , 1996, CSUR.

[151]  R. F. Brown,et al.  PERFORMANCE EVALUATION , 2019, ISO 22301:2019 and business continuity management – Understand how to plan, implement and enhance a business continuity management system (BCMS).

[152]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[153]  Nathan Goodman,et al.  A Survey of Research and Development in Distributed Database Management , 1977, VLDB.

[154]  Jianyong Wang,et al.  Out-of-core coherent closed quasi-clique mining from large dense graph databases , 2007, TODS.

[155]  Florian Schintke,et al.  Scalaris: reliable transactional p2p key/value store , 2008, ERLANG '08.

[156]  Jerzy Brzezinski,et al.  From session causality to causal consistency , 2004, 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2004. Proceedings..

[157]  Dale Skeen,et al.  Nonblocking commit protocols , 1981, SIGMOD '81.

[158]  Jim Webber,et al.  A programmatic introduction to Neo4j , 2018, SPLASH '12.

[159]  Renzo Angles,et al.  A Comparison of Current Graph Database Models , 2012, 2012 IEEE 28th International Conference on Data Engineering Workshops.

[160]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[161]  Emin Gün Sirer,et al.  HyperDex: a distributed, searchable key-value store , 2012, SIGCOMM '12.

[162]  Honghui Lu,et al.  Peer-to-peer support for massively multiplayer games , 2004, IEEE INFOCOM 2004.

[163]  Pat Helland,et al.  Life beyond Distributed Transactions: an Apostate's Opinion , 2007, CIDR.

[164]  Tok Wang Ling,et al.  Survey on Keyword Search over XML Documents , 2016, SGMD.

[165]  Philip S. Yu,et al.  Optimizing data partition for scaling out NoSQL cluster , 2015, Concurr. Comput. Pract. Exp..

[166]  Eric A. Brewer,et al.  Harvest, yield, and scalable tolerant systems , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[167]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[168]  Richard M. Karp,et al.  Load Balancing in Structured P2P Systems , 2003, IPTPS.

[169]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[170]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[171]  Ivan Stojmenovic,et al.  Graph Theoretic Models in Chemistry and Molecular Biology , 2008 .

[172]  Ali Ghodsi,et al.  Bolt-on causal consistency , 2013, SIGMOD '13.

[173]  Mohamed F. Mokbel,et al.  Deuteronomy: Transaction Support for Cloud Data , 2011, CIDR.

[174]  Kenneth P. Birman,et al.  Replication and fault-tolerance in the ISIS system , 1985, SOSP '85.

[175]  Gang Hu,et al.  SQLGraph: An Efficient Relational-Based Property Graph Store , 2015, SIGMOD Conference.

[176]  Patrick E. O'Neil,et al.  The log-structured merge-tree (LSM-tree) , 1996, Acta Informatica.

[177]  Michael J. Freedman,et al.  Stronger Semantics for Low-Latency Geo-Replicated Storage , 2013, NSDI.

[178]  Giorgio Gallo,et al.  Directed Hypergraphs and Applications , 1993, Discret. Appl. Math..

[179]  Michael J. Freedman,et al.  Don't settle for eventual consistency , 2014, CACM.

[180]  Dennis Shasha,et al.  The dangers of replication and a solution , 1996, SIGMOD '96.

[181]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[182]  Robert Griesemer,et al.  Paxos made live: an engineering perspective , 2007, PODC '07.

[183]  Barbara Klein,et al.  An Introduction to IMS: Your Complete Guide to IBM Information Management System , 2011 .

[184]  Erik Brynjolfsson,et al.  Big data: the management revolution. , 2012, Harvard business review.

[185]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1997, SPAA '97.

[186]  Andrew C. Myers,et al.  Warranties for Faster Strong Consistency , 2014, NSDI.

[187]  Carlos Guestrin,et al.  GraphChi-DB: Simple Design for a Scalable Graph Database System - on Just a PC , 2014, ArXiv.

[188]  Jun Rao,et al.  Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore , 2011, Proc. VLDB Endow..