Skip to content

Comment on Almost every Cassandra feature has some surprising behavior

Comments

OP here. Surprised to find this article on the HN front page, a month after we originally posted it.

Glad to answer questions. Ask me anything!

So are you still running Cassandra? And why rely on counters for analytics when it's wildly known to be a bad idea.

We are still running Cassandra. It's used in a more restricted way than we originally thought we'd use it, but we're following the recommendations we wrote up in linked article.

We don't use counters -- at all. (This is discussed in one of the sections.) Counters are one of the few Cassandra features that can offer you some form of value aggregation inside the data store, but we decided they weren't worth it, due to the quirks.

What do you mean by, "when it's wildly known to be a bad idea?" What are you referencing? Lots of people use counters in Redis and MongoDB for analytics, for example.

Counters in Cassandra seem to have been politically driven (something about the design being influenced by Twitter), and given the fact that Cassandra values availability over all us, best effort counters at best. So you can't trust them to be 100% accurate (or so I've heard). This is another case of "to run Cassandra you really have to know Cassandra" as Cassandra counters provide a different set of guarantees than Redis (which is single instance) and Mongo (which chooses consistency).

Are you using Cassandra for analysis? What is your analysis workflow like?

We use Cassandra for data grouping and ordering. Find our other blog post on "Mage", our time series engine, for more info.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.