|M.Sc Student||Licher Roni|
|Subject||Hardening Cassandra Against Byzantine Failures|
|Department||Department of Computer Science||Supervisor||Professor Roy Friedman|
|Full Thesis text|
With the continuous increase in the amount of published information, a variety of data-stores have been developed. These aspire to support high-availability, scalability, low-latency operations, fault-tolerance and more. While part of these preserve traditional strong consistency semantics, some are willing to relax this requirement in order to achieve better performance. The data models have been divided as well into multiple categories, in favor of better compliance with the applications needs.
One of these data-stores is Cassandra, which supports flexible consistency semantics over a wide-column data access model and provides almost linear scale-out performance. It was developed by Facebook, combining Google's BigTable data model with Amazon's Dynamo distributed structure. Cassandra is a highly popular distributed data-store, it is a top-level Apache project, used by more than 1,500 companies.
In our work, we present an analysis of Cassandra vulnerabilities and propose protocols for hardening Cassandra against Byzantine failures, in which some nodes in the system may act arbitrarily, including in a malicious manner. We examine several alternative design choices and compare between them both qualitatively and empirically by using the Yahoo! Cloud Serving Benchmark (YCSB) performance benchmark. Our work includes incremental performance analysis for our algorithmic and cryptographic adjustments, supporting our design choices. We report on our findings and insights and draw some conclusions for future work.