Premium
An experimental study on tuning the consistency of NoSQL systems
Author(s) -
Huang Xiangdong,
Wang Jianmin,
Yu Philip S.,
Bai Jian,
Zhang Jinrui
Publication year - 2017
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.4129
Subject(s) - consistency (knowledge bases) , nosql , eventual consistency , consistency model , cache coherence , weak consistency , computer science , sequential consistency , strong consistency , distributed computing , queue , causal consistency , data consistency , scalability , database , computer network , mathematics , cpu cache , artificial intelligence , cache , statistics , estimator , cache algorithms
Summary The eventual consistency model has been widely adopted in NoSQL systems. By tolerating weak consistency, these systems attain high throughput and availability while sustaining side effects on user experience and developer friendliness. Trading off consistency from latency has been a common consensus. An important but widely ignored problem is how to control the consistency of an existing system without the necessity of modifying the system implementation. In this paper, we present a systematic study on the client‐centric consistency of a NoSQL system, Cassandra, and disclose how the consistency can be substantially enhanced by tuning the system configurations when users use partial quorum settings. We use session guarantee as the consistency model and analyze the root cause of consistency violation, testifying that the length of the write queue is a reasonable indicator for consistency quantification. For inconsistency mitigation, we show through extensive experiments how the consistency is affected by the read and write processes of the system, and how the consistency can be improved by tuning system configurations. In particular, we provide developers with recommended configurations by changing the write thread number and the fine‐grained quorum setting for enhanced consistency control. Because consistency anomalies do not occur uniformly, we discuss how to stabilize the consistency by analyzing system logs.