that is correct from studying DataStax java and C# driver.
On Tue, Dec 17, 2013 at 10:22 AM, Stuart Broad <[email protected]> wrote: > Peter - I missed your comment regarding optimised for CQL (I was > distracted by the statement of thift is binary protocol - As I got > 'corrected' for a similar statement to that in one of my previous posts). > So comparing thrift to the 'newer' ninary protocols it sounds like the > only real benefit is optimised for CQL (which has limitations as you posted > in your first email). > > > On Tue, Dec 17, 2013 at 3:15 PM, Stuart Broad <[email protected]> wrote: > >> 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 >>>>>> >>>>> >>>>> >>> >> >
