What's new in Cassandra 2.2
An overview of new features in Cassandra.
Cassandra 2.2 provides new features; performance, operational, and CQL3 improvements; and other notable changes.
New features
Apache Cassandra™ has a number of new features.
JSON in CQL3 |
JSON is a common format for storing documents. Cassandra 2.2 can insert and select JSON data. |
User-defined functions (UDFs) |
User-defined functions (UDFs) can be defined to apply a function to data stored in Cassandra. |
User-defined aggregates (UDAs) |
Using user-defined functions, custom aggregation functions can be stored in Cassandra. |
Role-based access control (RBAC) |
In addition to per-user access control, now roles can be defined for role-based access control. |
Native protocol v4 |
The native protocol for CQL is improved. |
Support for Windows |
Support for Windows 7, Windows 8, Windows Server 2008, and Windows Server 2012. See DataStax Cassandra 2.2 Windows Documentation. |
Performance improvements
Apache Cassandra™ has a number of performance improvements.
Fully Off-Heap Row Cache |
The row cache functionality is moved fully off-heap to improve memory usage. |
Direct ByteBuffer Decompression for Reads |
Memory maps the data and decompresses entirely off-heap, for great performance gains. |
Compressed commit log |
The commit log is compressed to save disk space. |
Operations improvements
Apache Cassandra™ has a number of operation improvements.
Improved Repair Concurrency/Parallelism |
Improved repair performance. |
Keeping SSTable Levels when Bootstrapping |
When replacing or bootstrapping a new node, keeps the source SSTable level to avoid doing excessive compaction after bootstrap. |
Marking SSTables as Repaired after Full Repair |
Ability to track repaired SSTables is improved. |
nodetool assassinate |
A last resort tool that forcefully removes a dead node without re-replicating any data. |
Startup Checks for Bad OS Warnings using Sigar |
Better startup checks. |
Examining Node State on Startup to Prevent Bad Upgrades |
Addition of state check on startup. |
nodetool gettraceprobability |
New nodetool option. |
CQL3 improvements
Apache Cassandra™ has a number of CQL3 improvements.
Support IN clause on any partition key column or clustering column |
Improves query conditional selection. |
Accept Dollar Quoted Strings |
Implement pg-style dollar syntax for string constants. |
Allow Mixing Token and Partition Key Restrictions |
Allows queries to include both token(k) and partition key k in restrictions. |
Support Indexing Key/Value Entries on Map Collections |
Improves ability to index on nested collections. |
CLEAR command in cqlsh |
CLEAR command in cqlsh to clear the screen. |
Allow count(*) and count(1) to be use as normal aggregation |
count() can now be used in aggregation. |
In cqlsh, fix timestamps before 1970 on Windows and always use UTC for timestamp display |
Change the display of timestamps in cqlsh to UTC. |
Other notable changes
Apache Cassandra™ has a number of other notable changes.
Removal of CQL2 |
CQL2 is deprecated and removed. CQL3 should be used to interact with Cassandra. |
Removal of cassandra-cli |
The cassandra-cli utility is deprecated and remains only for legacy installations. Use CQL3 to interact with Cassandra. |
OpsCenter support ended | OpsCenter no longer supports Cassandra 2.2 and later. |
Deprecation of sstable2json and json2sstable |
sstable2json and json2sstable are deprecated in Cassandra 2.2 and will be removed in Cassandra 3.0. |
Shortened SSTable File Path on Disk |
Shortened the SSTable filename to prevent Windows breakage. |
Incremental Repair is Now Default |
Incremental repair is recommended and now the default choice. |
Auth Changes |
Splits superuser permission and right to manage users, adds permissions for types and functions, and reintroduces DESCRIBE PERMISSION. |
DataStax AMI does not install Cassandra 2.2 and later |
You can install Cassandra 2.1 and earlier versions on Amazon EC2 using the DataStax AMI (Amazon Machine Image) as described in the AMI documentation for Cassandra 2.1. To install Cassandra 2.2 and later on Amazon EC2, use a trusted AMI for your platform and the appropriate install method for that platform. |