Hacker News new | ask | show | jobs
by bkeroack 3211 days ago
CQL is the best and worst thing about Cassandra. The pro is that obviously it is very similar to SQL so it's easy to understand, the con is that C* is nothing like a RDBMS so you can be easily fooled into doing dumb/inefficient things with the nice CQL syntax.

I think that Cassandra is best thought of as a fancy K/V store that lets extra data ride along with query results. Don't think of rows/columns at first, it will just screw you up in your modeling. Also keep in mind that the cost for very fast queries is a lot of extra time spent figuring out how to model new data access patterns in the future.

2 comments

I'd say it's absolutely the worst. For about ten seconds it seems like it's a nice higher level abstraction, but then you realize how that abstraction is hiding exactly what you care about: how your data maps to the underlying storage. Making it look like SQL was also a huge mistake because it gives the impression of a certain level of expressivity that it by no means has.
The clustering provides a ton of speed improvements if your data model can keep partition sizes small - especially if you use spinning disks, cassandras storage engine will make reading adjacent rows in a partition nearly free (especially with modern OS behavior like readahead).