Cassandra Wiki
Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. Cassandra brings together the distributed systems technologies from Dynamo and the data model from Google's BigTable. Like Dynamo, Cassandra is eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based data model richer than typical key/value systems.
Cassandra was open sourced by Facebook in 2008, where it was designed by Avinash Lakshman (one of the authors of Amazon's Dynamo) and Prashant Malik ( Facebook Engineer ). In a lot of ways you can think of Cassandra as Dynamo 2.0 or a marriage of Dynamo and BigTable. Cassandra is in production use at Facebook but is still under heavy development.
General Information
- Official Cassandra Website (download, bug-tracking, mailing-lists, etc)
- Articles and Presentations about Cassandra.
- Architecture Overview
- Cassandra Limitations (where Cassandra is not a good fit)
- FAQ
- Mailing Lists
- Users: user@cassandra.apache.org (subscribe) (archives) (incubator archives)
- Developers: dev@cassandra.apache.org (subscribe) (archives) (incubator archives)
- Commits: commits@cassandra.apache.org (subscribe)
For Application Developers
- Datastax's Cassandra documentation
- Getting Started (aaron morton - working on this)
- Cassandra Data model
- Client Software
- Performance Tuning
- Memtable Thresholds
- Large data set considerations
- Integration with other projects / products including Hadoop
For Administrators
- Installing Cassandra
- Creating a multi-node cluster
- Cassandra on Windows
- Configuration on Rackspace or Amazon Web Services
- Cassandra Hardware
- Embedding
- Running Cassandra
- Operations Guide
- Configuration (hani elabed - working on this)
- Administration Tools
- Monitoring
Architecture
- Architecture Overview
- Commit Log during writes
- Memtables, SSTables and Compaction
- Hinted Handoff during writes
- Read Repair during reads
- Distributed Deletes and Tombstones
- Anti-Entropy during repair
- Gossip between nodes
For Cassandra Developers
- How To Build
- CLI Design
- How To Contribute?
- How To Commit?
- How To Release (Note: currently a work in progress) (Note: only relevant to Cassandra Committers)
Related Information
- Thrift, used by Cassandra for client access
- RelatedProjects: Projects using or extending Cassandra
This wiki is powered by MoinMoin. With the exception of a few immutable pages, anyone can edit it. Try SyntaxReference if you need help on wiki markup, and FindPage or SiteNavigation to search for existing pages before creating a new one. If you aren't sure where to begin, checkout RecentChanges to see what others have been working on, or RandomPage if you are feeling lucky.
Other Languages
Suggestions
If you have any suggestions for additions or changes please add them below together with your name