Cassandra - A Decentralized Structured Storage System
📜 Abstract
Cassandra is a distributed storage system for managing very large amounts of structured data spread out across many commodity servers, while providing highly available service with no single point of failure. Cassandra aims to run on top of an infrastructure of hundreds of nodes (possibly spread across different data centers). At this scale, small and large components fail continuously. The way Cassandra manages the persistent state in the face of these failures drives the reliability and scalability of the software systems relying on this service. While in many ways Cassandra resembles a database and shares many design and implementation strategies therewith, Cassandra does not support a full relational data model; instead, it provides clients with a simple data model that supports dynamic control over data layout and format. Cassandra system was designed to run on cheap commodity hardware and handle high write throughput while not sacrificing read efficiency.
✨ Summary
- The paper presents Cassandra as a decentralized, highly available structured-storage system designed for large clusters of commodity servers and continuous component failure. Its design combines consistent-hash-based partitioning, configurable replication, quorum-oriented reads and writes, gossip-based membership and failure detection, and a log-structured local persistence engine. (cs.cornell.edu)
- The system was developed at Facebook for Inbox Search and was already serving production traffic when Facebook open-sourced Cassandra in 2008. It subsequently entered the Apache Incubator in 2009 and graduated as an Apache top-level project on February 17, 2010. (engineering.fb.com)
- The documented architecture became the basis of the Apache Cassandra project and was adopted in industry deployments. The Apache Software Foundation reported early production use by organizations including Cisco WebEx, Digg, Facebook, Rackspace, Reddit, and Twitter; current Apache case studies list deployments at companies including Netflix, Uber, eBay, Discord, and Walmart. These records establish concrete industry adoption of the system described by the paper, but do not by themselves measure the paper’s causal influence on each deployment. (news.apache.org)
- The paper is also used as a foundational reference in later literature concerning NoSQL databases, distributed storage, replication, and large-scale data systems. (cir.nii.ac.jp)