搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
精通LevelDB
0.00     定价 ¥ 79.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购24本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111693260
  • 作      者:
    廖环宇,张仕华
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2021-11-01
收藏
编辑推荐

(1)作者专业:阿里巴巴和贝壳找房专家撰写

(2)内容实用:深入LevelDB架构与源码,精通键-值数据库

(3)更上层楼:掌握谷歌Bigtable数据库单机版设计精髓

(4)学以致用:基于LevelDB,开发分布式数据库


展开
作者简介

廖环宇,中南大学硕士、阿里云高级算法专家与工业大脑算法团队负责人,长期致力于人工智能算法与工业大数据技术的研究和实践,主导过许多大型数据智能平台的开发与应用。

张仕华,贝壳找房资深软件开发工程师,毕业于北京科技大学,曾就职于360、滴滴。热衷源码研究与探究技术本质,合著有《Redis 5设计与源码分析》。


展开
内容介绍

本书详细剖析LevelDB从使用到设计实现的方方面面,读后可了解谷歌Bigtable数据库的设计精髓,逻辑上可分为两部分。
第一部分着重讲解LevelDB的基础知识,主要内容如下。
1)基本数据结构,这是理解后续内容的基础,也可以加深对比较器、迭代器等常见数据结构的理解。
2)基本使用,如数据库打开、关闭以及基本的读写操作。
3)总体架构与设计思想,读后可掌握LevelDB的整体情况与设计思路。
4)公用基础类,读后可了解LevelDB中如何实现数值编码、内存管理以及文件读取等。
第二部分着重讲解LevelDB各模块的实现细节,主要内容如下。
1)Log模块的实现细节,以及如何通过Log进行崩溃恢复,并生成一个MemTable文件。
2)MemTable模块的实现细节,以及MemTable超过内存阈值时如何生成一个SSTable文件。
3)SSTable模块的实现细节。
4)Compaction原理与多版本管理。


展开
目录

前言
第1章 初识LevelDB1
11 键-值数据库的提出与价值1
12 LevelDB的诞生过程2
13 LevelDB的特性3
14 LevelDB的性能分析4
15 LevelDB的衍生产品5
151 RocksDB6
152 SSDB7
16 小结8
第2章 基本数据结构9
21 string与Slice9
22 错误处理Status10
23 key比较函数接口Comparator11
24 迭代器接口13
25 系统参数14
251 DB参数Options14
252 读操作参数ReadOptions16
253 写操作参数WriteOptions16
26 小结17
第3章 LevelDB使用入门18
31 源码简介18
311 目录结构18
312 安装与编译19
313 引用头文件20
32 创建(打开)与关闭数据库21
33 数据的读、写与删除23
34 数据批量操作24
35 迭代器与key的查询操作26
351 前向与反向迭代循环遍历26
352 按key的范围进行查询27
36 性能优化方案28
361 启用压缩28
362 启用Cache29
363 启用FilterPolicy30
364 key的命名设计30
37 小结31
第4章 总体架构与设计思想32
41 键-值存储系统的基本要求32
42 Bigtable与LevelDB 33
43 主要模块功能介绍34
44 主要操作流程分析36
441 数据库Open流程分析36
442 数据Get流程分析39
443 数据Put与Write流程分析42
444 快照生成与读取分析46
45 小结48
第5章 公用基础类49
51 LevelDB跨平台编程49
511 LevelDB操作系统可移植方案49
512 LevelDB移植到操作系统接口规范50
513 POSIX可移植操作系统接口55
514 原子指针与内存屏障61
52 文件操作66
521 顺序文件操作66
522 随机文件操作73
523 Log文件操作77
53 Env操作环境抽象接口81
531 PosixEnv对象84
532 EnvWrapper与InMemoryEnv93
54 int数值编码99
541 什么是编码99
542 int定长数值编码100
543 int变长数值编码102
55 内存管理104
551 Arena内存池的基本思想105
552 Arena内存池的定义与原理105
553 Arena内存的分配108
554 内存使用率统计114
555 非内存池的内存分配优化115
56 小结116
第6章 Log模块117
61 Log文件格式定义117
62 Log文件读写操作119
621 Log文件写入119
622 Log文件读取122
63 记录Log文件124
64 从Log文件恢复MemTable125
65 小结126
第7章 MemTable模块127
71 MemTable插入与查找127
711 MemTable插入128
712 MemTable查找129
72 SkipList插入与查找131
721 SkipList插入132
722 SkipList查找134
73 MemTable生成SSTable136
74 小结137
第8章 SSTable模块139
81 SSTable文件格式139
811 SSTable的组成140
812 块格式141
813 数据索引区域145
814 数据区域145
815 元数据索引区域145
816 元数据区域146
82 SSTable的读写流程148
821 生成块148
822 读取块151
823 生成SSTable152
824 读取SSTable156
83 布隆过滤器的实现158
831 布隆过滤器的设计160
832 布隆过滤器的使用162
84 LRU Cache的实现166
841 LRU Cache的设计167
842 LRU Cache的使用173
85 小结174
第9章 多版本管理与Compaction原理176
91 多版本管理机制177
911 VersionEdit机制177
912 Version机制182
913 VersionSet机制187
914 Manifest机制189
92 Compaction原理189
921 触发时机190
922 文件选取191
923 执行流程195
924 文件清理197
93 小结199
附录 LevelDB的演进200

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证