Currently, Transactional Causal Consistency (TCC) has succeeded in removing some anomalies discovered in eventual consistency, diminishing the synchronization overhead consumed by strong consistency, and advocating interactive read-write transactions. However, the popular design in maximizing snapshot time for data freshness weighs against read-write interaction especially under read heavy overloads. Moreover, lower end-user latency and higher throughput in reading becomes paramount desiderata in deploying web services such as social networks among many data-centers. To this purpose, this article proposes earlier snapshot time and client-side local data-center cache for read-heavy transaction to boost lower response time and higher throughput. By the former, our new causal dependencies tracking mechanism can precisely initialize transactions to get the version values. For the latter, a large number of remote collections are eliminated since non-replica data is cached in the local data center. On the other hand, our system benefits from partial replication and one dependency-tracked timestamp to boost resource efficiency and scalability. Practically, our performance evaluation reveals that our design garners 6.73x lower response time and 1.76x higher throughput than the conventional maximized coordinating snapshot.
Read full abstract