Use a RDBMS 

There is a reason constraints were created and why Cassandra doesn't have it

Sent from my iPhone

> On Mar 2, 2015, at 2:23 AM, Rahul Srivastava <srivastava.robi...@gmail.com> 
> wrote:
> 
> but what if i want to fetch the value using on table then this idea might fail
> 
>> On Mon, Mar 2, 2015 at 12:46 PM, Ajaya Agrawal <ajku....@gmail.com> wrote:
>> Make a table for each of the unique keys. For e.g.
>> 
>> If primary key for user table is user_id and you want the phone number 
>> column to be unique then create another table wherein the primary key is 
>> (phone_number, user_id). Before inserting to main table try to insert to 
>> this table first with "if not exists" clause. If it succeeds then go ahead 
>> with your insert to the user table. Similarly while deleting a row from the 
>> primary table delete the corresponding row in all other tables. The order of 
>> insertion to tables matter here otherwise you would end up inducing race 
>> conditions.
>> 
>> The catch here is, you should not be updating the unique column ever. If you 
>> do that you would have to use locks and if there are multiple nodes running 
>> your application then you would need a distributed lock. I would suggest not 
>> to update the unique columns. In stead force your users to delete the entry 
>> and recreate it. If you can't do that you need to evaluate your choice of 
>> database. Perhaps a relational database would be better suited to your 
>> requirements.
>> 
>> Hope this helps!
>> 
>> -Ajaya
>> 
>> Cheers,
>> Ajaya
>> 
>>> On Fri, Feb 27, 2015 at 5:26 PM, ROBIN SRIVASTAVA 
>>> <srivastava.robi...@gmail.com> wrote:
>>> I want to make unique constraint in cassandra . As i want that all the 
>>> value in my column be unique in my column family ex: name-rahul phone-123 
>>> address-abc
>>> 
>>> now i want that in this row no values equal to rahul ,123 and abc get 
>>> inserted again on searching on datastax i found that i can achieve it by 
>>> doing query on partition key as IF NOT EXIST ,but not getting the solution 
>>> for getting all the three values unique means if name- jacob phone-123 
>>> address-qwe
>>> 
>>> this should also be not inserted into my database as my phone column has 
>>> the same value as i have shown with name-rahul.
>>> 
> 

Reply via email to