精通LevelDB
¥
59.25
7.5折
¥
79
全新
库存13件
作者廖环宇,张仕华
出版社机械工业出版社
ISBN9787111693260
出版时间2022-01
装帧平装
开本16开
定价79元
货号1202529782
上书时间2024-12-02
商品详情
- 品相描述:全新
- 商品描述
-
目录
前言
章 初识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的演进
内容摘要
本书详细剖析LevelDB从使用到设计实现的方方面面,读后可了解谷歌Bigtable数据库的设计精髓,逻辑上可分为两部分。
部分着重讲解LevelDB的基础知识,主要内容如下。
1)基本数据结构,这是理解后续内容的基础,也可以加深对比较器、迭代器等常见数据结构的理解。
2)基本使用,如数据库打开、关闭以及基本的读写操作。
3)总体架构与设计思想,读后可掌握LevelDB的整体情况与设计思路。
4)公用基础类,读后可了解LevelDB中如何实现数值编码、内存管理以及文件读取等。
第二部分着重讲解LevelDB各模块的实现细节,主要内容如下。
1)Log模块的实现细节,以及如何通过Log进行崩溃恢复,并生成一个MemTable文件。
2)MemTable模块的实现细节,以及MemTable超过内存阈值时如何生成一个SSTable文件。
3)SSTable模块的实现细节。
4)Compaction原理与多版本管理。
主编推荐
1)阿里、贝壳找房专家联合撰写,深入方法与关键代码层面,多注释与讲解 2)本书系统剖析LevelDB的数据结构、使用、架构、共用基础类与主要模块实现,是掌握Bigtable数据库设计精髓的不二之选
— 没有更多了 —
以下为对购买帮助不大的评价