
leveldb源代码分析
文章平均质量分 79
针对google开源kv数据库leveldb进行分析,leveldb就相当于bigtable的单机版实现。leveldb基本上是按照LSM思路实现的。
xuqianghit
互联网门外汉
展开
-
LevelDB性能测试
Google最近开源了LevelDB,它是一个性能非常高的Key/Value数据库,目前最新版本为1.2,可以支持billion级别的数据量,而且在这个数量级下还有非常高的性能,可谓是超级的强大,哈哈!不过这一切都归功于它的优秀设计,它的设计很好的解决了普通数据库最怕的随机IO问原创 2011-08-03 23:07:06 · 4856 阅读 · 1 评论 -
在Linux下编译Google leveldb数据库及在C++中操作示例
1:简介 Leveldb是一个google实现的非常高效的kv数据库,可按照字符串键值顺序映射进行存贮。目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能。 Leveldb是一个C++库,可用于很多情况。比原创 2011-08-07 19:16:14 · 14812 阅读 · 18 评论 -
leveldb源代码分析4:SkipList
skiplist思想可以具体参考这: Skip list View more documents from xuqianghitsoft 或者是参考我的这篇博文:http://www.cnblogs.com/xuqiang/archive/2011/05/22/2053516.html, leveldb中的实现方式基本上和我的那篇博文中的实现方式类似。SkipList在db原创 2011-11-08 16:23:23 · 5219 阅读 · 8 评论 -
leveldb源代码分析3 memtable
上面一篇博文主要说了leveldb的理论原理,接下来将说明leveldb中如何去实现这些组件,主要是按照下面的思路进行的:首先分别分析LSM的各个组件,例如memtable,commit log,compaction实现,之后将这些功能串联起来分析一下leveldb的读写流程。这篇中主要是关于memtable的分析。 memtable常驻于内存,需要按照key进行排序,通常意义上的话,可以使用二原创 2011-11-08 15:57:32 · 4761 阅读 · 0 评论 -
leveldb源代码分析2 理论基础
leveldb其实就相当于是bigtable中简化的每个数据节点,其中关键性的思想如下(来自于http://www.slideshare.net/sunzhidong/google-leveldb-study-discuss): 也就是说原始的想法就是向如何将随机的io操作转换成顺序的io写操作,下面可能需要考虑的问题就是基于LSM这种数据结构如何进行insert, delete, up原创 2011-11-07 21:56:57 · 5300 阅读 · 3 评论 -
leveldb源代码分析1
1. leveldb简介 leveldb是一个key/value型的存储引擎,由google开发,并宣布在BSD许可下开放源代码。 2. leveldb下载和安装 leveldb托管在google code上,可以使用git下载源代码: git clone https://code.google.com/p/leveldb/下载完成之后,开始编译leveldb cd leve原创 2011-11-05 17:12:06 · 5579 阅读 · 3 评论