【发布时间】:2023-02-13 01:59:15
【问题描述】:
我想了解hbase的读写路径。当通过特定行的 put 命令完成行更新时,数据必须写入 memstore 缓冲区。但是让我们说对于那个键,块缓存中已经存在一个旧值。
此时,值 X 存在于块缓存中,新值 Y 存在于 memstore 缓冲区中。如果我执行读取命令,我得到 Y。但是 X 不是期望值吗?因为根据我的理解,每当读取到来时,都会在 memstore 缓冲区之前检查块缓存。
我的理解错了吗?或者是否有块缓存更新或失效的任何中间步骤?
【问题讨论】: