为你推荐
内容简介
作者简介
前言
第1章 初识LevelDB
1.1 键-值数据库的提出与价值
1.2 LevelDB的诞生过程
1.3 LevelDB的特性
1.4 LevelDB的性能分析
1.5 LevelDB的衍生产品
1.5.1 RocksDB
1.5.2 SSDB
1.6 小结
第2章 基本数据结构
2.1 string与Slice
2.2 错误处理Status
2.3 key比较函数接口Comparator
2.4 迭代器接口
2.5 系统参数
2.5.1 DB参数Options
2.5.2 读操作参数ReadOptions
2.5.3 写操作参数WriteOptions
2.6 小结
第3章 LevelDB使用入门
3.1 源码简介
3.1.1 目录结构
3.1.2 安装与编译
3.1.3 引用头文件
3.2 创建(打开)与关闭数据库
3.3 数据的读、写与删除
3.4 数据批量操作
3.5 迭代器与key的查询操作
3.5.1 前向与反向迭代循环遍历
3.5.2 按key的范围进行查询
3.6 性能优化方案
3.6.1 启用压缩
3.6.2 启用Cache
3.6.3 启用FilterPolicy
3.6.4 key的命名设计
3.7 小结
第4章 总体架构与设计思想
4.1 键-值存储系统的基本要求
4.2 Bigtable与LevelDB
4.3 主要模块功能介绍
4.4 主要操作流程分析
4.4.1 数据库Open流程分析
4.4.2 数据Get流程分析
4.4.3 数据Put与Write流程分析
4.4.4 快照生成与读取分析
4.5 小结
第5章 公用基础类
5.1 LevelDB跨平台编程
5.1.1 LevelDB操作系统可移植方案
5.1.2 LevelDB移植到操作系统接口规范
5.1.3 POSIX可移植操作系统接口
5.1.4 原子指针与内存屏障
5.2 文件操作
5.2.1 顺序文件操作
5.2.2 随机文件操作
5.2.3 Log文件操作
5.3 Env操作环境抽象接口
5.3.1 PosixEnv对象
5.3.2 EnvWrapper与InMemoryEnv
5.4 int数值编码
5.4.1 什么是编码
5.4.2 int定长数值编码
5.4.3 int变长数值编码
5.5 内存管理
5.5.1 Arena内存池的基本思想
5.5.2 Arena内存池的定义与原理
5.5.3 Arena内存的分配
5.5.4 内存使用率统计
5.5.5 非内存池的内存分配优化
5.6 小结
第6章 Log模块
6.1 Log文件格式定义
6.2 Log文件读写操作
6.2.1 Log文件写入
6.2.2 Log文件读取
6.3 记录Log文件
6.4 从Log文件恢复MemTable
6.5 小结
第7章 MemTable模块
7.1 MemTable插入与查找
7.1.1 MemTable插入
7.1.2 MemTable查找
7.2 SkipList插入与查找
7.2.1 SkipList插入
7.2.2 SkipList查找
7.3 MemTable生成SSTable
7.4 小结
第8章 SSTable模块
8.1 SSTable文件格式
8.1.1 SSTable的组成
8.1.2 块格式
8.1.3 数据索引区域
8.1.4 数据区域
8.1.5 元数据索引区域
8.1.6 元数据区域
8.2 SSTable的读写流程
8.2.1 生成块
8.2.2 读取块
8.2.3 生成SSTable
8.2.4 读取SSTable
8.3 布隆过滤器的实现
8.3.1 布隆过滤器的设计
8.3.2 布隆过滤器的使用
8.4 LRU Cache的实现
8.4.1 LRU Cache的设计
8.4.2 LRU Cache的使用
8.5 小结
第9章 多版本管理与Compaction原理
9.1 多版本管理机制
9.1.1 VersionEdit机制
9.1.2 Version机制
9.1.3 VersionSet机制
9.1.4 Manifest机制
9.2 Compaction原理
9.2.1 触发时机
9.2.2 文件选取
9.2.3 执行流程
9.2.4 文件清理
9.3 小结
附录 LevelDB的演进
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