失效链接处理 |
云原生数据库:原理与实践 李飞飞 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
https://product.dangdang.com/11633439688.html
相关截图: 资料简介: 本书详细剖析了作为核心基础软件系统的数据库在云计算时代的技术演进历程,从架构设计、实现机制和系统优化等多个角度阐述传统数据库技术是如何一步步发展到云原生形态的。本书强调理论和实践的充分结合,分析MySQL、PostgreSQL等工业界“活”的系统实现数据库的SQL优化与执行、事务处理、缓存与索引等原理,在面对实际应用需求时做了哪些权衡与折中,面对复杂的应用场景如何优化,以及做出种种选择背后的原因。同时,本书结合阿里云在数据库领域的研发实践经验,着重讲述现代数据库从系统进化到服务的一系列核心技术原理,例如利用云计算资源池化技术、分布式技术实现数据库的高可用、弹性扩展和按需使用等。 资料目录: 第1章 数据库发展历程 1
1.1 数据库发展概述 2 1.1.1 萌芽 2 1.1.2 商业化起步 3 1.1.3 发展成熟 3 1.1.4 云原生与分布式时代 4 1.2 数据库技术发展趋势 6 1.2.1 云原生与分布式 6 1.2.2 大数据与数据库一体化 6 1.2.3 软硬件一体化 7 1.2.4 多模 7 1.2.5 智能化运维 8 1.2.6 安全可信 8 1.3 关系数据库主要技术原理 8 1.3.1 接入管理 9 1.3.2 查询引擎 10 1.3.3 事务处理 14 1.3.4 存储引擎 17 参考文献 19
第2章 数据库与云原生 20 2.1 数据库在云时代的发展 21 2.1.1 云计算时代的兴起 21 2.1.2 数据库作为一种服务 22 2.2 数据库在云原生时代面临的挑战 23 2.3 云原生数据库的主要特点 24 2.3.1 分层架构 24 2.3.2 资源解耦与池化 24 2.3.3 弹性伸缩能力 24 2.3.4 高可用与数据一致性 25 2.3.5 多租户与资源隔离 26 2.3.6 智能化运维 26 参考文献 26
第3章 云原生数据库架构 27 3.1 设计理念 28 3.1.1 云原生数据库的本质 28 3.1.2 计算与存储分离 29 3.2 架构设计 30 3.3 典型的云原生数据库 31 3.3.1 AWS Aurora 31 3.3.2 PolarDB 37 3.3.3 Microsoft Socrates 40 参考文献 44
第4章 存储引擎 45 4.1 数据组织 46 4.1.1 B+树 47 4.1.2 InnoDB引擎中的B+树 49 4.1.3 LSM-tree 52 4.2 并发控制 56 4.2.1 基本概念 56 4.2.2 锁方法 56 4.2.3 时间戳方法 58 4.2.4 MVCC 61 4.2.5 InnoDB MVCC的实现 63 4.3 日志与恢复 65 4.3.1 基本概念 65 4.3.2 逻辑日志 66 4.3.3 物理日志 66 4.3.4 恢复原理 67 4.3.5 MySQL的Binlog 68 4.3.6 InnoDB的物理日志 68 4.4 新型LSM存储引擎 70 4.4.1 PolarDB X-Engine 70 4.4.2 高性能事务处理 72 4.4.3 软硬结合优化 75 4.4.4 低成本分层存储 78 4.4.5 双存储引擎技术 84 4.4.6 实验评估 85 参考文献 88
第5章 高可用共享存储系统 89 5.1 高可用基础 90 5.1.1 Primary-Backup 90 5.1.2 Quorum 92 5.1.3 Paxos 93 5.1.4 Raft 95 5.1.5 Parallel Raft 98 5.2 集群高可用 100 5.2.1 MySQL集群高可用 100 5.2.2 PolarDB高可用 103 5.3 共享存储架构 116 5.3.1 Aurora存储系统 117 5.3.2 PolarFS 119 5.4 文件系统优化 121 5.4.1 用户态I/O计算 121 5.4.2 近存储计算 124 参考文献 130
第6章 数据库缓存 131 6.1 数据库缓存简介 132 6.1.1 数据库缓冲作用 132 6.1.2 缓冲池 132 6.2 缓存恢复 133 6.2.1 云环境对缓存的挑战 133 6.2.2 基于CPU与内存分离的缓存恢复 133 6.3 PolarDB的实践 135 6.3.1 缓冲池的优化 135 6.3.2 数据字典缓存和文件系统缓存的优化 140 6.3.3 基于RDMA的共享内存池 141 参考文献 146
第7章 计算引擎 147 7.1 查询处理概述 148 7.1.1 数据库查询处理概述 148 7.1.2 并行查询概述 149 7.2 查询执行模型 151 7.2.1 火山模型 151 7.2.2 编译执行模型 152 7.2.3 向量化执行模型 152 7.3 查询优化概述 153 7.3.1 查询优化整体介绍 153 7.3.2 逻辑查询优化 153 7.3.3 物理查询优化 154 7.3.4 其他优化方法 154 7.4 PolarDB查询引擎实践 155 7.4.1 PolarDB的并行查询技术 155 7.4.2 PolarDB的执行计划管理 168 7.4.3 PolarDB的向量化执行 175 参考文献 178
第8章 云原生与分布式融合 179 8.1 分布式数据库的基本原理 180 8.1.1 分布式数据库架构 180 8.1.2 数据分区 181 8.1.3 分布式事务 183 8.1.4 MPP并行查询处理 187 8.2 分布式与云原生 188 8.2.1 共享存储架构 189 8.2.2 无共享存储架构 189 8.3 云原生分布式数据库 PolarDB-X 190 8.3.1 架构设计 190 8.3.2 拆分方式 191 8.3.3 全局二级索引 192 8.3.4 分布式事务 193 8.3.5 HTAP 193 参考文献 194
第9章 云原生数据库PolarDB 应用实践 195 9.1 创建云上实例 196 9.2 数据库接入 198 9.2.1 相关账号的创建 198 9.2.2 图形化访问 198 9.2.3 连接方式访问 199 9.3 基本操作 202 9.3.1 数据库与表创建 202 9.3.2 创建测试数据 203 9.3.3 账号与权限管理 204 9.3.4 数据查询 205 9.4 云上数据迁移 208 9.4.1 云上数据的迁入 208 9.4.2 云上数据的导出 211
第10章 PolarDB运维管理 212 10.1 数据库运维概述 213 10.2 扩展资源 213 10.2.1 系统扩展 213 10.2.2 手动升降配 213 10.2.3 手动增减节点 214 10.2.4 自动升降配和增减节点 214 10.3 备份与恢复 215 10.3.1 备份 215 10.3.2 恢复 217 10.4 监控与诊断 218 10.4.1 监控与报警 218 10.4.2 诊断与优化 218 参考文献 220
|