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

时间:2016-09-23 09:31:23

标签: cassandra key time-complexity big-o complexity-theory

假设只有一个节点有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 *会将它们组合成一个查询条件吗?

1 个答案:

答案 0 :(得分:0)

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

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