Cassandra运算的时间复杂度(Big O)是多少?

Lot*_*out 6 complexity-theory big-o key time-complexity cassandra

假设只有一个节点具有R行。基本Cassandra操作的理论时间复杂度是多少?

更具体地说,我想知道:

  1. key = item。我认为O(log(R))是这样吗?
  2. key > item,即切片。C *是否将获取所有R行以判断是否满足条件,结果是O(R)?那有序行呢?
  3. key > 10 AND key < 12。C *是否会首先选择所有匹配项key > 10,然后使用进行过滤key < 12?还是C *将它们组合成一个条件进行查询?

Bra*_*ing 0

尽管您似乎在谈论读取操作,但您没有澄清您的意思是读取还是写入。Cassandra 中的读取路径针对数据在磁盘上的结构进行了高度优化,具有不同的读取缓存、布隆过滤器和不同的压缩策略(STCS、LTCS、TWCS)。数据写入磁盘上的一个或多个 SSTable 中,逻辑删除的存在会降低读取性能,有时甚至会显着降低。

Cassandra 架构旨在随着数据量的增长提供线性可扩展性。随着行数 R 变大,只有单个节点的前提将成为读取延迟的主要限制因素。