Cloud storage solutions promise high scalability and low cost. Ex-
isting solutions, however, differ in the degree of consistency they
provide. Our experience using such systems indicates that there is
a non-trivial trade-off between cost, consistency and availability.
High consistency implies high cost per transaction and, in some
situations, reduced availability. Low consistency is cheaper but it
might result in higher operational cost because of, e.g., overselling
of products in a Web shop.
In this paper, we present a new transaction paradigm, that not
only allows designers to deﬁne the consistency guarantees on the
data instead at the transaction level, but also allows to automatically
switch consistency guarantees at runtime. We present a number of
techniques that let the system dynamically adapt the consistency
level by monitoring the data and/or gathering temporal statistics of
the data. We demonstrate the feasibility and potential of the ideas
through extensive experiments on a ﬁrst prototype implemented on
Amazon’s S3 and running the TPC-W benchmark. Our experi-
ments indicate that the adaptive strategies presented in the paper
result in a signiﬁcant reduction in response time and costs includ-
ing the cost penalties of inconsistencies.