您好,欢迎光临有路网!
深入浅出存储引擎   文小飞
QQ咨询:
有路璐璐:

深入浅出存储引擎 文小飞

  • 作者:文小飞
  • 出版社:机械工业出版社
  • ISBN:9787111753001
  • 出版日期:2024年05月01日
  • 页数:376
  • 定价:¥99.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    全书分为3篇:1.第1篇首先会详细讲解存储引擎的全貌,让读者能对存储引擎有一个整体的思维框架,介绍存储引擎的两大分支:基于b+树的存储引擎、基于lsm派系的存储引擎,其次对存储引擎部分涉及的一些数据结构、存储介质等概念做一个简要的介绍,为后面内容的深入学习做铺垫。2.第二篇主要介绍基于b+树的存储引擎,在理论部分**回答为什么选择b+树做存储引擎索引结构、b+树存储引擎解决哪些问题以及如何解决。在实践部分选择开源社区中比较有名的boltdb存储引擎项目来讲解其内部核心源码的实现细节。3.第三篇主要介绍基于lsm派系的存储引擎,理论部分**介绍lsm tree中各组件的功能及作用,并在此基础上扩展介绍其他几类lsm派系存储引擎的实现思路,帮助读者开阔视野,实践部分分别以bitcask、moss、leveldb等开源项目的核心源码来展开,介绍其内部实现细节。通过阅读本书,读者不仅能对存储引擎,尤其是单机的存储引擎有一个整体的框架,而且能对两类存储引擎的实现思路及背后原理有个深刻的掌握,只有深刻理解了存储引擎的背后实现原理,读者不仅可以自己动手开发自己的存储引擎,更可以很快掌握关系型数据库或
    目录
    Contents 目 录 前言 第1章 存储引擎概述1 1.1 数据存储体系1 1.1.1 OLTP、OLAP与HTAP1 1.1.2 关系数据库、NoSQL数据库与 NewSQL数据库2 1.1.3 内存型存储组件与磁盘型存储 组件8 1.1.4 读多写少组件、写多读少组件 和读多写多组件9 1.1.5 数据存储与检索10 1.2 数据存储的核心:存储引擎10 1.2.1 存储引擎整体架构10 1.2.2 存储引擎的共性问题13 1.3 存储引擎的分类13 1.3.1 读多写少:基于B+树的存储 引擎14 1.3.2 写多读少:基于LSM派系的 存储引擎15 1.4 小结17 第2章 索引数据结构18 2.1 基础数据结构18 2.1.1 数组18 2.1.2 链表20 2.2 Hash类数据结构22 2.2.1 Hash表22 2.2.2 位图27 2.2.3 布隆过滤器28 2.3 二叉树类数据结构32 2.3.1 二叉搜索树33 2.3.2 红黑树36 2.3.3 跳表45 2.4 多叉树类数据结构48 2.4.1 B树49 2.4.2 B+树57 2.4.3 其他多叉树61 2.5 小结61 第3章 数据存储介质64 3.1 内存65 3.1.1 内存的基本内容65 3.1.2 内存管理机制69 3.1.3 虚拟内存管理机制80 3.2 持久化内存92 3.3 磁盘96 3.3.1 磁盘的基本内容97 3.3.2 磁盘管理机制102 3.3.3 加速磁盘访问的方案111 3.4 小结112 第4章 从宏观角度理解B+树存储 引擎的原理113 4.1 B+树存储引擎产生的起点114 4.1.1 诞生的背景114 4.1.2 设计的目标116 4.2 B+树存储引擎方案选型117 4.2.1 数据结构方案对比117 4.2.2 目光转向磁盘118 4.2.3 索引维护和存储121 4.2.4 选择B树还是B+树125 4.3 B+树存储引擎方案选型结果128 4.3.1 方案选型结果128 4.3.2 反向论证130 4.4 小结130 第5章 从微观角度理解B+树存储 引擎的工程细节132 5.1 边界条件处理132 5.1.1 B+树在磁盘和内存中的映射132 5.1.2 读操作的处理133 5.1.3 写操作的处理137 5.2 异常情况处理154 5.2.1 异常情况总体分析154 5.2.2 数据部分写入的异常处理156 5.3 事务158 5.3.1 事务的基本概念158 5.3.2 并发控制160 5.4 范围查询与全量遍历170 5.5 小结171 第6章 BoltDB核心源码分析172 6.1 BoltDB整体结构172 6.1.1 BoltDB项目结构172 6.1.2 BoltDB整体实现架构173 6.2 page解析175 6.2.1 page基本结构176 6.2.2 元数据页177 6.2.3 空闲列表页179 6.2.4 分支节点页183 6.2.5 叶子节点页186 6.3 node解析187 6.3.1 B+树结构概述187 6.3.2 node结构分析187 6.3.3 node的增删改查189 6.3.4 node分裂190 6.3.5 node合并195 6.4 Bucket解析199 6.4.1 Bucket结构分析199 6.4.2 Bucket遍历的Cursor核心 结构分析201 6.4.3 Bucket的增删改查206 6.4.4 KV数据的增删改查210 6.4.5 Bucket的分裂和合并211 6.5 Tx解析213 6.5.1 Tx结构分析213 6.5.2 Commit()方法分析214 6.5.3 Rollback()方法分析217 6.6 DB解析219 6.6.1 DB结构分析219 6.6.2 Open()方法分析221 6.6.3 Begin()方法分析224 6.6.4 Update()和View()方法分析226 6.6.5 Batch()方法分析227 6.7 小结229 第7章 深入理解LSM Tree原理232 7.1 LSM Tree的发展背景232 7.2 从零推导LSM Tree234 7.2.1 存储介质的选择234 7.2.2 写请求的处理234 7.2.3 读请求的处理239 7.3 LSM Tree的架构演进240 7.3.1 数据更新分类240 7.3.2 双组件LSM Tree结构241 7.3.3 多组件LSM Tree结构242 7.3.4 实际的LSM Tree结构243 7.4 LSM Tree的核心问题245 7.4.1 数据压缩/合并245 7.4.2 数据分区246 7.4.3 读放大、写放大和空间放大249 7.4.4 写放大优化251 7.5 小结252 第8章 LSM派系存储引擎253 8.1 LSM Tree存储引擎253 8.1.1 LSM Tree工程应用253 8.1.2 LSM Tree的KV分离存储 技术WiscKey256 8.2 LSM Hash存储引擎264 8.2.1 LSM Hash的起源264 8.2.2 Bitcask的核心原理265 8.3 LSM Array存储引擎269 8.3.1 LSM Array的设计思想269 8.3.2 Moss的核心原理270 8.4 其他LSM存储引擎274 8.4.1 LSM存储引擎扩展274 8.4.2 消息队列Kafka存储引擎275 8.5 小结277 第9章 LevelDB核心源码分析278 9.1 LevelDB概述278 9.1.1 LevelDB整体架构279 9.1.2 LevelDB项目结构280

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外