  Geo-replication poses an inherent trade-off between low latency, high
availability and strong consistency. While NoSQL databases favor low latency
and high availability, relaxing consistency, more recent cloud databases favor
strong consistency and ease of programming, while still providing high
scalability. In this paper, we present Antidote SQL, a database system that
allows application developers to relax SQL consistency when possible. Unlike
NoSQL databases, our approach enforces primary key, foreign key and check SQL
constraints even under relaxed consistency, which is sufficient for
guaranteeing the correctness of many applications. To this end, we defined
concurrency semantics for SQL constraints under relaxed consistency and show
how to implement such semantics efficiently. For applications that require
strict SQL consistency, Antidote SQL provides support for such semantics at the
cost of requiring coordination among replicas.
