封面
版权信息
内容简介
插图
前言
第1章 存储引擎概述
1.1 数据存储体系
1.1.1 OLTP、OLAP与HTAP
1.1.2 关系数据库、NoSQL数据库与NewSQL数据库
1.1.3 内存型存储组件与磁盘型存储组件
1.1.4 读多写少组件、写多读少组件和读多写多组件
1.1.5 数据存储与检索
1.2 数据存储的核心:存储引擎
1.2.1 存储引擎整体架构
1.2.2 存储引擎的共性问题
1.3 存储引擎的分类
1.3.1 读多写少:基于B+树的存储引擎
1.3.2 写多读少:基于LSM派系的存储引擎
1.4 小结
第2章 索引数据结构
2.1 基础数据结构
2.1.1 数组
- APP免费
2.1.2 链表
- APP免费
2.2 Hash类数据结构
- APP免费
2.2.1 Hash表
- APP免费
2.2.2 位图
- APP免费
2.2.3 布隆过滤器
- APP免费
2.3 二叉树类数据结构
- APP免费
2.3.1 二叉搜索树
- APP免费
2.3.2 红黑树
- APP免费
2.3.3 跳表
- APP免费
2.4 多叉树类数据结构
- APP免费
2.4.1 B树
- APP免费
2.4.2 B+树
- APP免费
2.4.3 其他多叉树
- APP免费
2.5 小结
- APP免费
第3章 数据存储介质
- APP免费
3.1 内存
- APP免费
3.1.1 内存的基本内容
- APP免费
3.1.2 内存管理机制
- APP免费
3.1.3 虚拟内存管理机制
- APP免费
3.2 持久化内存
- APP免费
3.3 磁盘
- APP免费
3.3.1 磁盘的基本内容
- APP免费
3.3.2 磁盘管理机制
- APP免费
3.3.3 加速磁盘访问的方案
- APP免费
3.4 小结
- APP免费
第4章 从宏观角度理解B+树存储引擎的原理
- APP免费
4.1 B+树存储引擎产生的起点
- APP免费
4.1.1 诞生的背景
- APP免费
4.1.2 设计的目标
- APP免费
4.2 B+树存储引擎方案选型
- APP免费
4.2.1 数据结构方案对比
- APP免费
4.2.2 目光转向磁盘
- APP免费
4.2.3 索引维护和存储
- APP免费
4.2.4 选择B树还是B+树
- APP免费
4.3 B+树存储引擎方案选型结果
- APP免费
4.3.1 方案选型结果
- APP免费
4.3.2 反向论证
- APP免费
4.4 小结
- APP免费
第5章 从微观角度理解B+树存储引擎的工程细节
- APP免费
5.1 边界条件处理
- APP免费
5.1.1 B+树在磁盘和内存中的映射
- APP免费
5.1.2 读操作的处理
- APP免费
5.1.3 写操作的处理
- APP免费
5.2 异常情况处理
- APP免费
5.2.1 异常情况总体分析
- APP免费
5.2.2 数据部分写入的异常处理
- APP免费
5.3 事务
- APP免费
5.3.1 事务的基本概念
- APP免费
5.3.2 并发控制
- APP免费
5.4 范围查询与全量遍历
- APP免费
5.5 小结
- APP免费
第6章 BoltDB核心源码分析
- APP免费
6.1 BoltDB整体结构
- APP免费
6.1.1 BoltDB项目结构
- APP免费
6.1.2 BoltDB整体实现架构
- APP免费
6.2 page解析
- APP免费
6.2.1 page基本结构
- APP免费
6.2.2 元数据页
- APP免费
6.2.3 空闲列表页
- APP免费
6.2.4 分支节点页
- APP免费
6.2.5 叶子节点页
- APP免费
6.3 node解析
- APP免费
6.3.1 B+树结构概述
- APP免费
6.3.2 node结构分析
- APP免费
6.3.3 node的增删改查
- APP免费
6.3.4 node分裂
- APP免费
6.3.5 node合并
- APP免费
6.4 Bucket解析
- APP免费
6.4.1 Bucket结构分析
- APP免费
6.4.2 Bucket遍历的Cursor核心结构分析
- APP免费
6.4.3 Bucket的增删改查
- APP免费
6.4.4 KV数据的增删改查
- APP免费
6.4.5 Bucket的分裂和合并
- APP免费
6.5 Tx解析
- APP免费
6.5.1 Tx结构分析
- APP免费
6.5.2 Commit()方法分析
- APP免费
6.5.3 Rollback()方法分析
- APP免费
6.6 DB解析
- APP免费
6.6.1 DB结构分析
- APP免费
6.6.2 Open()方法分析
- APP免费
6.6.3 Begin()方法分析
- APP免费
6.6.4 Update()和View()方法分析
- APP免费
6.6.5 Batch()方法分析
- APP免费
6.7 小结
- APP免费
第7章 深入理解LSM Tree原理
- APP免费
7.1 LSM Tree的发展背景
- APP免费
7.2 从零推导LSM Tree
- APP免费
7.2.1 存储介质的选择
- APP免费
7.2.2 写请求的处理
- APP免费
7.2.3 读请求的处理
- APP免费
7.3 LSM Tree的架构演进
- APP免费
7.3.1 数据更新分类
- APP免费
7.3.2 双组件LSM Tree结构
- APP免费
7.3.3 多组件LSM Tree结构
- APP免费
7.3.4 实际的LSM Tree结构
- APP免费
7.4 LSM Tree的核心问题
- APP免费
7.4.1 数据压缩/合并
- APP免费
7.4.2 数据分区
- APP免费
7.4.3 读放大、写放大和空间放大
- APP免费
7.4.4 写放大优化
- APP免费
7.5 小结
- APP免费
第8章 LSM派系存储引擎
- APP免费
8.1 LSM Tree存储引擎
- APP免费
8.1.1 LSM Tree工程应用
- APP免费
8.1.2 LSM Tree的KV分离存储技术WiscKey
- APP免费
8.2 LSM Hash存储引擎
- APP免费
8.2.1 LSM Hash的起源
- APP免费
8.2.2 Bitcask的核心原理
- APP免费
8.3 LSM Array存储引擎
- APP免费
8.3.1 LSM Array的设计思想
- APP免费
8.3.2 Moss的核心原理
- APP免费
8.4 其他LSM存储引擎
- APP免费
8.4.1 LSM存储引擎扩展
- APP免费
8.4.2 消息队列Kafka存储引擎
- APP免费
8.5 小结
- APP免费
第9章 LevelDB核心源码分析
- APP免费
9.1 LevelDB概述
- APP免费
9.1.1 LevelDB整体架构
- APP免费
9.1.2 LevelDB项目结构
- APP免费
9.2 DB核心接口分析
- APP免费
9.2.1 DB结构
- APP免费
9.2.2 Open(options,dbname,dbptr)的实现
- APP免费
9.2.3 Put(k,v)和Delete(k)的实现
- APP免费
9.2.4 Get(k)的实现
- APP免费
9.3 MemTable的实现分析
- APP免费
9.3.1 MemTable结构
- APP免费
9.3.2 Add(k,v)和Get(k)的实现
- APP免费
9.3.3 SkipList结构
- APP免费
9.4 WAL日志的实现分析
- APP免费
9.4.1 WAL日志的格式
- APP免费
9.4.2 Writer的实现
- APP免费
9.4.3 Reader的实现
- APP免费
9.5 SSTable的实现分析
- APP免费
9.5.1 SSTable的数据格式
- APP免费
9.5.2 Block的写入和读取
- APP免费
9.5.3 SSTable的写入和读取
- APP免费
9.5.4 SSTable的读取全过程
- APP免费
9.6 Compact的实现分析
- APP免费
9.6.1 Compact过程
- APP免费
9.6.2 Minor Compact
- APP免费
9.6.3 Major Compact
- APP免费
9.7 多版本的实现分析
- APP免费
9.7.1 Version和VersionEdit结构
- APP免费
9.7.2 VersionSet结构
- APP免费
9.8 小结
- APP免费
后记
- APP免费
推荐阅读
- APP免费
作者简介
- APP免费
封底
更新时间:2024-06-27 16:05:24