逻辑上......似乎checkAndPut需要更多时间。我特别感兴趣的是负载场景,我们看到avg checkandput延迟为15ms(每行数据为17KB)....将checkAndPut转换为简单的'PUT'可以显着降低平均延迟。
对于99%的用例,当我们执行checkAndPut时,我们写入的行键甚至不存在。
答案 0 :(得分:4)
是的,检查和放置延迟将高于简单的放置。但是,要高多少将取决于memstore中有多少数据以及块缓存中有多少。
checkAndMutate的工作原理如下:
由于最后一步如果成功执行了put,checkAndMutate将会有一些额外的成本。获得(可能)是最昂贵的部分。如果您能够添加bloom过滤器并将所有索引块保留在内存中,那么您可以确保get尽可能快。