Apache has announced the release of Cassandra 1.0.0, the first major milestone of the distributed column-based data store coming with data compression and several performance improvements and optimizations.
Cassandra, a top open source Apache project, is a scalable database management system built on the distributed nature underlying Amazon’s Dynamo and Google’s BigTable column-based data model. Cassandra was initially developed by Facebook who open sourced it in 2008 and it has been under development ever since. Apache recently announced their first major milestone, Cassandra 1.0.0, with a number of new features, improvements and bug fixes.
One of the main features requested was compression. Cassandra 1.0 supports data compression per ColumnFamily which is a container for columns similar to a table in a traditional relational DB. The compacting process runs in the background, having no negative impact on the node’s response time. Compression has reduced the space occupied by data by 2 to 4 times, resulting in indirect 25-35% performance improvement on reads and 5-10% performance improvement on writes, according to Pavel Yaskevich.
Performance has seen a major improvement from Cassandra 0.6 to 1.0, according to Jonathan Ellis, Apache VP of Apache Cassandra Project: “Compared to the current release this time in 2010, we’ve increased our write performance a respectable 40%. But the real area we wanted to focus on improving was read performance, which we succeeded in increasing a phenomenal 400%!”
Other improvements include:
Improvements to memory management through off-heap caches, arena allocation and automatic self-tuning, for less GC pauses and more predictable performances. (Details)
Better disk-space management: better control of the space taken by commit logs and immediate deletion of obsolete data files.
New optional leveled compaction strategy with more predictable performance and fixed SStable size (Details).
Improved hinted handoffs, leading to less need for read repair for better read performances.
Lots of improvements to performance (details), CQL, repair, easier operation, etc.
Cassandra is currently in use at Cisco, Digg, Facebook, Rackspace, Reddit, Twitter, and other companies, the largest production cluster having over 100 TB of data in over 150 machines.