The cost of increased transactional correctness and durability in distributed databases

In this paper we investigate the problem of providing durability for Web Service transactions in the presence of system failures. We show that the popular lazy replica update propagation method is vulnerable to loss of transactional updates in the presence of hardware failures. We propose an extension to the lazy update propagation approach to reduce the risk of data loss. Our approach is based on the “buddy” system, requiring that updates are preserved synchronously in two replicas, called buddies. The rest of the replicas are updated using lazy update propagation protocols. Our method provides a balance between durability (i.e., effects of the transaction are preserved even if the server, executing the transaction, crashes before the update can be propagated to the other replicas) and efficiency (i.e., our approach requires a synchronous update between two replicas only, adding a minimal overhead to the lazy replication protocol). Moreover, we show that our method of selecting the buddies ensures correct execution and can be easily extended to balance workload, and reduce latency observable by the client.

[1]  Henry F. Korth,et al.  Replication and consistency: being lazy helps sometimes , 1997, PODS.

[2]  Patrick Valduriez,et al.  Principles of Distributed Database Systems, Third Edition , 2011 .

[3]  Alan Fekete,et al.  Allocating isolation levels to transactions , 2005, PODS '05.

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

[5]  Fernando Gustavo Tinetti,et al.  Principles of distributed database systems, third edition , 2014 .

[6]  Ricardo Jiménez-Peris,et al.  Middleware based data replication providing snapshot isolation , 2005, SIGMOD '05.

[7]  Darrell D. E. Long,et al.  Estimating the Reliability of Regeneration-Based Replica Control Protocols , 1989, IEEE Trans. Computers.

[8]  Alan Fekete,et al.  Serializable snapshot isolation for replicated databases in high-update scenarios , 2011, Proc. VLDB Endow..

[9]  Willy Zwaenepoel,et al.  Scalable Content-aware Request Distribution in Cluster-based Network Servers , 2000, USENIX Annual Technical Conference, General Track.

[10]  Sushil Jajodia,et al.  A Hybrid Replica Control Algorithm Combining Static and Dynamic Voting , 1989, IEEE Trans. Knowl. Data Eng..

[11]  Kenneth Salem,et al.  Lazy database replication with ordering guarantees , 2004, Proceedings. 20th International Conference on Data Engineering.

[12]  Luis Ir,et al.  Lazy Recovery in a Hybrid Database Replication Protocol , 2003 .

[13]  Michael G. Norman,et al.  Much ado about shared-nothing , 1996, SGMD.

[14]  Mon-Yen Luo,et al.  Constructing zero-loss Web services , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[15]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .