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 <stu...@moogsoft.com> 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 <wool...@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 <stu...@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" <wool...@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.r...@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
>>>>>
>>>>
>>>>
>>
>

Reply via email to