文件名称:读取-空间谱估计算法及应用 王永良
文件大小:8.18MB
文件格式:PDF
更新时间:2024-07-13 16:36:36
leveldb rocksdb leveldb架构
2.3 读读读取取取 leveldb读取分为三步: 1. 在memory db中查找指定的key,若搜索到符合条件的数据项,结束查找; 2. 在冻结的memory db中查找指定的key,若搜索到符合条件的数据项,结束查找; 3. 按低层至高层的顺序在level i层的sstable文件中查找指定的key,若搜索到符合条件的数据项,结束查 找,否则返回Not Found错误,表示数据库中不存在指定的数据; 注注注解解解: 注意leveldb在每一层sstable中查找数据时,都是按序依次查找sstable的。 0层的文件比较特殊。由于0层的文件中可能存在key重合的情况,因此在0层中,文件编号大 的sstable优先查找。理由是文件编号较大的sstable中存储的总是最新的数据。 非0层文件,一层中所有文件之间的key不重合,因此leveldb可以借助sstable的元数据(一个文件中最 小与最大的key值)进行快速定位,每一层只需要查找一个sstable文件的内容。 在memory db或者sstable的查找过程中,需要根据指定的序列号拼接一个internalKey,查找用户key一致, 且seq号不不不大大大于于于指定seq的数据,具体的查找过程可见《内存数据库》和《sstable》两篇文章。 12 Chapter 2. 读读读写写写操操操作作作