本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书[0名0]: | 精通LevelDB|8084715 |
图书定价: | 79元 |
图书作者: | 廖环宇 张仕华 |
出版社: | [1机1]械工业出版社 |
出版日期: | 2021-11-02 0:00:00 |
ISBN号: | 9787111693260 |
开本: | 16开 |
页数: | 209 |
版次: | 1-1 |
内容简介 |
全书分为3个部分: [0第0]1部分介绍LevelDB的背景[0知0]识,[1主1]要描述LevelDB是什么,具有什么样的特性,有什么样的应用场景。此外,分析LevelDB的源代码目录结构,介绍其总体架构与设计思想,并对个各个子模块的功能进行简要的描述。 [0第0]二部分,按前[mian]划分[女子]的软[亻牛]模块,对每一个模块进行详细的介绍。在模块详细介绍时,着重讲清每个模块的原理及其在LevelDB中的具体作用,并有针对性的加入一些C++编程规范相关的内容。 通过阅读本书,读者不仅能[0学0]习高性能Kev/Value数据库的实现原理,还能掌握LevelDB中几个[纟巠]典的数据结构与模块,如SSTable、LSM等,对未来的应用与开发设计[扌是]供重要的参考。 |
目录 |
前言 [0第0]1章 初识LevelDB1 1.1 键-值数据库的[扌是]出与价值1 1.2 LevelDB的诞生过程2 1.3 LevelDB的特性3 1.4 LevelDB的性能分析4 1.5 LevelDB的衍生产[0品0]5 1.5.1 RocksDB6 1.5.2 SSDB7 1.6 小结8 [0第0]2章 基本数据结构9 2.1 string与Slice9 2.2 错误处理Status10 2.3 key比较函数接口Comparator11 2.4 迭代器接口13 2.5 系统参数14 2.5.1 DB参数Options14 2.5.2 读[*]作参数ReadOptions16 2.5.3 写[*]作参数WriteOptions16 2.6 小结17 [0第0]3章 LevelDB使用入门18 3.1 源码简介18 3.1.1 目录结构18 3.1.2 安装与编译19 3.1.3 引用头文[亻牛]20 3.2 创建(打开)与关闭数据库21 3.3 数据的读、写与删除23 3.4 数据批量[*]作24 3.5 迭代器与key的查询[*]作26 3.5.1 前向与反向迭代循环遍历26 3.5.2 按key的范围进行查询27 3.6 性能[0优0]化方案28 3.6.1 启用压缩28 3.6.2 启用Cache29 3.6.3 启用FilterPolicy30 3.6.4 key的命[0名0]设计30 3.7 小结31 [0第0]4章 总体架构与设计思想32 4.1 键-值存储系统的基本要求32 4.2 Bigtable与LevelDB 33 4.3 [1主1]要模块功能介绍34 4.4 [1主1]要[*]作流程分析36 4.4.1 数据库Open流程分析36 4.4.2 数据Get流程分析39 4.4.3 数据Put与Write流程分析42 4.4.4 快照生成与读取分析46 4.5 小结48 [0第0]5章 公用基础类49 5.1 LevelDB跨平台编程49 5.1.1 LevelDB[*]作系统可移植方案49 5.1.2 LevelDB移植到[*]作系统接口规范50 5.1.3 [P1O1S]IX可移植[*]作系统接口55 5.1.4 原子指针与内存屏障61 5.2 文[亻牛][*]作66 5.2.1 顺序文[亻牛][*]作66 5.2.2 随[1机1]文[亻牛][*]作73 5.2.3 Log文[亻牛][*]作77 5.3 Env[*]作环境抽象接口81 5.3.1 PosixEnv对象84 5.3.2 EnvWrapper与InMemoryEnv93 5.4 int数值编码99 5.4.1 什么是编码99 5.4.2 int定长数值编码100 5.4.3 int变长数值编码102 5.5 内存管理104 5.5.1 Arena内存池的基本思想105 5.5.2 Arena内存池的定义与原理105 5.5.3 Arena内存的分配108 5.5.4 内存使用率统计114 5.5.5 非内存池的内存分配[0优0]化115 5.6 小结116 [0第0]6章 Log模块117 6.1 Log文[亻牛]格式定义117 6.2 Log文[亻牛]读写[*]作119 6.2.1 Log文[亻牛]写入119 6.2.2 Log文[亻牛]读取122 6.3 记录Log文[亻牛]124 6.4 从Log文[亻牛]恢复MemTable125 6.5 小结126 [0第0]7章 MemTable模块127 7.1 MemTable插入与查找127 7.1.1 MemTable插入128 7.1.2 MemTable查找129 7.2 SkipList插入与查找131 7.2.1 SkipList插入132 7.2.2 SkipList查找134 7.3 MemTable生成SSTable136 7.4 小结137 [0第0]8章 SSTable模块139 8.1 SSTable文[亻牛]格式139 8.1.1 SSTable的组成140 8.1.2 块格式141 8.1.3 数据索引区域145 8.1.4 数据区域145 8.1.5 元数据索引区域145 8.1.6 元数据区域146 8.2 SSTable的读写流程148 8.2.1 生成块148 8.2.2 读取块151 8.2.3 生成SSTable152 8.2.4 读取SSTable156 8.3 布隆过滤器的实现158 8.3.1 布隆过滤器的设计160 8.3.2 布隆过滤器的使用162 8.4 LRU Cache的实现166 8.4.1 LRU Cache的设计167 8.4.2 LRU Cache的使用173 8.5 小结174 [0第0]9章 多版本管理与Compaction原理176 9.1 多版本管理[1机1]制177 9.1.1 VersionEdit[1机1]制177 9.1.2 Version[1机1]制182 9.1.3 VersionSet[1机1]制187 9.1.4 Manifest[1机1]制189 9.2 Compaction原理189 9.2.1 触发时[1机1]190 9.2.2 文[亻牛]选取191 9.2.3 执行流程195 9.2.4 文[亻牛]清理197 9.3 小结199 附录 LevelDB的演进200 |
编辑推荐 |
阿里、贝壳找房专家联合撰写,深入方[0法0]与关键代码层[mian],多注释与讲解 本书系统剖析LevelDB的数据结构、使用、架构、公用基础类与[1主1]要模块实现,是掌握Bigtable数据库设计精髓的[不1二]之选 |