For me, it's best to now both and use both where each is strong. that way you get the most out of cassandra.

I am bias in favor of thrift, since I've been contributing to hector and ported hector to C# over the summer.

On Tue, Dec 17, 2013 at 4:20 PM, Edward Capriolo <> wrote:
Also you are going to encounter code that uses thirft/hector thrift/asyanax and if you work on a codebase that was designed before CQL you still need to support it. There are some concepts people have employed in those tools like VirtualKeyspaces etc that have not made their way into CQL.

On Tue, Dec 17, 2013 at 9:00 AM, Peter Lin <> wrote:

That's just mis-information by people that don't understand thrift.

The thrift drivers are still much more mature than the java drivers right now. DataStax has stated on multiple occasions thrift isn't going any where. CQL is fine if people only want to use SQL-like language. Search the cassandra mailing list and you'll see this topic comes up regularly.

My bias perspective is "use thrift" to use 100% of the features that Cassandra provides, or use pure CQL and limit yourself to 90%.

The main downside of using pure CQL (ie no thrift) is that once you've defined a default type for column values, you can't stick arbitrary data into dynamic columns. Cassandra will tell you when you try to insert a Date when the default value type is int. Basically, it will throw an exception. In contrast, if you use thrift, you can insert what ever type you want and have total control over what goes into dynamic columns.

For me, the biggest value of dynamic columns + data types is that I can insert what ever I want into dynamic columns and still have the safety net of knowing the type. A lot of people are afraid of thrift and don't want to dive deep, which is fine. I prefer to understand things at a deep level, and use a tool to the fullest extent.


On Tue, Dec 17, 2013 at 8:40 AM, Daneel Yaitskov <> wrote:

I've read some articles about Cassandra and I noticed an opinion that Thrift protocol
has some flaws. Thrift should go away in the nearest futures.

But I cannot find any reference answering the question why is it so bad?

Daneel S. Yaitskov