假设只有一个节点有 R 行。基本 Cassandra 操作的理论时间复杂度是多少?
更具体地说,我想知道:
key = item
.我假设它是 O(log(R))
这样对吗? key > item
,即切片。 C*是否会取所有R行来判断是否满足条件,结果O(R)
?有序行呢? key > 10 AND key < 12
. C* 会先选择所有匹配的 key > 10
然后用 key < 12
过滤?或者 C* 会将它们组合成一个查询条件? 最佳答案
你没有澄清你的意思是读还是白,尽管你似乎在谈论读操作。 Cassandra 中的读取路径使用不同的读取缓存、布隆过滤器和不同的压缩策略(STCS、LTCS、TWCS)对磁盘上的数据结构进行了高度优化。数据以一个或多个 SSTable 写入磁盘,墓碑的存在会降低读取性能,有时会显着降低。
Cassandra 架构旨在随着数据量的增长提供线性可扩展性。随着行数 R 变大,只有一个节点的前提将成为读取延迟的主要限制因素。
关于cassandra - Cassandra 操作的时间复杂度(Big O)是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39657347/