写作背景
数据库系统是基础系统软件“三驾马车”之一,自诞生以来已发展60余年。关系数据库以其良好的抽象,强大的表达能力,易于使用的SQL语言占据了主流地位。在长达半个世纪的发展过程中,关系数据库的理论和技术都得到了长足发展,相关书籍不计其数,每一部分的技术如SQL解析、优化与执行、事务处理、日志恢复、存储引擎、数据字典等都有详尽分析。然而,数据库技术的日臻成熟并不意味着停止发展,相反,在互联网和大数据日渐兴盛的当下,业务的复杂性、数据模型的多样性、数据规模的爆炸式增长和硬件技术的更新都为这一相对古老的技术注入了新的活力。
互联网应用以前所未有的速度全面重塑了人们的生活方式,大量的数据得以在线化,这些数据需要被存储、分析和消费,承载这些功能的数据库面临的访问量远超以往。互联网应用为适应高度变化的市场,迅速调整其业务形态和模式,也产生了更加灵活丰富的数据模型、频繁变化的负载特征,这些都要求数据库具备弹性伸缩的能力,既可以适应业务的变化,又可以尽可能地降低成本。传统的数据库大多采用单机部署,规格固定,难以满足这些要求。云计算的出现恰逢其时,它把信息化需要的基础设施作为一种服务来提供,建立超大规模的资源池,并在此基础之上提供统一的、虚拟化的抽象界面。利用容器、虚拟化、编排调度和微服务等技术在多样化硬件上建立了一个庞大的操作系统,利用云计算的能力,数据库把固定规格部署的实例变为一种服务,用户可以按需取用,并根据业务变化实时伸缩。
云原生数据库不仅仅是把传统数据库架构在云计算平台上的一种服务,而是要从整体架构上进行彻底的改造,以充分利用云计算平台资源池化的能力,将原本一体运行的数据库拆解,让计算、存储资源完全解耦,使用分布式云存储替代本地存储,将计算层变成无状态(Serverless)。云原生数据库将承载每层服务的资源池化,独立实时地伸缩资源池的大小,以匹配实时的工作负载,使得资源利用率最大化。
主要内容
本书详细介绍了数据库技术在云计算时代背景下的演进历程,通过具体的实例介绍云原生、分布式等技术是如何让数据库的内涵变得更加丰富的。
第1章回顾了数据库发展的简要历程,并以一条SQL语句的执行过程简要阐述典型关系数据库的结构、重要模块和实现原理。
第2章讲述数据库在云计算时代背景下的发展与变迁,如何从单机数据库进化到云原生分布式数据库。云计算发展对数据库不仅带来了技术上的变化,还有商业模式上的变革,因此本章还探讨了数据库技术的未来可能发展趋势。
第3章主要讲述架构在云平台上的云原生数据库基本架构设计理念,以及设计选择背后的原因。同时分析了目前市场上最重要的几个云原生数据库,如AWS Aurora、Aliyun PolarDB、Microsoft Socrates的技术特点。
第4章到第7章分别讲述云原生数据库的几个重要组件,如存储引擎、共享存储、数据库缓存和计算引擎等的实现原理。每章都遵循相同的结构,首先讲述这些模块的理论基础、一般实现方法,然后介绍在云原生数据库中的针对性改进与优化方法。
第8章详细介绍了水平扩展的分布式技术在数据库中的应用、实现原理,以及与云原生技术融合后如何将数据库技术提升到新的水平。
第9章和第10章以PolarDB为例集中介绍云原生数据库应用实践,如何创建云上数据库实例,如何更好地使用和运维,充分发挥云数据库的弹性、高可用、安全和高性价比特性。
主要作者
本书由阿里巴巴数据库产品事业部李飞飞和华东师范大学周烜教授撰写,参与撰写内容的还有周烜团队的蔡鹏教授和张蓉教授,李飞飞团队的资深技术专家黄贵,阿里云副总裁、阿里巴巴达摩院秘书长刘湘雯。阿里云数据库团队的章颖强、王剑英、胡庆达、陈宗志、王宇辉、王波、孙月、庄泽超、应珊珊、宋昭、王康、程训焘、张海平、吴晓飞、吴学强、杨树坤等多位技术专家也提供了重要的技术素材,在此一并致谢。
特别感谢阿里云智能事业群总裁、达摩院院长张建锋,中国工程院院士陈左宁,中国科学院院士梅宏为本书作序。
特别感谢李战怀教授、杜小勇教授、周傲英校长、彭智勇教授、李国良教授、崔斌教授、陈国总经理、周彦伟会长、张文升主席为本书推荐。
感谢阿里巴巴数据库事业部生态与市场负责人胡铭娅所做的组织策划工作。感谢电子工业出版社博文视点宋亚东编辑的组织策划和出版工作。
正是所有人的努力才促成了本书的面世。
由于时间有限,书中不足之处在所难免,恳请广大读者批评指正!
作者
2021年11月