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.
Similar content being viewed by others
REFERENCES
Tanenbaum, A.S. and van Steen, M., Distributed Systems: Principles and Paradigms, Prentice-Hall, 2006, 2nd ed.
Cheung, S.Y., Casavant, T.L., Singhal, M., Ahamad, M., and Ammar, M.H., Replicated data management in distributed systems, 1994.
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.
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.
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.
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
Bailis, P. and Ghodsi, A., Eventual consistency today: Limitations, extensions, and beyond, Queue, 2013, vol. 11, no. 3, pp. 20:20–20:32.
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.
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.
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.
Elmirghani, J.M.H. and El-Gorashi, T.E.H., Data replication schemes for a distributed storage scenario, IEEE Comput. Soc., 2010.
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.
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.
CitusDB official website. http://www.citusdata.com.
PostgreSQL official website. http://www.postgresql.org.
MySQL official website. http://www.mysql.com.
Banker, K., MongoDB in Action, Manning, 2011.
CockroachDB official website. http://www.cockroachlabs.com.
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.
Lakshman, A. and Malik, P., Cassandra: A decentralized structured storage system, SIGOPS Oper. Syst. Rev., 2010, vol. 44, no. 2, pp. 35–40.
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.
Martins, V., Pacitti, E., and Valduriez, P., Survey of data replication in P2P systems, Research report RR-6083, INRIA, 2006.
Lamport, L., Paxos made simple, ACM SIGACT News, vol. 32.
van Renesse, R. and Altinbuken, D., Paxos made moderately complex, ACM Comput. Surv., 2015, vol. 47, no. 3, pp. 42:1–42:36.
Gifford, D.K., Information storage in a decentralized computer system, PhD Thesis, Stanford, 1981.
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.
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.
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.
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.
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.
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
Kleppmann, M., Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, O’Reilly, 2016.
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.
Daniel, A. and Nakanishi, T., Performance evaluation of a two-phase commit based protocol for DDBS, Proc. ACM, 1982, pp. 247–255.
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.
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.
Postgres Professional website, Streaming replication. http://postgrespro.ru/docs/postgrespro/11/warm-standby.
Oracle official website. http://www.oracle.com.
Rane, D. and Dhore, M., Overview of data replication strategies in various mobile environment, 2016.
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.
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.
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.
Lamport, L., The part-time parliament, ACM Trans. Comput. Syst., 1998, vol. 16, no. 2, pp. 133–169.
Lamport, L. and Massa, M., Cheap Paxos, Proc. Int. Conf. Dependable Systems and Networks (DSN), Washington, 2004.
Ongaro, D. and Ousterhout, J., In search of an understandable consensus algorithm, Proc. USENIX Annual Technical Conf. (ATC), Berkeley, 2014, pp. 305–320.
Raft consensus algorithm website. https://raft.github.io.
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.
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.
Author information
Authors and Affiliations
Corresponding authors
Additional information
Translated by Yu. Kornienko
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768820050060