更新时间:2024-06-27 16:05:24
封面
版权信息
内容简介
插图
前言
第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 数组
2.1.2 链表
2.2 Hash类数据结构
2.2.1 Hash表
2.2.2 位图
2.2.3 布隆过滤器
2.3 二叉树类数据结构
2.3.1 二叉搜索树
2.3.2 红黑树
2.3.3 跳表
2.4 多叉树类数据结构
2.4.1 B树
2.4.2 B+树
2.4.3 其他多叉树
2.5 小结
第3章 数据存储介质
3.1 内存
3.1.1 内存的基本内容
3.1.2 内存管理机制
3.1.3 虚拟内存管理机制
3.2 持久化内存
3.3 磁盘
3.3.1 磁盘的基本内容
3.3.2 磁盘管理机制
3.3.3 加速磁盘访问的方案
3.4 小结
第4章 从宏观角度理解B+树存储引擎的原理
4.1 B+树存储引擎产生的起点
4.1.1 诞生的背景
4.1.2 设计的目标
4.2 B+树存储引擎方案选型
4.2.1 数据结构方案对比
4.2.2 目光转向磁盘
4.2.3 索引维护和存储
4.2.4 选择B树还是B+树
4.3 B+树存储引擎方案选型结果
4.3.1 方案选型结果
4.3.2 反向论证
4.4 小结
第5章 从微观角度理解B+树存储引擎的工程细节
5.1 边界条件处理
5.1.1 B+树在磁盘和内存中的映射
5.1.2 读操作的处理
5.1.3 写操作的处理
5.2 异常情况处理
5.2.1 异常情况总体分析
5.2.2 数据部分写入的异常处理
5.3 事务
5.3.1 事务的基本概念
5.3.2 并发控制
5.4 范围查询与全量遍历
5.5 小结
第6章 BoltDB核心源码分析
6.1 BoltDB整体结构
6.1.1 BoltDB项目结构
6.1.2 BoltDB整体实现架构
6.2 page解析
6.2.1 page基本结构
6.2.2 元数据页
6.2.3 空闲列表页
6.2.4 分支节点页
6.2.5 叶子节点页
6.3 node解析
6.3.1 B+树结构概述
6.3.2 node结构分析
6.3.3 node的增删改查
6.3.4 node分裂
6.3.5 node合并
6.4 Bucket解析
6.4.1 Bucket结构分析
6.4.2 Bucket遍历的Cursor核心结构分析
6.4.3 Bucket的增删改查
6.4.4 KV数据的增删改查
6.4.5 Bucket的分裂和合并
6.5 Tx解析
6.5.1 Tx结构分析
6.5.2 Commit()方法分析
6.5.3 Rollback()方法分析
6.6 DB解析