如何将一棵LSM-Tree塞进NVM
2021年9月13日 - 腾讯新闻
传统的方案是采用数据即日志(log-as-data)保证原子写入,如图5所示,日志项顺序写入,且每个日志项写入完成后更新8字节的head指针。由于head的更新总能由硬件保证原子性,因此head之前的日志项可以看作成功写入;head之后的日志项存在部分写风险,重启时被丢弃。该种方案存在两个问题:(1)日志仅能顺序写入,不利于发挥多...
详情
传统的方案是采用数据即日志(log-as-data)保证原子写入,如图5所示,日志项顺序写入,且每个日志项写入完成后更新8字节的head指针。由于head的更新总能由硬件保证原子性,因此head之前的日志项可以看作成功写入;head之后的日志项存在部分写风险,重启时被丢弃。该种方案存在两个问题:(1)日志仅能顺序写入,不利于发挥多...