Developing Flexible Database Replication Protocols How to Integrate
Developing Flexible Database Replication Protocols: How to Integrate SI Replicas with Several Data Consistency Levels? J. E. Armendáriz-Íñigo, Íñigo F. D. Muñoz-Escoí {armendariz, fmunyoz}@iti. upv. es Instituto Tecnológico de Informática, Valencia, Spain J. R. Juárez-Rodríguez, J. R. González de Mendívil, J. R. Garitagoitia {jr. juarez, mendivil, joserra}@unavarra. es Universidad Pública de Navarra, Pamplona, Spain CIDR'07
Database Replication - What is database replication? - Why database replication? * High Availability Concert Ticket * Performance Concert Ticket - Does database replication come “for free”? CIDR'07 2
Data Consistency Bank Database Account Balance: $1000 Give me $1000 Cash Withdrawal Account Balance: $0 Bill Give me $800 Account Balance: $200 CIDR'07 Cash Withdrawal Account Balance: $? ? ? Lucy 3
Data Consistency Levels Featured by Replication Protocols n n Replication Protocols order transactions by way of the total-order message delivery featured by Group Communication Systems. If we have DBMS replicas with serializable transaction isolation level: ¨ One Copy Serializability (1 CS): n n n The strongest correctness criterion. The interleaved execution of a transaction is equivalent to a serial execution in a centralized setting. If we have SI DBMS replicas: ¨ ¨ It is not straightforward to see the “latest” version. Generalized Snapshot Isolation n ¨ Transactions may use an older snapshot instead of the latest one of SI (i. e. the one of the delegate replica). One Copy Snapshot Isolation (1 CSI): n Transactions must remain block for reading from the latest snapshot version in a replicated environment. ¨ n CIDR'07 Sending a total order message at the beginning of the transaction. It looses the advantage of conventional SI where read operations never block. 4
k-Bound GSI n Our aim is to define a function that measures the distance between ¨ ¨ ¨ The start of the transaction (T. start) T. start The delivery of the start message (T. begin) T. begin d(T. start, T. begin) < k n n n k > 0: 0 Bound vakues for GSI level k = 0: 0 SI level k = -1: -1 Serializable level k = : GSI level. In order to define such distance we have multiple possibilities: ¨ CIDR'07 Time, overall PC-WS –even not colliding–, number of colliding items in each writeset, number of times an item. 5
Developing Flexible Database Replication Protocols: How to Integrate SI Replicas with Several Data Consistency Levels? J. E. Armendáriz-Íñigo, Íñigo F. D. Muñoz-Escoí {armendariz, fmunyoz}@iti. upv. es Instituto Tecnológico de Informática, Valencia, Spain J. R. Juárez-Rodríguez, J. R. González de Mendívil, J. R. Garitagoitia {jr. juarez, mendivil, joserra}@unavarra. es Universidad Pública de Navarra, Pamplona, Spain CIDR'07
- Slides: 6