云原生数据库:原理与实践(全彩)

云原生数据库:原理与实践(全彩)

编辑推荐

阿里云数据库领域数十年的研发实践经验结晶。

内容简介

本书详细剖析了作为核心基础软件系统的数据库在云计算时代的技术演进历程,从架构设计、实现机制和系统优化等多个角度阐述传统数据库技术是如何一步步发展到云原生形态的。

本书强调理论和实践的充分结合,分析MySQL、PostgreSQL等工业界“活”的系统实现数据库的SQL优化与执行、事务处理、缓存与索引等原理,在面对实际应用需求时做了哪些权衡与折中,面对复杂的应用场景如何优化,以及做出种种选择背后的原因。

同时,本书结合阿里云在数据库领域的研发实践经验,着重讲述现代数据库从系统进化到服务的一系列核心技术原理,例如利用云计算资源池化技术、分布式技术实现数据库的高可用、弹性扩展和按需使用等。

本书内容翔实,兼具理论深度和实现细节,同时开放性地探索了数据库的发展方向,能够启发读者进一步深入思考。本书可作为高等院校信息类专业的本科生和硕士研究生教材,也可作为数据库行业的内核研发和系统运维等从业人员的参考书。

作者简介

李飞飞

阿里巴巴集团副总裁,阿里云智能事业群数据库产品事业部与达摩院数据库与存储实验室负责人,ACM杰出科学家。曾获ACM与IEEE多项大奖,世界互联网大会2019全球领先科技成果奖,浙江省科技进步一等奖,中国电子学会科技进步一等奖等。带领团队研发了阿里云企业级云原生数据库系统。担任多个国际及国内一流学术期刊和学术会议的编委、主席。中国计算机学会CCF大数据专家委员会副主任,数据库专业委员会常委。担任多个国际一流学术期刊和学术会议的编委、主席(VLDB 2021与IEEE ICDE 2021工业界主席)。

 

周烜

华东师范大学数据科学与工程学院教授、副院长。2001年本科毕业于复旦大学,2005年在新加坡国立大学取得博士学位,2005年至2010年期间先后在德国 L3S 研究中心和澳大利亚联邦科工组织从事科研工作,随后在中国人民大学任教,于2017年加入华东师范大学。他的研究兴趣包括数据库系统和信息检索技术。他曾参与和负责多个国内外的科研项目和工业合作项目,开发各种数据管理系统,在分布式数据库上的研究成果获2019年国家科技进步二等奖。

 

蔡鹏

华东师范大学数据科学与工程学院教授,博士生导师。2015年6月加入华东师范大学数据科学与工程学院,在此之前先后就职于IBM中国研究院和百度(中国)有限公司。在VLDB、ICDE、SIGIR、ACL等国际顶级会议上发表多篇学术论文。目前的研究方向为内存事务处理、基于机器学习技术的自适应数据管理系统。曾获国家科技进步二等奖、教育部科技进步一等奖。


张蓉

华东师范大学数据科学与工程学院教授,博士生导师。自2001年起从事分布式系统、数据库相关研究与开发工作,曾作为负责人或者主要参与人员参加国家自然科学基金课题、国家863计划项目及多项企业合作项目的研究。工作成果获得上海市科技进步一等奖(排名第四)以及国家科学技术进步二等奖(排名第七)。研究兴趣包括分布式数据管理、数据流管理和大数据基准评测。


黄贵

阿里巴巴资深技术专家,阿里云数据库总架构师,在阿里巴巴一直从事分布式系统、分布式数据库内核的研发工作,曾参与自研数据库PolarDB系统的研发工作。技术专长和研究兴趣为分布式系统设计、分布式一致性协议、数据库内核实现等领域,曾在SIGMOD、FAST、VLDB等国际顶级会议上发表多篇学术论文,获得中国电子学会科技进步一等奖。

 

刘湘雯

阿里云副总裁、阿里巴巴达摩院秘书长、中国计算机学会常务理事。加入阿里巴巴十多年来,先后带领团队搭建了阿里巴巴集团技术大中台战略的三层治理体系,完成了阿里巴巴达摩院从0到1的建设落地。当前任阿里云市场营销与公共事务部总经理,代表阿里云对外构建了由高校、政府、开发者、创新创业者组成的合作网络,推动数字经济时代阿里云2.0品牌的升级。


章节目录

版权信息

内容简介

推荐序一

推荐序二

推荐序三

推荐语

前言

第1章 数据库发展历程

1.1 数据库发展概述

1.1.1 萌芽

1.1.2 商业化起步

1.1.3 发展成熟

1.1.4 云原生与分布式时代

1.2 数据库技术发展趋势

1.2.1 云原生与分布式

1.2.2 大数据与数据库一体化

1.2.3 软硬件一体化

1.2.4 多模

1.2.5 智能化运维

1.2.6 安全可信

1.3 关系数据库主要技术原理

1.3.1 接入管理

1.3.2 查询引擎

1.3.3 事务处理

1.3.4 存储引擎

参考文献

第2章 数据库与云原生

2.1 数据库在云时代的发展

2.1.1 云计算时代的兴起

2.1.2 数据库作为一种服务

2.2 数据库在云原生时代面临的挑战

2.3 云原生数据库的主要特点

2.3.1 分层架构

2.3.2 资源解耦与池化

2.3.3 弹性伸缩能力

2.3.4 高可用与数据一致性

2.3.5 多租户与资源隔离

2.3.6 智能化运维

参考文献

第3章 云原生数据库架构

