Correctness conditions are given which describe some of the properties exhibited by highly available distributed database systems such as the SHARD (System for Highly Available Replicated DAta) system currently being developed at computer Corp. of America. This system allows a database application to continue operation in the face of communication failures, including network partitions. A penalty is paid for this extra availability: the usual correctness conditions, serializability of transactions and preservation of integrity constraints, are not guaranteed. However, it is still possible to make interesting claims about the behavior of the system. The kinds of claims which can be proved include bounds on the costs of violation of integrity constraints, and fairness guarantees. In contrast to serializability''s all-or-nothing character, this work has a "continuous" flavor: small changes in available information lead to small perturbations in correctness conditions. This work is novel because there has been very little previous success in stating interesting properties which are guaranteed by nonserializable systems.
Recommendations
Highly available transactions: virtues and limitations
To minimize network latency and remain online during server failures and network partitions, many modern distributed data storage systems eschew transactional functionality, which provides strong semantic guarantees for groups of multiple operations over ...
Low-latency multi-datacenter databases using replicated commit
Web service providers have been using NoSQL datastores to provide scalability and availability for globally distributed data at the cost of sacrificing transactional guarantees. Recently, major web service providers like Google have moved towards ...
