Cassandra 1.1 was just released with some useful improvements over 1.0. We’ve been describing these as 1.1 was developed, but it’s useful to list them all in one place:
- Cassandra 1.1 supports CQL3, with support for compound keys and wide rows. Paul explains the nuts and bolts of upgrading from CQL2 (which remains the default for now).
- Caching has been completely updated to dramatically simplify tuning cache sizes. Just tell Cassandra how much total memory to use and it will allocate it to your tables appropriately!
- Support for mixing SSDs and magnetic storage, allocated by table.
- Concurrent schema changes allow applications to create and destroy tables at will, with no schema locking required.
- Row-level isolation means the Cassandra storage engine supports Atomicity, Isolation, and Durablity out of ACID. Readers always see either an old version of a row, or the newest, never partially updated rows.
- Live traffic sampling allows you to test drive performance tuning changes such as compaction strategy or compression against live traffic without risking the stability of your production, client-facing nodes.
- The BulkOutputFormat is a more-performant alternative to the old ColumnFamilyOutputFormat for Hadoop jobs.
Miscellaneous:
- Hadoop can now handle Cassandra wide rows by passing true to the new widerows parameter of setInputColumnFamily. The WordCount example has been updated to cover this.
- Compression is enabled by default (for newly created tables).
- We now ship the stress load-testing tool in binary builds
- SerializingCacheProvidor is now supported on Windows.