leveldb源码分析(一)概述

leveldb是由Jeff Dean和Sanjay Ghemawat创建的key-value数据库,广泛应用于顺序读写场景,如bigtable和tera。源码阅读顺序包括数据结构(如slice、跳跃表、整型编码和LRU缓存)、log文件、memtable、sorted string table及db核心实现,适合提升编程能力。

leveldb是key-value模式数据库,出自Jeff Dean和Sanjay Ghemawat之手,适用于顺序读写场景。各大厂均有以leveldb为积木搭建的成熟数据库产品,如google的bigtable,baidu的tera等,在工程实践上取得了广泛成功。leveldb以其良好的编程风格和设计理念为人称道,阅读leveldb源码对提升自己的编程能力大有裨益。

leveldb源码地址

https://github.com/google/leveldb

leveldb源码目录结构

db/

table/

util/

include/leveldb/

doc/

table/存放sstable相关实现,sstable即sorted string table,是leveldb的数据文件

db/存放数据库核心操作实现

util/存放公共方法集

include/leveldb/存放头文件

doc/下存放文档,描述诸如sstable文件格式、log文件格式等

leveldb源码阅读顺序

1、数据结构和基础组件

字符串 include/leveldb/slice.h

跳跃表 skiplist.h

整型 util/coding.h util/coding.cc

LRU缓存 util/cache.cc

2、log文件相关实现

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值