CQL的集合是如何并发的?

时间:2014-06-09 12:31:34

标签: cassandra

我正在看看Cassandra的CQL集合(列表,集合,映射),我找不到一个可靠的来源,说明它们的并发性。

我想知道是否支持多个编写器将不同的元素添加到同一个集合中。

从我读到的实现(http://www.opensourceconnections.com/blog/2013/07/24/understanding-how-cql3-maps-to-cassandras-internal-data-structure-sets-lists-and-maps/)看来,集合是用列实现的,所以我应该是安全的。

但另一方面,我在这里和那里读到集合上的操作总是触发完全读取(甚至写入)。这表明如果多个作者使用相同的集合,我可能会遇到麻烦。

我可以(并且应该)使用来自多个作家的集合吗? (而且,文档中提到集合应该用于“少量数据”,这将是多少?数十,数百,数千?

1 个答案:

答案 0 :(得分:2)

更新是原子的,应包括行中的任何集合。所以有多个作家应该没问题。

"在UPDATE语句中,同一分区键中的所有更新都以原子方式单独应用。"

http://cassandra.apache.org/doc/cql3/CQL.html#updateStmt

"集合中的项目值限制为64K"

http://www.datastax.com/documentation/cql/3.0/cql/ddl/ddlWhenCollections.html

干杯,