网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 分布式数据库原理、架构与实践 |
分类 | 教育考试-考试-计算机类 |
作者 | 李海翔 |
出版社 | 机械工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书是国内少见的从底层原理切入,真正讲透分布式数据库必须解决的一致性、高可用性、高可靠性、访问控制等问题的专著。难能可贵的是,作者还通过阅读和研究近几十年发表的近300份的学术论文、前沿报告,再结合自己20余年的数据库开发和研究经验,针对每类问题都给出了解决方案或者解决方向。这类切底层、有深度、讲原理、配方案、给框架、析案例,真正做到理论+实践的分布式数据库图书,对作者要求非常高。本书作者李海翔老师,在数据库研发领域工作20余年,在多个世界知名互联网或数据库类公司都担任过一线要职,实践经验丰富和研究深度也足够,是这类图书少见的优质作者。作为一位出版编辑,能参与到这本书的工作中,我深感荣幸。 内容推荐 本书从原理、结构和案例三个维度深度剖析了如何设计一款分布式数据库。本书内容以腾讯金融级分布数据库TDSQL的研发过程为基础,深入分析了分布式数据库的底层运行原理、核心实现技术、完整架构和经典案例,其中重点分析了一致性问题。一致性问题也是设计分布式数据库时面临的主要问题,可以说只要完美解决了一致性问题,那一款高可用的分布式数据库的设计工作就已经完成80%了。本书共分为三篇:第一篇——原理篇(第1~4章):本篇先罗列出设计一款分布式数据库需要面对的挑战都有哪些,然后指出分布式设计的基本理论,最后总体分析了一致性问题的本质是什么;然后用一章的篇幅深入分析了不同类型的一致性问题的特点、本质和出现的根本原因,这为解决一致性问题奠定了基础;接着分了解决一致性问题的具体方案,并指出各种方案的重点和原理;最后则总体介绍分布式事务的原理和多种实现技术。第二篇——架构篇(第5~6章):本篇以分布式事务处理技术作为主线,深入讨论了与分布式数据库架构相关的内容。其中,第5章从数据库架构的角度,对高可用性、可扩展性、存算分离架构解耦等影响架构的经典技术进行讨论;第6章从数据库架构的角度,对新硬件、云计算、微服务等影响架构的新技术进行深入分析。第三篇——典型案例篇(第7~10章)本篇通过对业界经典案例的分析,帮读者夯实对架构、事务处理技术等内容的理解。本篇首先Spanner开始,探索其分布式架构、强一致性技术和事务处理技术。接下来对Percolator事务技术和开源数据库CockroachDB的分布式架构、事务处理技术、因果一致性进行讨论。最后,还对内存型数据库Hekaton、文档型分布式数据库Mong 目录 序一 序二 序三 序四 前言 第一篇 原理 第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 第三篇 典型案例 第7章 Spanner深度探索 233 7.1 从Spanner的两篇重点论文说起 233 7.2 Spanner的架构 234 7.3 Spanner的事务处理模型 236 7.3.1 读事务的分类和意义 237 7.3.2 分布式一致性实现原理 237 7.3.3 写操作一致性的实现原理 239 7.3.4 Truetime事务处理机制的缺点 241 7.3.5 深入理解Spanner的悲观策略 242 7.3.6 Spanner与MVCC 243 7.3.7 读副本数据 244 7.3.8 全局读事务的一致性 244 7.3.9 只读事务 245 7.4 Spanner与CAP 246 第8章 Percolator事务处理模型 247 8.1 Percolator的架构 247 8.2 Percolator的事务处理 248 8.2.1 事务处理整体过程 248 8.2.2 数据项上存储的事务信息 249 8.2.3 事务提交过程 249 8.2.4 事务读数据过程 252 8.2.5 Percolator的事务处理示例 253 第9章 CockroachDB深度探索 255 9.1 CockroachDB的架构 255 9.2 CockroachDB事务处理模型 257 9.2.1 事务处理相关的数据结构 258 9.2.2 事务处理的阶段 259 9.2.3 事务处理的整体过程 260 9.2.4 事务的并发冲突 261 9.2.5 事务自动终止 264 9.2.6 隔离级别 265 9.3 分布式一致性实现原理 265 第10章 其他数据库 267 10.1 内存型数据库Hekaton的事务处理机制 267 10.1.1 Hekaton的技术架构 267 10.1.2 Hekaton的事务管理 271 10.1.3 Hekaton的并发控制 275 10.2 文档型分布式数据库MongoDB 276 10.2.1 MongoDB的架构 277 10.2.2 MongoDB的事务处理技术 277 10.3 列存分布式数据库HBase 278 10.3.1 HBase的架构 278 10.3.2 HBase的事务处理技术 279 10.4 Greenplum 280 10.5 图、键值、文档事务处理技术 282 10.5.1 图模型事务处理技术 283 10.5.2 键值、文档模型事务处理技术 284 10.6 深入讨论数据库架构 285 10.6.1 数据库的通用架构 285 10.6.2 事务型数据库的架构 286 10.6.3 主流分布式数据库的技术比较 290 参考文献 292 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。