【问题标题】:Does Cassandra support parallel updates on Set data type?Cassandra 是否支持对 Set 数据类型进行并行更新?
【发布时间】:2014-07-24 17:56:20
【问题描述】:

这是我的桌子:

CREATE KEYSPACE CqlDemo WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1};
CREATE TABLE CqlDemo.MyBooks (id UUID PRIMARY KEY,title TEXT, impcol set<int>);

现在我通过执行以下 CQL 查询来插入数据:

update CqlDemo.mybooks set impcol=impcol+{0} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{1} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{2} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{3} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{4} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{5} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{6} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{7} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{8} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{9} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{10} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{11} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{12} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{13} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;
update CqlDemo.mybooks set impcol=impcol+{14} where id=44a2054c-f98b-43a7-833d-0e1358fdaa82;

这些查询正在使用 datastax 驱动程序从 java 中执行。当我一个接一个地执行它们时,一切都很好。 但是当我并行执行它们时,一些插入就消失了......

我假设我的代码中有线程错误,但由于我找不到它,我想知道集合上的并行更新是否受到某种限制?

这是我的代码: https://github.com/maciejmiklas/cyclop/blob/master/cyclop-webapp/src/main/java/org/cyclop/service/importer/impl/ParallelQueryImporter.java https://github.com/maciejmiklas/cyclop/blob/master/cyclop-webapp/src/main/java/org/cyclop/service/importer/impl/ImportWorker.java

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    Cassandra 集合被完整地提取和存储。 cassandra 确实是最后一次写入胜利。您的某些更新实际上会被后续更新覆盖。

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 2015-02-11
      • 2023-03-27
      • 2016-01-19
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多