书籍详情
分布式数据库原理、架构与实践
作者:李海翔 著
出版社:机械工业出版社
出版时间:2021-11-01
ISBN:9787111691617
定价:¥99.00
购买这本书可以去
内容简介
这是一部对分布式数据库的核心原理、架构设计以及经典分布式数据库的实现进行深入剖析的著作,融入了作者在腾讯、Oracle等企业20余年的数据库实践经验,以及数据库领域前沿的研究成果,得到了中国人民大学杜小勇教授等多位业界知名专家的高口碑和鼎力推荐。 本书以前沿技术和工程实践为抓手,沿着问题确认、原理阐述、架构剖析、实例分析的思路,从3个方面对分布式数据进行了讲解。 分布式数据库原理。首先提出了分布式系统面临的典型问题,尤其是一致性问题;然后结合CAP原理和分布式事务处理技术中的ACID技术对这些问题(重点是一致性问题)的本质进行深挖;接着基于时钟、Paxos协议、Raft算法等给出可行的解决方案;最后深度解读事务处理技术中的MVCC、OCC、DTA等技术在近年的发展。 分布式数据库架构。讨论了影响架构的内在、外在技术因素,其中内在因素包括强一致性、高可靠性、高可用性等;外在因素包括云计算、Serveless需求等。这部分最终要解决的问题是:如何通过计算/存储分离、智能化和新硬件技术实现系统的高可扩展性、高可靠性以及高可用性? 分布式数据库实现。从工程实践的角度,以Spanner、CockroachDB等多个数据库为对象,从问题、原理、前沿技术研究成果等角度对分布式数据库的架构、事务处理技术的实现以及在实际系统中的落地进行了详细介绍。
作者简介
李海翔(网名:那海蓝蓝) 腾讯金融云数据库首席研究员,腾讯T14级专家,腾讯TDSQL分布式数据库首席架构师。 中国人民大学、北京林业大学特聘硕士导师,CCF数据库专委会委员,DTCC(中国数据库技术大会)专家委员会委员,北京市科技进步一等奖得主。申请和获得授权的专利多达70余项,在VLDB等数据库大会上发表论文若干篇,参与了多个国家863重大专项、核高基、工信部、科技部等的项目。 出版《数据库查询优化器的艺术:原理解析与SQL性能优化》《数据库事务处理的艺术:事务管理与并发控制》等数据库领域著作4本。
目录
Contents??目 录
序一
序二
序三
序四
前言
第一篇 原理
第1章 分布式数据库系统的
挑战和原理 3
1.1 分布式数据库系统的挑战 3
1.1.1 分布式系统面临的问题 4
1.1.2 数据库面临的一致性问题 7
1.1.3 分布式数据库系统面临的问题 15
1.2 分布式理论 20
1.2.1 ACID、BASE与CAP简析 21
1.2.2 CAP分布式理论 23
1.2.3 PACELC理论和CAP新进展 29
1.3 分布式系统一致性的本质 30
1.3.1 偏序与全序 30
1.3.2 有序与并发 31
第2章 深入研究一致性 33
2.1 概述 34
2.1.1 常见的分布式一致性 35
2.1.2 科研情况一览 38
2.2 结果一致性 41
2.2.1 共识问题形象化描述:拜占庭将军问题 42
2.2.2 结果一致性的应用 42
2.3 次序一致性 43
2.3.1 线性一致性 43
2.3.2 顺序一致性 47
2.3.3 因果一致性 47
2.3.4 会话一致性 48
2.4 分布式事务一致性 49
2.4.1 单机事务的一致性 49
2.4.2 分布式事务的一致性 52
2.4.3 分布式一致性与分布式事务一致性的关系 52
2.5 架构一致性 54
2.5.1 分布式系统主备一致性 54
2.5.2 去中心化的分布式系统一致性 55
第3章 一致性问题的解法 56
3.1??依赖物理时间引发的问题 56
3.2??逻辑时钟 57
3.2.1 因果(happened-before)模型 57
3.2.2??逻辑时钟的实现 58
3.2.3??逻辑时钟的缺点 58
3.2.4??物理时钟与同步问题 59
3.3??向量时钟 59
3.4??混合逻辑时钟 61
3.5??Paxos协议 64
3.5.1 Paxos协议解决问题的背景 64
3.5.2??Paxos协议中的角色 64
3.5.3 Basic Paxos协议 66
3.5.4??Paxos协议改进与扩展 67
3.6??Raft算法 74
3.6.1??Raft算法基础 74
3.6.2??Raft算法详解 75
3.6.3 Paxos算法与Raft算法的比较 78
第4章 分布式事务原理 81
4.1 概述 82
4.1.1 单机事务处理技术 82
4.1.2 分布式事务处理技术 85
4.2 基本的分布式事务并发访问控制机制 89
4.2.1 封锁并发访问控制算法 90
4.2.2 TO相关算法 91
4.2.3 CO算法 92
4.3 OCC算法 95
4.3.1 OCC算法的优势与不足 95
4.3.2 基本的OCC算法 97
4.3.3 改进的OCC算法 103
4.3.4 OCC算法与其他并发算法的融合 110
4.3.5 分布式OCC算法 117
4.4 MVCC技术 121
4.4.1 MVCC技术解决了
什么问题 122
4.4.2 MVCC技术的核心思想 123
4.4.3 可串行化的快照隔离 124
4.4.4 写快照隔离 128
4.4.5 MVCC技术实现示例 132
4.4.6 MVCC技术扩展 139
4.5 前沿的并发控制技术 140
4.5.1 动态调整时间戳算法 140
4.5.2 Data-driven算法 145
4.5.3 面向列的细粒度机制 148
4.5.4 基于硬件的改进 149
4.5.5 基于AI的改进 153
4.5.6 自适应并发访问控制算法 155
4.6 分布式提交技术 159
4.6.1 两阶段提交 159
4.6.2 三阶段提交 163
4.6.3 基于Paxos的提交 164
4.6.4 一阶段提交 166
4.7 可串行化发展历史 166
4.8 其他分布式处理技术 169
第二篇 架构
第5章 去中心化的分布式数据库架构 175
5.1 分布式存储架构 175
5.1.1 数据分布 176
5.1.2 数据管理 177
5.1.3 多副本与数据存储 179
5.1.4 存算分离 180
5.1.5 多读与多写 184
5.2 分布式查询优化与并行执行架构 187
5.2.1 查询优化 187
5.2.2 MPP 188
5.2.3 计算下推/外推 189
5.3 高可用性架构 190
5.3.1 高可用衡量指标 191
5.3.2 高可用性分类 194
5.3.3 高可用事务 195
5.3.4 高可用架构 197
5.4 分布式事务架构 198
5.4.1 事务管理器在客户端、中间件、服务器端中的实现 198
5.4.2 去中心化的并发事务框架 201
5.5 可扩展性架构 202
5.5.1 可扩展性是一种能力 202
5.5.2 事务处理的可扩展性 204
5.6 强一致性 206
5.7 解耦 206
第6章 新技术与分布式数据库架构 210
6.1 新硬件 210
6.2 智能数据库 211
6.3 云计算与数据库 213
6.3.1 云原生 214
6.3.2 云数据库 216
6.3.3 Serverless数据库 217
6.4 HTAP 218
6.4.1 HTAP概念与HTAC架构 218
6.4.2 行列混存 220
6.5 下一代数据库 221
6.5.1 数据库技术简史 221
6.5.2 下一代数据库技术特征 228
......
序一
序二
序三
序四
前言
第一篇 原理
第1章 分布式数据库系统的
挑战和原理 3
1.1 分布式数据库系统的挑战 3
1.1.1 分布式系统面临的问题 4
1.1.2 数据库面临的一致性问题 7
1.1.3 分布式数据库系统面临的问题 15
1.2 分布式理论 20
1.2.1 ACID、BASE与CAP简析 21
1.2.2 CAP分布式理论 23
1.2.3 PACELC理论和CAP新进展 29
1.3 分布式系统一致性的本质 30
1.3.1 偏序与全序 30
1.3.2 有序与并发 31
第2章 深入研究一致性 33
2.1 概述 34
2.1.1 常见的分布式一致性 35
2.1.2 科研情况一览 38
2.2 结果一致性 41
2.2.1 共识问题形象化描述:拜占庭将军问题 42
2.2.2 结果一致性的应用 42
2.3 次序一致性 43
2.3.1 线性一致性 43
2.3.2 顺序一致性 47
2.3.3 因果一致性 47
2.3.4 会话一致性 48
2.4 分布式事务一致性 49
2.4.1 单机事务的一致性 49
2.4.2 分布式事务的一致性 52
2.4.3 分布式一致性与分布式事务一致性的关系 52
2.5 架构一致性 54
2.5.1 分布式系统主备一致性 54
2.5.2 去中心化的分布式系统一致性 55
第3章 一致性问题的解法 56
3.1??依赖物理时间引发的问题 56
3.2??逻辑时钟 57
3.2.1 因果(happened-before)模型 57
3.2.2??逻辑时钟的实现 58
3.2.3??逻辑时钟的缺点 58
3.2.4??物理时钟与同步问题 59
3.3??向量时钟 59
3.4??混合逻辑时钟 61
3.5??Paxos协议 64
3.5.1 Paxos协议解决问题的背景 64
3.5.2??Paxos协议中的角色 64
3.5.3 Basic Paxos协议 66
3.5.4??Paxos协议改进与扩展 67
3.6??Raft算法 74
3.6.1??Raft算法基础 74
3.6.2??Raft算法详解 75
3.6.3 Paxos算法与Raft算法的比较 78
第4章 分布式事务原理 81
4.1 概述 82
4.1.1 单机事务处理技术 82
4.1.2 分布式事务处理技术 85
4.2 基本的分布式事务并发访问控制机制 89
4.2.1 封锁并发访问控制算法 90
4.2.2 TO相关算法 91
4.2.3 CO算法 92
4.3 OCC算法 95
4.3.1 OCC算法的优势与不足 95
4.3.2 基本的OCC算法 97
4.3.3 改进的OCC算法 103
4.3.4 OCC算法与其他并发算法的融合 110
4.3.5 分布式OCC算法 117
4.4 MVCC技术 121
4.4.1 MVCC技术解决了
什么问题 122
4.4.2 MVCC技术的核心思想 123
4.4.3 可串行化的快照隔离 124
4.4.4 写快照隔离 128
4.4.5 MVCC技术实现示例 132
4.4.6 MVCC技术扩展 139
4.5 前沿的并发控制技术 140
4.5.1 动态调整时间戳算法 140
4.5.2 Data-driven算法 145
4.5.3 面向列的细粒度机制 148
4.5.4 基于硬件的改进 149
4.5.5 基于AI的改进 153
4.5.6 自适应并发访问控制算法 155
4.6 分布式提交技术 159
4.6.1 两阶段提交 159
4.6.2 三阶段提交 163
4.6.3 基于Paxos的提交 164
4.6.4 一阶段提交 166
4.7 可串行化发展历史 166
4.8 其他分布式处理技术 169
第二篇 架构
第5章 去中心化的分布式数据库架构 175
5.1 分布式存储架构 175
5.1.1 数据分布 176
5.1.2 数据管理 177
5.1.3 多副本与数据存储 179
5.1.4 存算分离 180
5.1.5 多读与多写 184
5.2 分布式查询优化与并行执行架构 187
5.2.1 查询优化 187
5.2.2 MPP 188
5.2.3 计算下推/外推 189
5.3 高可用性架构 190
5.3.1 高可用衡量指标 191
5.3.2 高可用性分类 194
5.3.3 高可用事务 195
5.3.4 高可用架构 197
5.4 分布式事务架构 198
5.4.1 事务管理器在客户端、中间件、服务器端中的实现 198
5.4.2 去中心化的并发事务框架 201
5.5 可扩展性架构 202
5.5.1 可扩展性是一种能力 202
5.5.2 事务处理的可扩展性 204
5.6 强一致性 206
5.7 解耦 206
第6章 新技术与分布式数据库架构 210
6.1 新硬件 210
6.2 智能数据库 211
6.3 云计算与数据库 213
6.3.1 云原生 214
6.3.2 云数据库 216
6.3.3 Serverless数据库 217
6.4 HTAP 218
6.4.1 HTAP概念与HTAC架构 218
6.4.2 行列混存 220
6.5 下一代数据库 221
6.5.1 数据库技术简史 221
6.5.2 下一代数据库技术特征 228
......
猜您喜欢