随笔分类 -  leveldb

摘要:整个文章其实并没有讲解太多地细节方面的事情,主要是理一下大致的逻辑, 大致存什么, 和有关的对象的粗略介绍,主要是为了建立对各个对象的直观认识,知道它是什么,我觉得对后面更细节的分析也是有一定帮助的 1. 如何调用到 CompactMemTable() 上一部分我们讲到了 MaybeSchedule 阅读全文
posted @ 2025-04-06 09:39 rustic-stream 阅读(49) 评论(0) 推荐(0)
摘要:简单地过一下 levelDB 中 dbimpl.cc 中的 write 逻辑 首先需要说明的就是当我们调用 DBImpl::Put 操作的时候,实际上他会调用 DB::Put 默认的实现,调用到对应的 DBImpl::Write 操作。 简单地过一些对应的步骤,主要是分成了 4 个大部分吧 第一部分 阅读全文
posted @ 2025-04-04 09:34 rustic-stream 阅读(51) 评论(0) 推荐(0)
摘要:在这样的情况之下,我就想来捋一下,这个代码的逻辑 首先从不同的模块说起吧 include/leveldb : 这里面存储了要暴露给外部的API,这里面的结构,从使用者来说会比较熟悉,就是通过这里面的结构,实现它的功能,对不同的组件会有一个直观的定义 db : 这里面是对应的实现的类,不仅实现了inc 阅读全文
posted @ 2025-03-18 06:56 rustic-stream 阅读(40) 评论(0) 推荐(0)
摘要:首先学习LevelDB当中比较独立的一部分,当然的,读源码的话,一个很好的入门的感觉就是先从一个独立的组件模块开始,一个比较容易的开始,SkipList 然后跳表的基本概念什么的我不太想要去过多的赘述,就像二叉树那样希望能得到log(N)的性能,而又利用概率算法更好实现,可以看leveldb-han 阅读全文
posted @ 2025-03-18 06:52 rustic-stream 阅读(48) 评论(0) 推荐(0)