Hacker News new | ask | show | jobs
by wccrawford 5445 days ago
They why did you say:

"Not only is Cassandra’s terminology confusing it’s downright misleading. Row, Column & Key all have existing semantics in the land of databases. To make matters worse, Cassandra’s definitions are not even orthogonal to the existing ones — they exist in a difficult state of quasi-synonymity."

You assumed that the RDB definition of those words was absolute, and didn't bother to question if a different kind of database would use them somewhat differently.

1 comments

You assumed that the RDB definition of those words was absolute...

I'm not the author, but I don't see how the portion you quoted requires an assumption that those definitions are absolute. The only thing one must accept is that those definitions are pervasive. That doesn't seem controversial, to me. When selecting the nomenclature, the makers of Cassandra could have made a practical decision not to create unnecessary confusion.

The Facebook guys who wrote Cassandra have heavily drawn its design and terminology from Google's Bigtable. By the way, Column Family (CF) in BT makes a lot more sense because the compression of data,as well as disk storage locality, is made on a per-CF basis. They have even filled a patent about this (http://bit.ly/ooop2s).

Oddly enough, BigTable's terminology seems fits more naturally in the classic concepts than Cassandra's. Maybe it's the result of Dynamo's design choices (DHT, etc) that got into the mix or new concepts like SuperColumn.

Only by inventing new words and causing worse confusion.