Towards Fast Invariant Preservation in Geo-replicated Systems
Résumé
Today's global services and applications are expected to be highly available, scale to an unprecedented number of clients, and offer reliable, low-latency operations. This can be achieved through geo-replication, particularly when data consistency is relaxed. There are, however, applications whose data must obey global invariants at all times. Strong consistency protocols easily address this issue, but require global coordination among replicas and inevitably degrade application throughput and latency.While coordination is an inherent requirement for maintaining global application invariants, there are instances where coordination on a per operation basis can be avoided. In particular, it has been shown that either moving coordination outside the critical path for executing operations, or having one coordination round for multiple operations, are both effective ways to maintain global invariants and avoid most of the penalties of coordination. However, current georeplication protocols still have not taken advantage of these observations.In this paper, we review the design space of current solutions for building geo-replicated applications and present our guiding vision towards a general technique for providing global application invariants under eventual consistency, as a much cheaper alternative to strong consistency.