3.1 设计理念

3.1.1 云原生数据库的本质

3.1.2 计算与存储分离

3.2 架构设计

3.3 典型的云原生数据库

3.3.1 AWS Aurora

3.3.2 PolarDB

3.3.3 Microsoft Socrates

参考文献

第4章 存储引擎

4.1 数据组织

4.1.1 B+树

4.1.2 InnoDB引擎中的B+树

4.1.3 LSM-tree

4.2 并发控制

4.2.1 基本概念

4.2.2 锁方法

4.2.3 时间戳方法

4.2.4 MVCC

4.2.5 InnoDB MVCC的实现

4.3 日志与恢复

4.3.1 基本概念

4.3.2 逻辑日志

4.3.3 物理日志

4.3.4 恢复原理

4.3.5 MySQL的Binlog

4.3.6 InnoDB的物理日志

4.4 新型LSM存储引擎

4.4.1 PolarDB X-Engine

4.4.2 高性能事务处理

4.4.3 软硬结合优化

4.4.4 低成本分层存储

4.4.5 双存储引擎技术

4.4.6 实验评估

参考文献

第5章 高可用共享存储系统

5.1 高可用基础

5.1.1 Primary-Backup

5.1.2 Quorum

5.1.3 Paxos

5.1.4 Raft

5.1.5 Parallel Raft

5.2 集群高可用

5.2.1 MySQL集群高可用

5.2.2 PolarDB高可用

5.3 共享存储架构

5.3.1 Aurora存储系统

5.3.2 PolarFS

5.4 文件系统优化

5.4.1 用户态I/O计算

5.4.2 近存储计算

参考文献

第6章 数据库缓存

6.1 数据库缓存简介

6.1.1 数据库缓冲作用

6.1.2 缓冲池

6.2 缓存恢复

6.2.1 云环境对缓存的挑战

6.2.2 基于CPU与内存分离的缓存恢复

6.3 PolarDB的实践

6.3.1 缓冲池的优化

6.3.2 数据字典缓存和文件系统缓存的优化

6.3.3 基于RDMA的共享内存池

参考文献

第7章 计算引擎

7.1 查询处理概述

7.1.1 数据库查询处理概述

7.1.2 并行查询概述

7.2 查询执行模型

7.2.1 火山模型

7.2.2 编译执行模型

7.2.3 向量化执行模型

7.3 查询优化概述

7.3.1 查询优化整体介绍

7.3.2 逻辑查询优化

7.3.3 物理查询优化

7.3.4 其他优化方法

7.4 PolarDB查询引擎实践

7.4.1 PolarDB的并行查询技术

7.4.2 PolarDB的执行计划管理

7.4.3 PolarDB的向量化执行

参考文献

第8章 云原生与分布式融合

8.1 分布式数据库的基本原理

8.1.1 分布式数据库架构

8.1.2 数据分区

8.1.3 分布式事务

8.1.4 MPP并行查询处理

8.2 分布式与云原生

8.2.1 共享存储架构

8.2.2 无共享存储架构

8.3 云原生分布式数据库PolarDB-X

8.3.1 架构设计

8.3.2 拆分方式

8.3.3 全局二级索引

8.3.4 分布式事务

8.3.5 HTAP

参考文献

第9章 云原生数据库PolarDB应用实践

9.1 创建云上实例

9.2 数据库接入

9.2.1 相关账号的创建

9.2.2 图形化访问

9.2.3 连接方式访问

9.3 基本操作

9.3.1 数据库与表创建

9.3.2 创建测试数据

9.3.3 账号与权限管理

9.3.4 数据查询

9.4 云上数据迁移

9.4.1 云上数据的迁入

9.4.2 云上数据的导出

第10章 PolarDB运维管理

10.1 数据库运维概述

10.2 扩展资源

10.2.1 系统扩展

10.2.2 手动升降配

10.2.3 手动增减节点

10.2.4 自动升降配和增减节点

10.3 备份与恢复

10.3.1 备份

10.3.2 恢复

10.4 监控与诊断

10.4.1 监控与报警

10.4.2 诊断与优化

参考文献

云原生数据库:原理与实践(全彩)是2022年由电子工业出版社出版,作者李飞飞,周烜,蔡鹏,张蓉,黄贵,刘湘雯。

得书感谢您对《云原生数据库:原理与实践(全彩)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
MySQL数据库基础与实践 电子书

本书从实用的角度出发,全面讲解MySQL数据库技术。
数据库系统——原理、设计与编程(MOOC版) 电子书

数据库原理与技术应用:关系模型、SQL、设计、管理及NoSQL等。
游戏引擎原理与实践 卷1:基础框架 电子书

着重讲解游戏引擎的基础知识和工作原理,并结合配套的游戏引擎示例和详尽的代码,介绍游戏引擎开发的技术细节。
新一代SDN:VMwareNSX网络原理与实践 电子书

本书适合网络和虚拟化设计架构师、项目实施工程师和IT管理人员阅读。
云计算与大数据 电子书

本书抽丝剥茧地讲述了云计算简史、大数据的前世今生,纠正了一些时下被“误导”的观点,分析了大数据与Hadoop的关系、云计算与大数据的关系,从开源vs.闭源的角度阐释了整个业界的...
数据库系统原理及MySQL应用教程(第2版) 电子书

本书全面系统地讲述了数据库技术的基本原理和应用。
SpringSecurity原理与实战 电子书

本书主要介绍基于SpringSecurity构建系统安全性的技术体系和工程实践。