计算机
类型
6.6
豆瓣评分
可以朗读
语音朗读
163千字
字数
2021-11-01
发行日期
展开全部
主编推荐语
本书详细剖析了LevelDB从使用到设计实现的方方面面。
内容简介
本书可分为两部分,第一部分着重讲解LevelDB的基础知识,主要分为:基本数据结构,这是理解后续内容的基础,也可以加深对比较器、迭代器等常见数据结构的理解;基本使用,如数据库打开、关闭以及基本的读写操作;总体架构与设计思想,读后可掌握LevelDB的整体情况与设计思路;公用基础类,读后可了解LevelDB中如何实现数值编码、内存管理以及文件读取等。
第二部分着重讲解LevelDB各模块的实现细节,主要分为:Log模块的实现细节,以及如何通过Log进行崩溃恢复,并生成一个MemTable文件;MemTable模块的实现细节,以及MemTable超过内存阈值时如何生成一个SSTable文件;SSTable模块的实现细节;Compaction原理与多版本管理。
目录
- 版权信息
- 内容简介
- 作者简介
- 前言
- 第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的演进
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。