从cassandra中读取一个完整分区的开销大吗?

efzxgjgh  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(356)

假设我有一张table
按AccountAid记录(accountid,a,b,c,x,y,z)
分区键:accountid集群键:a,b
我需要在代码中获取一个帐户的数据,所以
从recordingsbyaccountaid中选择*其中accountid='accountid';
这是一个昂贵的手术吗???
目标是更新这个表的2-3行,但我没有比accountid更多的信息。
查询一行或整个分区几乎是一样的吗?因为我看到一行200行之间的取回时间相差20-30毫秒?

wnavrhmk

wnavrhmk1#

这主要取决于分区的大小—它包含多少行。另一个因素是分区的碎片化程度—它是位于单个sstable中(它被压缩)还是位于多个sstable中,因此您将从多个文件中读取数据。
但通常,读取单个文件中的分区是顺序操作,因为属于同一分区的所有行都是顺序写入的,如果分区大小不是很大,那么性能应该不会受到显著影响(但这也可能取决于您的硬件)。
p、 如何决定更新哪些行?

相关问题