• 深入浅出存储引擎 9787111753001
  • 深入浅出存储引擎 9787111753001
21年品牌 40万+商家 超1.5亿件商品

深入浅出存储引擎 9787111753001

①全新正版,现货速发,7天无理由退换货②天津仓、成都仓、无锡仓、广东仓、武汉仓等多仓就近发货,订单最迟48小时内发出③无法指定快递④可开电子发票,不清楚的请咨询客服。

69.7 7.0折 99 全新

库存2件

浙江嘉兴
认证卖家担保交易快速发货售后保障

作者文小飞

出版社机械工业

ISBN9787111753001

出版时间2024-05

装帧其他

开本其他

定价99元

货号32067563

上书时间2024-09-19

倒爷图书专营店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
文小飞,在腾讯负责推荐系统后台核心模块研发工作,擅长go语言,熟悉推荐系统后台工作;对网络编程、微服务rpc框架、存储、分布式共识算法(raft)等技术比较感兴趣。

目录
Contents  目  录<br />前言<br />第1章 存储引擎概述1<br />1.1 数据存储体系1<br />1.1.1 OLTP、OLAP与HTAP1<br />1.1.2 关系数据库、NoSQL数据库与<br />    NewSQL数据库2<br />1.1.3 内存型存储组件与磁盘型存储<br />    组件8<br />1.1.4 读多写少组件、写多读少组件<br />    和读多写多组件9<br />1.1.5 数据存储与检索10<br />1.2 数据存储的核心:存储引擎10<br />1.2.1 存储引擎整体架构10<br />1.2.2 存储引擎的共性问题13<br />1.3 存储引擎的分类13<br />1.3.1 读多写少:基于B+树的存储<br />    引擎14<br />1.3.2 写多读少:基于LSM派系的<br />    存储引擎15<br />1.4 小结17<br />第2章 索引数据结构18<br />2.1 基础数据结构18<br />2.1.1 数组18<br />2.1.2 链表20<br />2.2 Hash类数据结构22<br />2.2.1 Hash表22<br />2.2.2 位图27<br />2.2.3 布隆过滤器28<br />2.3 二叉树类数据结构32<br />2.3.1 二叉搜索树33<br />2.3.2 红黑树36<br />2.3.3 跳表45<br />2.4 多叉树类数据结构48<br />2.4.1 B树49<br />2.4.2 B+树57<br />2.4.3 其他多叉树61<br />2.5 小结61<br />第3章 数据存储介质64<br />3.1 内存65<br />3.1.1 内存的基本内容65<br />3.1.2 内存管理机制69<br />3.1.3 虚拟内存管理机制80<br />3.2 持久化内存92<br />3.3 磁盘96<br />3.3.1 磁盘的基本内容97<br />3.3.2 磁盘管理机制102<br />3.3.3 加速磁盘访问的方案111<br />3.4 小结112<br />第4章 从宏观角度理解B+树存储<br /> 引擎的原理113<br />4.1 B+树存储引擎产生的起点114<br />4.1.1 诞生的背景114<br />4.1.2 设计的目标116<br />4.2 B+树存储引擎方案选型117<br />4.2.1 数据结构方案对比117<br />4.2.2 目光转向磁盘118<br />4.2.3 索引维护和存储121<br />4.2.4 选择B树还是B+树125<br />4.3 B+树存储引擎方案选型结果128<br />4.3.1 方案选型结果128<br />4.3.2 反向论证130<br />4.4 小结130<br />第5章 从微观角度理解B+树存储<br /> 引擎的工程细节132<br />5.1 边界条件处理132<br />5.1.1 B+树在磁盘和内存中的映射132<br />5.1.2 读操作的处理133<br />5.1.3 写操作的处理137<br />5.2 异常情况处理154<br />5.2.1 异常情况总体分析154<br />5.2.2 数据部分写入的异常处理156<br />5.3 事务158<br />5.3.1 事务的基本概念158<br />5.3.2 并发控制160<br />5.4 范围查询与全量遍历170<br />5.5 小结171<br />第6章 BoltDB核心源码分析172<br />6.1 BoltDB整体结构172<br />6.1.1 BoltDB项目结构172<br />6.1.2 BoltDB整体实现架构173<br />6.2 page解析175<br />6.2.1 page基本结构176<br />6.2.2 元数据页177<br />6.2.3 空闲列表页179<br />6.2.4 分支节点页183<br />6.2.5 叶子节点页186<br />6.3 node解析187<br />6.3.1 B+树结构概述187<br />6.3.2 node结构分析187<br />6.3.3 node的增删改查189<br />6.3.4 node分裂190<br />6.3.5 node合并195<br />6.4 Bucket解析199<br />6.4.1 Bucket结构分析199<br />6.4.2 Bucket遍历的Cursor核心<br /> 结构分析201<br />6.4.3 Bucket的增删改查206<br />6.4.4 KV数据的增删改查210<br />6.4.5 Bucket的分裂和合并211<br />6.5 Tx解析213<br />6.5.1 Tx结构分析213<br />6.5.2 Commit()方法分析214<br />6.5.3 Rollback()方法分析217<br />6.6 DB解析219<br />6.6.1 DB结构分析219<br />6.6.2 Open()方法分析221<br />6.6.3 Begin()方法分析224<br />6.6.4 Update()和View()方法分析226<br />6.6.5 Batch()方法分析227<br />6.7 小结229<br />第7章 深入理解LSM Tree原理232<br />7.1 LSM Tree的发展背景232<br />7.2 从零推导LSM Tree234<br />7.2.1 存储介质的选择234<br />7.2.2 写请求的处理234<br />7.2.3 读请求的处理239<br />7.3 LSM Tree的架构演进240<br />7.3.1 数据更新分类240<br />7.3.2 双组件LSM Tree结构241<br />7.3.3 多组件LSM Tree结构242<br />7.3.4 实际的LSM Tree结构243<br />7.4 LSM Tree的核心问题245<br />7.4.1 数据压缩/合并245<br />7.4.2 数据分区246<br />7.4.3 读放大、写放大和空间放大249<br />7.4.4 写放大优化251<br />7.5 小结252<br />第8章 LSM派系存储引擎253<br />8.1 LSM Tree存储引擎253<br />8.1.1 LSM Tree工程应用253<br />8.1.2 LSM Tree的KV分离存储<br /> 技术WiscKey256<br />8.2 LSM Hash存储引擎264<br />8.2.1 LSM Hash的起源264<br />8.2.2 Bitcask的核心原理265<br />8.3 LSM Array存储引擎269<br />8.3.1 LSM Array的设计思想269<br />8.3.2 Moss的核心原理270<br />8.4 其他LSM存储引擎274<br />8.4.1 LSM存储引擎扩展274<br />8.4.2 消息队列Kafka存储引擎275<br />8.5 小结277<br />第9章 LevelDB核心源码分析278<br />9.1 LevelDB概述278<br />9.1.1 LevelDB整体架构279<br />9.1.2 LevelDB项目结构280<br />9.2 DB核心接口分析282<br />9.2.1 DB结构282<br />9.2.2 Open(options,dbname,dbptr)<br /> 的实现284<br />9.2.3 Put(k,v)和Delete(k)的实现285<br />9.2.4 Get(k)的实现292<br />9.3 MemTable的实现分析294<br />9.3.1 MemTable结构294<br />9.3.2 Add(k,v)和Get(k)的实现295<br />9.3.3 SkipList结构297<br />9.4 WAL日志的实现分析302<br />9.4.1 WAL日志的格式302<br />9.4.2 Writer的实现303<br />9.4.3 Reader的实现307<br />9.5 SSTable的实现分析311<br />9.5.1 SSTable的数据格式312<br />9.5.2 Block的写入和读取316<br />9.5.3 SSTable的写入和读取325<br />9.5.4 SSTable的读取全过程334<br />9.6 Compact的实现分析338<br />9.6.1 Compact过程339<br />9.6.2 Minor Compact340<br />9.6.3 Major Compact 343<br />9.7 多版本的实现分析352<br />9.7.1 Version和VersionEdit结构352<br />9.7.2 VersionSet结构356<br />9.8 小结361<br />后记362<br />

