Optimistic transactional active replication
Abstract
Critical database applications require 2-safe replication between at least two sites for disaster-tolerant services. At the same time, they must provide consistent and low-latency results to their clients in normal cases. In this paper, we propose Optimistic Transactional Active Replication (OTAR), which replicates the transaction logs with low latency and provides a consistent view to database applications. The latency of our replication is lower than Passive Replication, and guarantees the serializability of transaction isolation levels that cannot be supported by Active Replication. For our replication, each client sends a transaction request to all replicas and all of the replicas execute the request and optimistically return the result of the transaction to the client. Each replica generates a causality history of the transaction, sent to the client with the result. With the causality histories, the client can make sure that the requested transaction was executed in the same order at all of the replicas and eventually commit it. If the client cannot validate the order, then the client waits for the pessimistic result of the transaction from the replicas. This paper describes the algorithm and its properties. © 2008 ACM.