cassandra - Cassandra - 在行关键字上,唯一约束

68 3

我想知道什么时候能在Cassandra中指定行键的唯一约束。 类似于 ADD CONSTRAINT myConstrain UNIQUE (ROW_PK)

在插入已存在的行键的情况下,现有数据将不会被覆盖,但是,我收到一些异常或响应,由于约束违规而且无法执行更新。

也许这个问题有一个解决方法 - 有一些计数器可以将更新为原子。

时间: 原作者:

113 1

Cassandra -在主键约束的帮助下可以实现唯一的约束,Cassandra会自己处理剩下的。

 

CREATE TABLE users (firstname text, lastname text, age int, 


email text, city text, PRIMARY KEY (firstname, lastname));



这意味着当firstnamelastname相同时,Cassandra不会在这个users表中插入两行。

原作者:
99 2

轻量级事务?

http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_ltwt_transaction_c.html

INSERT INTO customer_account (customerID, customer_email) VALUES (‘LauraS’, ‘lauras@gmail.com’) IF NOT EXISTS;

原作者:
68 4

抱歉,因为Cassandra不执行任何关于写操作的检查,为了实现这样的工作,Cassandra必须在每次写入之前进行读取,以检查是否允许写入,这将大大降低写入速度,(总的说来,写入不需要进行任何磁盘寻找,即--读取中断这个模式。),

我想不出计数器会有什么帮助,计数器不是使用原子测试和设置实现的。相反,它们实际上存储大量的增量,当你读取计数器值时将它们一起添加。

原作者:
88 2
原作者:
...