内容摘要
全书分为3篇:1.第1篇首先会详细讲解存储引擎的全貌,让读者能对存储引擎有一个整体的思维框架,介绍存储引擎的两大分支:基于b+树的存储引擎、基于lsm派系的存储引擎,其次对存储引擎部分涉及的一些数据结构、存储介质等概念做一个简要的介绍,为后面内容的深入学习做铺垫。
2.第二篇主要介绍基于b+树的存储引擎,在理论部分重点回答为什么选择b+树做存储引擎索引结构、b+树存储引擎解决哪些问题以及如何解决。在实践部分选择开源社区中比较有名的boltdb存储引擎项目来讲解其内部核心源码的实现细节。
3.第三篇主要介绍基于lsm派系的存储引擎,理论部分重点介绍lsmtree中各组件的功能及作用,并在此基础上扩展介绍其他几类lsm派系存储引擎的实现思路,帮助读者开阔视野,实践部分分别以bitcask、moss、leveldb等开源项目的核心源码来展开,介绍其内部实现细节。
通过阅读本书,读者不仅能对存储引擎,尤其是单机的存储引擎有一个整体的框架,而且能对两类存储引擎的实现思路及背后原理有个深刻的掌握,只有深刻理解了存储引擎的背后实现原理,读者不仅可以自己动手开发自己的存储引擎,更可以很快掌握关系型数据库或者NoSql这类组件的核心原理,对未来实际应用与开发提供参考。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP