Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

精通LevelDB 廖环宇,张仕华 PDF 下载


分享到:
时间:2023-11-11 10:24来源:http://www.java1234.com 作者:转载  侵权举报
本书详细剖析LevelDB从使用到设计实现的方方面面,读后可了解谷歌Bigtable数据库的设计精髓,逻辑上可分为两部分。
失效链接处理
精通LevelDB 廖环宇,张仕华 PDF 下载



转载自:
http://www.python222.com/article/573

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
https://product.dangdang.com/29331660.html
 

相关截图:





资料简介:

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

资料目录:

前言
第1章 初识LevelDB1
1.1 键-值数据库的提出与价值1
1.2 LevelDB的诞生过程2
1.3 LevelDB的特性3
1.4 LevelDB的性能分析4
1.5 LevelDB的衍生产品5
1.5.1 RocksDB6
1.5.2 SSDB7
1.6 小结8
第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
第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 性能优化方案28
3.6.1 启用压缩28
3.6.2 启用Cache29
3.6.3 启用FilterPolicy30
3.6.4 key的命名设计30
3.7 小结31
第4章 总体架构与设计思想32
4.1 键-值存储系统的基本要求32
4.2 Bigtable与LevelDB 33
4.3 主要模块功能介绍34
4.4 主要操作流程分析36
4.4.1 数据库Open流程分析36
4.4.2 数据Get流程分析39
4.4.3 数据Put与Write流程分析42
4.4.4 快照生成与读取分析46
4.5 小结48
第5章 公用基础类49
5.1 LevelDB跨平台编程49
5.1.1 LevelDB操作系统可移植方案49
5.1.2 LevelDB移植到操作系统接口规范50
5.1.3 POSIX可移植操作系统接口55
5.1.4 原子指针与内存屏障61
5.2 文件操作66
5.2.1 顺序文件操作66
5.2.2 随机文件操作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 非内存池的内存分配优化115
5.6 小结116
第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
第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
第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
第9章 多版本管理与Compaction原理176
9.1 多版本管理机制177
9.1.1 VersionEdit机制177
9.1.2 Version机制182
9.1.3 VersionSet机制187
9.1.4 Manifest机制189
9.2 Compaction原理189
9.2.1 触发时机190
9.2.2 文件选取191
9.2.3 执行流程195
9.2.4 文件清理197
9.3 小结199
附录 LevelDB的演进200
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