Many options on your list are not TSDBs, like Aerospike, Elasticsearch, Cassandra, Kudu, GridGain/Ignite. EventQL and Riak are obsolete. Apache Apex is a stream processing framework. Many of the others are just extensions to Prometheus built-in mini-storage or offer time-series indexing on top of existing databases.
I disagree, but even if that was the case, not all of them perform well. For example, we could've used Cassandra for our use case at my previous employer but the lack of push-down aggregations (at the time, not sure if they're supported now) would've been terrible for our top-K aggregate queries.
Cassandra is not a distributed relational column-oriented database, so yes, it will be bad at OLAP queries.
Cassandra is a "wide-column" or "column-family" database, which is unfortunately confusing industry jargon but better referred to as an advanced/nested key-value store. It comes from the original Dynamo whitepaper, along with similar systems like HBase, BigTable, DynamoDB, Azure Table Storage, etc. They can sometimes handle time-series queries with good data modeling because of fast prefix scans but the lack of a real query language makes them a bad choice for analytics scenarios.
Two capabilities that are important in my work are roll-ups (reducing resolution of data) and fast bulk deletes of old data.
If you just want rollups and don't care about every row, then look at Druid (or imply.io for a startup making it easier).
All these systems can delete old data very quick as they just delete entire compressed partition files.
I think Druid has come the closest to the most ideal system for the requirements I’ve had to deal with, but haven’t used it yet.
Thanks, by the way! This helps a lot.
(I am a Druid committer.)