类似推荐
编辑推荐
从数据库开发者角度,全景式解读现代数据库技术。
内容简介
本书旨在指导开发者理解现代数据库和存储引擎背后的内部概念,包含从众多书籍、论文、博客和多个开源数据库源代码中精心选取的相关材料。
本书深入介绍了数据存储、数据构建块、分布式系统和数据集群,并且指出了现代数据库之间最重要的区别在于决定存储结构和数据分布的子系统。
本书分为两部分:第一部分讨论节点本地的进程,并关注数据库系统的核心组件——存储引擎,以及最重要的一个特有元素;第二部分探讨如何将多个节点组织到一个数据库集群中。
本书主要面向数据库开发人员,以及使用数据库系统构建软件的人员,如软件开发人员、运维工程师、架构师和工程技术经理。
作者简介
作者Alex Petrov是一位数据基础架构工程师,数据库和存储系统的狂热爱好者,Apache Cassandra提交者和PMC成员,精通存储、分布式系统和算法。
章节目录
版权信息
O'Reilly Media, Inc.介绍
业界评论
本书赞誉
推荐序一
推荐序二
推荐序三
译者序
前言
第一部分 存储引擎
第1章 简介与概述
1.1 数据库架构
1.2 内存数据库与磁盘数据库
1.3 面向列与面向行的数据库
1.4 数据文件和索引文件
1.5 缓冲、不可变性和有序性
1.6 本章小结
第2章 B树基础知识
2.1 二分搜索树
2.2 基于磁盘的结构
2.3 无处不在的B树
2.4 本章小结
第3章 文件格式
3.1 动机
3.2 二进制编码
3.3 通用原理
3.4 页的结构
3.5 分槽页
3.6 单元格布局
3.7 将单元格放进分槽页
3.8 管理变长数据
3.9 版本
3.10 校验和
3.11 本章小结
第4章 B树的实现
4.1 页头
4.2 二分搜索
4.3 传播分裂与合并
4.4 再平衡
4.5 仅在右侧追加
4.6 压缩
4.7 清扫与维护
4.8 本章小结
第5章 事务处理与恢复
5.1 缓冲区管理
5.2 恢复
5.3 并发控制
5.4 本章小结
第6章 B树的变体
6.1 写时复制
6.2 抽象节点更新
6.3 惰性B树
6.4 FD树
6.5 Bw树
6.6 缓存无关B树
6.7 本章小结
第7章 日志结构存储
7.1 LSM树
7.2 读写放大与空间放大
7.3 实现细节
7.4 无序LSM存储
7.5 LSM树中的并发
7.6 日志堆叠
7.7 LLAMA与精心堆叠
7.8 本章小结
第一部分总结
第二部分 分布式系统
第8章 简介与概述
8.1 并发执行
8.2 分布式计算的误区
8.3 分布式系统抽象
8.4 两将军问题
8.5 FLP不可能定理
8.6 系统同步性
8.7 故障模型
8.8 本章小结
第9章 故障检测
9.1 心跳和ping
9.2 phi增量故障检测器
9.3 Gossip和故障检测
9.4 反向故障检测
9.5 本章小结
第10章 领导者选举
10.1 霸道选举算法
10.2 依次故障转移
10.3 候选节点/普通节点优化
10.4 邀请算法
10.5 环算法
10.6 本章小结
第11章 复制和一致性
11.1 实现可用性
11.2 臭名昭著的CAP理论
11.3 共享内存
11.4 顺序
11.5 一致性模型
11.6 会话模型
11.7 最终一致性
11.8 可调一致性
11.9 见证者副本
11.10 强最终一致性和CRDT
11.11 本章小结
第12章 反熵和传播
12.1 读修复
12.2 摘要读
12.3 提示移交
12.4 Merkle树
12.5 位图版本向量
12.6 Gossip传播
12.7 本章小结
第13章 分布式事务
13.1 多个操作的原子性
13.2 两阶段提交
13.3 三阶段提交
13.4 Calvin分布式事务
13.5 Spanner分布式事务
13.6 数据库分区
13.7 Percolator分布式事务
13.8 协调避免
13.9 本章小结
第14章 共识
14.1 广播
14.2 原子广播
14.3 Paxos
14.4 Raft
14.5 拜占庭共识
14.6 本章小结
第二部分总结
参考文献
作者介绍
译者介绍
封面介绍
数据库系统内幕是2020年由机械工业出版社华章分社出版,作者。
得书感谢您对《数据库系统内幕》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。