"Also can you make a UDT a clustered key?" --> yes if it's frozen

On Sun, Nov 13, 2016 at 1:25 PM, Ali Akhtar <ali.rac...@gmail.com> wrote:

> If I wanted to get all values for an item, including its labels, how would
> that be done in the above case?
>
> Also can you make a UDT a clustered key?
>
> On Sun, Nov 13, 2016 at 4:33 AM, Manoj Khangaonkar <khangaon...@gmail.com>
> wrote:
>
>> Hi,
>>
>> Instead of using a collection, consider making label a clustered column.
>>
>> With this each request will essentially append a column (label) to the
>> partition.
>>
>> To get all labels would be a simple query
>>
>> select label from table where partitionkey = "value".
>>
>> In general , read + update  of a column is an anti pattern in cassandra -
>> which is what you are doing. What I suggesting
>> above is appending more columns and not updating existing columns.
>>
>> regards
>>
>> regards
>>
>> On Sat, Nov 12, 2016 at 2:34 AM, Ali Akhtar <ali.rac...@gmail.com> wrote:
>>
>>> I have a table where each record contains a list<string> of labels.
>>>
>>> I have an endpoint which responds to new labels being added to a record
>>> by the user.
>>>
>>> Consider the following scenario:
>>>
>>> - Record X, labels = []
>>> - User selects 2 labels, clicks a button, and 2 http requests are
>>> generated.
>>> - The server receives request for Label 1 and Label 2 at the same time.
>>> - Both requests see the labels as empty, add 1 label to the collection,
>>> and send it.
>>> - Record state as label 1 request sees it: [1], as label 2 sees it: [2]
>>>
>>> How will the above conflict be resolved? What can I do so I end up with
>>> [1, 2] instead of either [1] or [2] after both requests have been processed?
>>>
>>
>>
>>
>> --
>> http://khangaonkar.blogspot.com/
>>
>
>

Reply via email to