Based on an question I posted a while back I got the following answer (for something unrelated to this):
When we speak of "binary protocol", we talk about the protocol introduced > in Cassandra 1.2 that is an alternative to thrift for CQL3. It's a custom, > binary, protocol, that has not link to thrift whatsoever. > That protocol is defined by the document here: > > https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob_plain;f=doc/native_protocol_v1.spec;hb=HEAD So I guess my question still stands (although from this previous answer it looks like it is only for CQL). On Tue, Dec 17, 2013 at 2:15 PM, Peter Lin <[email protected]> wrote: > > thrift is binary protocol, it just happens to support multiple platforms. > DataStax Java and C# drivers are also binary, but they are optimized for > CQL. For example, the DataStax C# drivers use google protocol buffers, > which is a different binary protocol. > > the documentation on this stuff hasn't been very good, so people keep > asking the same questions again and again. > > I encourage people to take time and learn about thrift. In the long run, > it will make you a better cassandra user/developer. > > > On Tue, Dec 17, 2013 at 9:08 AM, Stuart Broad <[email protected]> wrote: > >> Hopefully this is a valid clarification, rather than a hijack of your >> thread! >> >> How does the binary protocol fit into this? I have not used it but was >> told you can implement CQL calls via thrift or via the binary protocol. Is >> the binary protocol superior to thrift? >> >> If you use the binary protocol do you have to use CQL? >> >> Cheers, >> >> Stuart >> On 17 Dec 2013 14:01, "Peter Lin" <[email protected]> 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. >>> >>> peter >>> >>> >>> On Tue, Dec 17, 2013 at 8:40 AM, Daneel Yaitskov < >>> [email protected]> wrote: >>> >>>> Hi, >>>> >>>> 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 >>>> >>> >>> >
