cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stuart Broad <stu...@moogsoft.com>
Subject Re: Why was Thrift defined obsolete?
Date Tue, 17 Dec 2013 15:15:22 GMT
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 <woolfel@gmail.com> 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 <stuart@moogsoft.com> 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" <woolfel@gmail.com> 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 <
>>> rtfm.rtfm.rtfm@gmail.com> 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
>>>>
>>>
>>>
>

Mime
View raw message