逻辑删除为什么会影响性能但不会影响更新?

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

从我读过的文章中,他们说墓碑会影响Cassandra的阅读性能。我正在阅读Cassandra中的数据更新方式,看起来数据是带有时间戳的,而没有修改或读取当前数据。

因此,在执行压缩之前执行读取时,需要进行过滤以获取最新值正确吗?如果是这种情况,逻辑删除不是同一件事,为什么它们会对性能产生负面影响,但不会连续更新?

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

在Cassandra中,更新是一个突变,如插入和删除,除了LWT的用例和某些列表操作外,所有突变都只是追加到内存表/提交日志中,而无需读取磁盘上的数据。因此它们非常快-不执行检查。

与此相反,读取操作需要从磁盘/内存表中获取所有版本的数据,然后根据时间戳创建实际的数据版本。对于逻辑删除,我们需要将其保留在内存中,因为我们可能会从磁盘中读取一些可能具有较旧时间戳记的数据,并且需要检测到这一点。

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