leveldb学习
weixin_38070782
这个作者很懒,什么都没留下…
展开
-
外排序(归并排序算法)
本文转自https://www.cnblogs.com/huangxincheng/archive/2012/12/19/2824943.html说到排序,大家第一反应基本上是内排序,是的,算法嘛,玩的就是内存,然而内存是有限制的,总有装不下的那一天,此时就可以来玩玩外排序,当然在我看来,外排序考验的是一个程序员的架构能力,而不仅仅局限于排序这个层次。一:N路归并排序1.概序 我们知道算法中有一种叫做分治思想,一个大问题我们可以采取分而治之,各个突破,当子问题解决了,大问...转载 2020-06-22 19:39:30 · 1940 阅读 · 1 评论 -
LSM-Tree 的写放大写放大、读放大、空间放大RockDB、leveldb 写放大简单分析参考文档
本文缺少实际的实践经验。全部来自在网上的“道听途说”和自己的“胡思乱想”。写放大、读放大、空间放大基于 LSM-Tree 的存储系统越来越常见了,如 RocksDB、LevelDB。LSM-Tree 能将离散的随机写请求都转换成批量的顺序写请求(WAL + Compaction),以此提高写性能。但也带来了一些问题:读放大(Read Amplification)。LSM-Tree 的读操作需要从新到旧(从上到下)一层一层查找,直到找到想要的数据。这个过程可能需要不止一次 I/O。特别是 ra.转载 2020-06-22 15:18:35 · 5017 阅读 · 1 评论 -
leveldb - handbook
https://www.bookstack.cn/read/Leveldb-handbook/spilt.1.b308da3c3d01f3cd.md原创 2020-06-22 11:23:16 · 164 阅读 · 1 评论 -
leveldb深度剖析-布隆过滤器
布隆过滤器使用bit数组映射关键字key,对于在一个超大的集合中判断是否存在某个key能够起到很好的效果。但是缺点很明显:容易误报。也就是本来不存在的key,可能告诉你它存在。一、布隆过滤器根据上图来说明布隆过滤器的原理:1)布隆过滤有一个m位(这里是10个)的bit数组(或者称bitmap),bit数组初始化为全0,并且有k个(这里是3个)hash函数。2)当我们分别存储abc,hello,world三个关键字,然后分别对这些key进行hash(每个hash都执行),得出结果如上图第三.转载 2020-06-16 23:28:08 · 350 阅读 · 1 评论 -
leveldb Arena 分析
leveldb Arena 分析版权声明:本文为 cheng-zhi 原创文章,可以随意转载,但必须在明确位置注明出处!ArenaArena 是 leveldb 项目里面使用的轻量级的内存池对象,leveldb 用这个对象来管理内存的分配,简化了 new 和 delete 的调用,我们也可以从这个轻量级的内存池对象学习 google 大神工程师是如何管理内存的。Arena 内存管理模型这是罗道文网站上关于 leveldb 的一张 Arena 的内存模型图:Arena 使用下面转载 2020-06-12 11:32:20 · 194 阅读 · 0 评论