Cassandra 墓碑对多个查询与单个查询进行计数

标签 cassandra cql cassandra-2.0 cql3

我有一个 cassandra 表定义如下

CREATE TABLE mytable
(
  colA text,
  colB text,
  timeCol timestamp,
  colC text,
  PRIMARY KEY ((colA, colB, timeCol), colC)
) WITH....

我想知道以下类型的查询之间的墓碑数量是否会有所不同:

1. delete from mytable where colA = '...' AND colB = '...' and timeCol = 111

以上查询影响多条记录,(colC的多个值)

2. delete from mytable where colA = '...' AND colB = '...' and timeCol = 111 AND colC = '...'

但是,需要对最后一列 colC 的每个值执行第二个查询,而第一个查询在一次执行中负责删除

Cassandra 在这两种情况下会创建相同数量的墓碑吗?

最佳答案

Cassandra 将为每个删除语句创建一个逻辑删除。但是,每个语句都会创建不同类型的墓碑。

1。从 mytable 中删除,其中 colA = '...' AND colB = '...' 且 timeCol = 111

将创建行级逻辑删除:

{ “ key ”:“00032e2e2e0000032e2e2e000008000000000000006f00”, “元数据”:{ “删除信息”:{ “markedForDeleteAt”:1427461335167000,“localDeletionTime”:1427461335 } }, “列”: [] }

行级逻辑删除将确保所有列都将被删除。

2。从 mytable 中删除,其中 colA = '...' AND colB = '...' and timeCol = 111 AND colC = '...'

创建一个列墓碑:

{ “ key ”:“00032e2e2e0000032e2e2e000008000000000000006f00”, “列”:[[“...”,“...:!”,1427461572135000,“t”,1427461572]] }

这只会删除已保存在此集群键下的值。

关于Cassandra 墓碑对多个查询与单个查询进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29299662/

相关文章:

hadoop - cassandra可以在非hadoop环境中工作吗

Cassandra CQL Shell 停止显示行

cassandra查询字符串访问

hadoop - 如何从 hive 0.9.0 访问 cassandra 2.0.3

bash - 从命令行运行 cassandra 查询

cassandra - 可内存的理解

cassandra 结果中的排序顺序

cassandra - "Bad Request: PRIMARY KEY part to_id cannot be restricted"尝试使用 where 条件进行选择时

Cassandra 数据建模

hadoop - Spark 上的 Apache pig