leveldb的源代码进行学习,则纯粹是出于一个码农对美好世界进行探究的好奇。接下来将尽可能从源代码上给出leveldb代码的详尽注释,这里先列出自己在阅读前后的主要参考。

0 官方文档
http://leveldb.googlecode.com/svn/trunk/
源代码,主要使用了1.7.0版本
https://leveldb.googlecode.com/files/leveldb-1.7.0.tar.gz

http://leveldb.googlecode.com/svn/trunk/doc/index.html
官方使用手册,比较详细

http://leveldb.googlecode.com/svn/trunk/doc/benchmark.html
官方的性能测试

http://leveldb.googlecode.com/svn/trunk/doc/impl.html
比较粗略的介绍了leveldb的主要实现细节

http://leveldb.googlecode.com/svn/trunk/doc/table_format.txt
http://leveldb.googlecode.com/svn/trunk/doc/log_format.txt
sstable文件格式与log文件格式

1 原理
【朗格科技】LevelDb日知录系列 http://www.samecity.com/blog/Index.asp?SortID=12
数据分析与处理之二(Leveldb 实现原理)
http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html
比较详尽的介绍了leveldb各模块的工作原理与实现细节,缺点是没有源代码细节。对leveldb最初细节的了解,也起于该文。建议读者可先阅读此文,以对leveldb的原理有最初的印象。另外,作者似乎没有把该系列写完。

leveldb实现解析.pdf
从代码细节上进行了分析,不过对于初接触者恐怕容易陷入过多的细节,缺乏整体性的介绍。建议对原理有了大致了解,且初读代码后,再进行对照学习。

2 性能
关于LevelDB http://blog.sina.com.cn/s/blog_593af2a70100ztjn.html

LevelDB 写操作出现停顿的问题分析 http://www.ideawu.net/blog/archives/709.html

Performance data for LevelDB, Berkley DB and BangDB for Random Operations
http://highscalability.com/blog/2012/11/29/performance-data-for-leveldb-berkley-db-and-bangdb-for-rando.html

leveldb与kyoto cabinet性能测试
http://blog.creapptives.com/post/8330476086/leveldb-vs-kyoto-cabinet-my-findings

3 相关实现
go实现 https://code.google.com/p/leveldb-go

Tair ldb(LevelDB)原理与应用案例.pdf

leveldb+redis https://github.com/qiye/redis-storage
ssdb https://github.com/ideawu/ssdb
sophia https://github.com/pmwkaa/sophia

leveldb0的更多相关文章

  1. MyCAT报java.lang.OutOfMemoryError: Java heap space

    早上同事反映,mycat又假死了,估计还是内存溢出,查看了一下错误日志. INFO | jvm | // :: | java.lang.OutOfMemoryError: Java heap spac ...

  2. 爬虫总结_python

    import sqlite3 Python 的一个非常大的优点是很容易写很容易跑起来,缺点就是很多不那么著名的(甚至一些著名的)程序和库都不像 C 和 C++ 那边那样专业.可靠(当然这也有动态类型 ...

  3. mycat偶尔会出现JVM报错double free or corruption并崩溃退出

    mycat偶尔会出现JVM报错double free or corruption并崩溃退出 没有复杂的sql,也没有大量的io INFO | jvm | // :: | *** Error in `j ...

  4. Mycat读写分离、主从切换、分库分表的操作记录

    系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Mycat是一 ...

  5. MYCAT扩容

    一.原架构图: 二.扩容 在HOST1上新增节点db_user2 在HOST2上新增节点db_user2 三.操作步骤 1.mycat 所在环境安装 mysql 客户端程序 2.mycat 的 lib ...

  6. mycat基本概念及配置文件详解

    在介绍mycat之前,首先来了解一下数据库切分. 对于海量数据处理,按照使用场景,主要分为两类:联机事务处理(OLTP)和联机分析处理(OLAP). 联机事务处理也称为面向交易的处理系统,其基本特征是 ...

  7. 配置和运行 MatchNet CVPR 2015 MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

    配置和运行 MatchNet CVPR 2015 GitHub: https://github.com/hanxf/matchnet 最近一个同学在配置,测试这个网络,但是总是遇到各种问题. 我也尝试 ...

  8. leveldb源码阅读

    http://blog.csdn.net/sparkliang/article/details/8567602 http://brg-liuwei.github.io/tech/2014/10/15/ ...

  9. Jconsole 测试.

    Jconsole 测试. 1 下载并安装 d:\Program Files\Java\jdk1.8.0_111\ JDK自带,Windows下图形界面,监控分析Java程序 2 查看jmx进程号 [r ...

随机推荐

  1. Boatloader的工作流程

    (1)第一节阶段的功能 1.硬件设备的初始化 2.载入u-boot第二阶段的代码到我们的RAM空间 3.设置好栈 4.跳转到第二阶段的代码入口 (2)第二阶段的功能 1.初始化本阶段所使用的硬件设备 ...

  2. 分页技巧__设计分页用的QueryHelper辅助对象

    分页技巧__设计分页用的QueryHelper辅助对象 FROM 必须 实体名 WHERE  可选 条件1 AND 条件2 AND ... 条件n ORDER BY 可选 属性1, 属性2, ... ...

  3. measure layout onMeasure() onLayout()

    1.onMeasure() 在这个函数中,ViewGroup会接受childView的请求的大小,然后通过childView的 measure(newWidthMeasureSpec, heightM ...

  4. NUC972 MDK NON-OS

     NUC972直接可以在BSP包里模板进行编程,烧录用Nu writer  http://www2.keil.com/mdk5/legacy 下载对应的安装包的插件 是直接下载到DDR 里面去运行,所 ...

  5. Mybatis框架中Mapper文件传值参数获取。【Mybatis】

    1.参数个数为1个(string或者int) dao层方法为以下两种: /** * 单个int型 */ public List<UserComment> findByDepartmentI ...

  6. win10怎么关闭把管理员权限

    按住WIN+R 计算机配置----Windows设置----安全设置----本地策略----安全选项----用户账户控制:以管理员批准模式运行所有管理员,把启用改为禁止然后重启电脑

  7. webpack配置(二)

    在配置webpack json loader的时候报错,如下: 解决方案: 首先,json文件中不能有注释 其次: 这里webpack.consig.js里面,modul下的loaders的loade ...

  8. Android软键盘的隐藏显示研究

    http://winuxxan.blog.51cto.com/2779763/522810 全局推: android:windowSoftInputMode="adjustResize&qu ...

  9. 160322、Maven手动安装Oracle的jar包

    oracle的jar包 收费所以不能通过配置pom.xml获得,可以通过以下方法在pom.xml中引用 在命令行窗口执行(注意更改路径): mvn install:install-file -Dgro ...

  10. JAVA编程你必须知道的那些英文单词

    第一章:  JDK(Java Development Kit) java开发工具包  JVM(Java Virtual Machine) java虚拟机  Javac  编译命令           ...