从Cassandra读取一个完整分区是否昂贵?

问题描述 投票:1回答:1

假设我有一张桌子

RecordingsByAccountaId(AccountId,a,b,c,x,y,z)

分区键:AccountId聚类键:a,b

我需要在我的代码中获取一个帐户的数据,因此执行

从RecordingsByAccountaId中选择*,其中accountId ='accountId';

这是一项昂贵的操作吗?

目标是更新此表的2-3行,但我没有更多信息,而accountId。

查询一行或整个分区几乎相同吗?因为我看到在200行和n行之间获取的时间相差20-30毫秒?

database cassandra cassandra-2.0 cassandra-3.0
1个回答
1
投票

主要取决于分区的大小-分区包括多少行。另一个因素是您的分区有多分散-它位于单个SSTable(已压缩)中还是位于多个SSTable中,因此您将从多个文件中读取数据。

但是通常,读取单个文件中的分区是顺序操作,因为属于同一分区的所有行都是按顺序写入的,并且如果分区的大小不是很大,那么性能就不会受到很大的影响(但这可能也取决于您的硬件)。

P.S。您如何决定要更新的行?

© www.soinside.com 2019 - 2024. All rights reserved.