ROCKSDB原理

按照读写的性质来分 分为读少写多和 写少读多 RocksDB适用于第一种。

磁盘中的数据结构

ROCKSDB原理_第1张图片

 就地写和追加写

找到某一个页 然后将数据刷入到这一个页中. 这就导致了一个问题 就是追加写入的数据冗余

ROCKSDB原理_第2张图片

ROCKSDB原理_第3张图片

 由于存在数据冗余 所以必须要对数据进行一定的处理才能保持查找性能

  • 数据以块的方式进行存储
  • 查找的方法为二分查找 是一种减治的方法

ROCKSDB原理_第4张图片

  •  拆分 尽量减少大块的写阻塞 在内存中就采用就地写的方式就好了
  • 压缩合并 利用归并排序的原理 将数据进行一个合并

 故障恢复

由于内存中的数据是不稳定的 因此需要进行日志的记录

你可能感兴趣的:(论文阅读,c++,LSM)