Cassandra 操作的时间复杂度(大 O 表示法)是什么?

7
假设只有一个具有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

您没有明确指出是读取还是写入,尽管看起来您在谈论读取操作。Cassandra中的读取路径经过高度优化,具有不同的读取缓存、布隆过滤器和不同的压实策略(STCS、LTCS、TWCS),用于对磁盘上的数据进行结构化管理。数据被写入一个或多个SSTable中,墓碑的存在会降低读取性能,有时会显著降低。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接