- Write-scaling - adding more nodes increases write capacity
- No single point of failure
- configurable redundancy
- Key range scans
Key range scans are really important because they allow applications to do what users normally want to do:
- What emails did I receive this week
- Give me all the transactions for customer X in time range Y
Other distributed-hash-table database (e.g. Voldemort) don't do this. This makes it difficult to do such queries.
Conventional RDBMSs do range scans all the time, in fact many queries which return more than one row will be implemented as a range scan.
Cassandra is extremely promising, but still a little bit rough around the edges; I've only done a small amount of research so far, but already found several bugs.
I can't complain about the service though; the main developer(s) have always looked into any problems I've reported immediately.
I hope it continues and becomes something really good.