hbase“checkandput”延迟是否高于简单的“put”?

qvtsj1bj  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(287)

从逻辑上讲,这似乎需要更多的时间。我特别感兴趣的是加载场景,在这种场景中,我们可以看到15毫秒(对于每行17kb的数据)的平均checkandput延迟……将checkandput转换为简单的“put”将显著减少平均延迟。
对于99%的用例,当我们执行checkandput时,我们写入的行键甚至不存在。

q7solyqu

q7solyqu1#

是的,检查和放置延迟将比简单的放置更高。但是,要提高多少取决于memstore中的数据量和块缓存中的数据量。
checkandmutate的工作原理如下:
获取行锁
等待确认所有未完成的交易
拿到需要的手机
使用提供的规则进行比较
执行放置/删除
因为如果成功的最后一步是执行看跌期权,那么checkandmutate将有一些额外的成本。get(可能)是其中最昂贵的部分。如果您能够添加bloom过滤器并在内存中保留所有索引块,那么您可以确保get尽可能快。

相关问题