Cloud computing is a model of distributed systems. This system allows users to access virtual resources including the processing power, storage, applications, etc. Storage as a Service (SaaS) is one of the cloud computing services. Cloud storage systems provide this service for the end-users, and deliver data availability and durability as well as global accessibility throughout the Internet. High data availability and scalability are very crucial criteria for the end-users in cloud storage systems. To achieve them, we need replication in these systems. However, the replication brings about asynchronization of data among replicas in different cloud data-centers. It reduces the performance of the cloud storage systems as well. Therefore, replication is one of the crucial challenges in cloud storage systems. These systems need to ensure that the data are synchronized among different replicas by implementing consistency policies. In this paper, we present the Strict Timed Causal Consistency (STCC) as a hybrid consistency model which can be considered as an extension to the cloud computing. This consistency model has two components: client-side, and server-side. At the client-side, this model supports monotonic read, monotonic write, read your write, and write follow read consistencies. At the server-side, it supports the Timed Causal Consistency (TCC) as well. Additionally, it is stronger than the client-centric and is more flexible than the data-centric approaches. In spite of partition tolerance, our proposed method guarantees the consistency and satisfies data availability. Cassandra is a NoSQL database with high scalability and availability. Cassandra comes with multiple consistency levels as a service such as ONE, ALL, QUORUM, etc. We have examined the proposed approach with respect to different consistency levels of Cassandra and Causal Consistency (CC). Yahoo Cloud Serving Benchmark (YCSB) consists of a number of workloads which are used to evaluate our proposed method. We have executed different workloads on the Cassandra clusters and with respect to which we have made a comparison between the performance of our proposed method and the four other different consistency levels in Cassandra. The experimental results based on the comparison between the proposed method and ONE, ALL, QUORUM, as well as the CC consistencies, on a Cassandra cluster with 24 nodes, testify that on average our approach has reduced the stale read rate by 24% on workload-A, and on workload-B by 25%. Also, the system throughput with respect to workload-A has increased by more than 20%. Besides, when we applied our proposed STCC on workload-B the system throughput increased by almost 35%.
Read full abstract