Skip to main content
Log in

Replication in Distributed Systems: Models, Methods, and Protocols

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

Data replication is used to enhance the reliability, availability, and throughput of database systems at a price of increased complexity and cost of data updates. In many cases, data storage systems that exploit replication use relaxed consistency criteria. This survey describes different replication schemes and discusses several consistency models, protocols, and techniques designed to support consistency in replicated systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.

Similar content being viewed by others

REFERENCES

  1. Tanenbaum, A.S. and van Steen, M., Distributed Systems: Principles and Paradigms, Prentice-Hall, 2006, 2nd ed.

    MATH  Google Scholar 

  2. Cheung, S.Y., Casavant, T.L., Singhal, M., Ahamad, M., and Ammar, M.H., Replicated data management in distributed systems, 1994.

  3. Jiménez-Peris, R., Patiño-Martínez, M., Kemme, B., and Alonso, G., How to select a replication protocol according to scalability, availability, and communication overhead, SRDS, 2001.

  4. Anderson, T., Breitbart, Yu., Korth, H.F., and Wool, A., Replication, consistency, and practicality: Are these mutually exclusive?, SIGMOD Rec., 1998, vol. 27, no. 2, pp. 484–495.

    Article  Google Scholar 

  5. Corbett, J.C., Dean, J., Epstein, M., Fikes, A., Frost, Ch., Furman, J.J., Ghemawat, S., Gubarev, A., Heiser, Ch., Hochschild, P., Hsieh, W., Kanthak, S., Kogan, E., Li, H., Lloyd, A., Melnik, S., Mwaura, D., Nagle, D., Quinlan, S., Rao, R., Rolig, L., Yasushi, S., Szymaniak, M., Taylor, Ch., Wang, R., and Woodford, D., Spanner: Google’s globally-distributed database, ACM Trans. Comput. Syst., 2013, vol. 31, no. 3, pp. 8:1–8:22.

  6. Chandy, K.M. and Lamport, L., Distributed snapshots: Determining global states of distributed systems, ACM Trans. Comput. Syst., 1985, vol. 3, no. 1, pp. 63–75. https://doi.org/10.1145/214451.214456

    Article  Google Scholar 

  7. Bailis, P. and Ghodsi, A., Eventual consistency today: Limitations, extensions, and beyond, Queue, 2013, vol. 11, no. 3, pp. 20:20–20:32.

  8. Zhang, I., Sharma, N.Kr., Szekeres, A., Krishnamurthy, A., and Ports, D.R.K., Building consistent transactions with inconsistent replication, Proc. 25th Symp. Operating Systems Principles (SOSP), New York, 2015, pp. 263–278.

  9. Oki, B.M. and Liskov, B.H., Viewstamped replication: A new primary copy method to support highly-available distributed systems, Proc. 7th Annu. ACM Symp. Principles of Distributed Computing (PODC), New York, 1988, pp. 8–17.

  10. Mansouri, N., Dastghaibyfard, G.H., and Mansouri, E., Combination of data replication and scheduling algorithm for improving data availability in data grids, J. Network Comput. Appl., 2013, vol. 36, no. 2, pp. 711–722.

    Article  Google Scholar 

  11. Elmirghani, J.M.H. and El-Gorashi, T.E.H., Data replication schemes for a distributed storage scenario, IEEE Comput. Soc., 2010.

    Google Scholar 

  12. Cibej, U., Slivnik, B., and Robic, B., The complexity of static data replication in data grids, Parallel Comput., 2005, vol. 31, no. 8, pp. 900–912.

    Article  MathSciNet  Google Scholar 

  13. Chervenak, A., Deelman, E., Foster, I., Guy, L., Hoschek, W., Iamnitchi, A., Kesselman, C., Kunszt, P., Ripeanu, M., Schwartzkopf, V., et al., Giggle: A framework for constructing scalable replica location services, Proc. ACM/IEEE Conf. Supercomputing, 2002, pp. 1–17.

  14. CitusDB official website. http://www.citusdata.com.

  15. PostgreSQL official website. http://www.postgresql.org.

  16. MySQL official website. http://www.mysql.com.

  17. Banker, K., MongoDB in Action, Manning, 2011.

    Google Scholar 

  18. CockroachDB official website. http://www.cockroachlabs.com.

  19. Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., and Gruber, R.E., Bigtable: A distributed storage system for structured data, ACM Trans. Comput. Syst., 2008, vol. 26, no. 2, pp. 4:1–4:26.

  20. Lakshman, A. and Malik, P., Cassandra: A decentralized structured storage system, SIGOPS Oper. Syst. Rev., 2010, vol. 44, no. 2, pp. 35–40.

    Article  Google Scholar 

  21. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., and Vogels, W., Dynamo: Amazon’s highly available key-value store, SIGOPS Oper. Syst. Rev., 2007, vol. 41, no. 6, pp. 205–220.

    Article  Google Scholar 

  22. Martins, V., Pacitti, E., and Valduriez, P., Survey of data replication in P2P systems, Research report RR-6083, INRIA, 2006.

  23. Lamport, L., Paxos made simple, ACM SIGACT News, vol. 32.

  24. van Renesse, R. and Altinbuken, D., Paxos made moderately complex, ACM Comput. Surv., 2015, vol. 47, no. 3, pp. 42:1–42:36.

  25. Gifford, D.K., Information storage in a decentralized computer system, PhD Thesis, Stanford, 1981.

  26. Lloyd, W., Freedman, M.J., Kaminsky, M., and Andersen, D.G., Don’t settle for eventual: Scalable causal consistency for wide-area storage with cops, Proc. 23rd ACM Symp. Operating Systems Principles (SOSP), New York, 2011, pp. 401–416.

  27. Zhu, Y. and Wang, J., Client-centric consistency formalization and verification for system with large-scale distributed data storage, Future Gener. Comput. Syst., 2010, vol. 26, no. 8, pp. 1180–1188.

    Article  Google Scholar 

  28. Lamport, L., Readings in Computer Architecture, Chapter “How to Make a Mulitprocessor Computer That Correctly Executes Multiprocess Programs,” San Francisco: Morgan Kaufmann, 2000, pp. 574–575.

  29. Petersen, K., Spreitzer, M.J., Terry, D.B., Theimer, M.M., and Demers, A.J., Flexible update propagation for weakly consistent replication, SIGOPS Oper. Syst. Rev., 1997, vol. 31, no. 5, pp. 288–301.

    Article  Google Scholar 

  30. Petersen, K., Spreitzer, M.J., Theimer, M.M., Welch, B.B., Terry, D.B., and Demers, A.J., Session guarantees for weakly consistent replicated data, Proc. 3rd Int. Conf. Parallel and Distributed Information Systems, Austin, USA, 1994.

  31. Bernstein, Ph.A., and Das, S., Rethinking eventual consistency, Proc. ACM SIGMOD Int. Conf. Management of Data, New York, 2013, pp. 923–928. https://doi.org/10.1145/2463676.2465339

    Book  Google Scholar 

  32. Kleppmann, M., Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, O’Reilly, 2016.

    Google Scholar 

  33. Wiesmann, M., Pedone, F., Schiper, A., Kemme, B., and Alonso, G., Understanding replication in databases and distributed systems, Proc. 20th Int. Conf. Distributed Computing Systems (ICDCS), Washington, 2000.

  34. Daniel, A. and Nakanishi, T., Performance evaluation of a two-phase commit based protocol for DDBS, Proc. ACM, 1982, pp. 247–255.

  35. Gray, J., Helland, P., O’Neil, P., and Shasha, D., The dangers of replication and a solution, SIGMOD Rec., 1996, vol. 25, no. 2, pp. 173–182.

    Article  Google Scholar 

  36. Budhiraja, N., Marzullo, K., Schneider, F.B., and Toueg, S., Distributed Systems, Chapter “The Primary-Backup Approach,” New York: ACM Press/Addison-Wesley, 1993, pp. 199–216.

  37. Postgres Professional website, Streaming replication. http://postgrespro.ru/docs/postgrespro/11/warm-standby.

  38. Oracle official website. http://www.oracle.com.

  39. Rane, D. and Dhore, M., Overview of data replication strategies in various mobile environment, 2016.

  40. Thomas, R.H., A majority consensus approach to concurrency control for multiple copy databases, ACM Trans. Database Syst., 1979, vol. 4, no. 2, pp. 180–209.

    Article  Google Scholar 

  41. Glendenning, L., Beschastnikh, I., Krishnamurthy, A., and Anderson, T., Scalable consistency in scatter, Proc. 23rd ACM Symp. Operating Systems Principles (SOSP), New York, 2011, pp. 15–28.

  42. Baker, J., Bond, C., Corbett, J.C., Furman, J.J., Khorlin, S., Larson, J., Leon, J.-M., Li, Y., Lloyd, A., and Yushprakh, V., Megastore: Providing scalable, highly available storage for interactive services, CIDR, 2011.

    Google Scholar 

  43. Lamport, L., The part-time parliament, ACM Trans. Comput. Syst., 1998, vol. 16, no. 2, pp. 133–169.

    Article  Google Scholar 

  44. Lamport, L. and Massa, M., Cheap Paxos, Proc. Int. Conf. Dependable Systems and Networks (DSN), Washington, 2004.

  45. Ongaro, D. and Ousterhout, J., In search of an understandable consensus algorithm, Proc. USENIX Annual Technical Conf. (ATC), Berkeley, 2014, pp. 305–320.

  46. Raft consensus algorithm website. https://raft.github.io.

  47. Woos, D., Wilcox, J.R., Anton, S., Tatlock, Z., Ernst, M.D., and Anderson, T., Planning for change in a formal verification of the Raft consensus protocol, Proc. 5th ACM SIGPLAN Conf. Certified Programs and Proofs (CPP), New York, 2016, pp. 154–165.

  48. Lotfy, A.E., Saleh, A.I., El-Ghareeb, H.A., and Ali, H.A., A middle layer solution to support ACID properties for NoSQL databases, J. King Saud Univ. Comput. Inf. Sci., 2016, vol. 28, no. 1, pp. 133–145.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to A. R. Nasibullin or B. A. Novikov.

Additional information

Translated by Yu. Kornienko

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Nasibullin, A.R., Novikov, B.A. Replication in Distributed Systems: Models, Methods, and Protocols. Program Comput Soft 46, 341–350 (2020). https://doi.org/10.1134/S0361768820050060

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768820050060

Navigation