先给结论吧:HBase利用compaction机制,通过大量的读延迟毛刺和一定的写阻塞,来换取整体上的读取延迟的平稳. 1.为什么要compaction 在上一篇 HBase读写 中我们提到了,HBase在读取过程中,会创建多个scanner去抓去数据. 其中,会创建多个storefilescanner去load HFile中的指定data block.所以,我们很容易就想到,如果说HFile太多的话,那么就会涉及到很多磁盘IO,这个就是常说的“读放大”现象. 因此,就有了今天的主题,HBase