键值数据库PebblesDB读后感
在LevelDB/RocksDB这种分层思路上,PebblesDB提出了一种减少写放大的思路,下面学习并总结,所述以论文为基础,也有个人 观点,客观论述请看原文。
虽然LSM的写放大最近被研究很多,但是就写放大本身而言,是一个很古老的问题。在计算机体系中,如果相邻两层的处理单元不一致或者应用对一致性等有特殊的需求,就很可能出现写放大问题。比如CPU cache和内存cell,文件系统block和磁盘扇区,数据库block和文件系统block,数据库redo/undo,文件系统journal等。文中对写放大给了一个明确的定义,就是用户写入数据和系统写入数据的反比,比如用户写了1M,系统在稳定之后一共向存储设备写出10M&#x