易燃物汇聚 YouTube 有声书与书评
云原生数据库:原理与实践 封面

云原生数据库:原理与实践

李飞飞 等

873人在读
17万字总字数
¥49.5定价

内容简介

本书详细剖析了作为核心基础软件系统的数据库在云计算时代的技术演进历程,从架构设计、实现机制和系统优化等多个角度阐述传统数据库技术是如何一步步发展到云原生形态的。本书强调理论和实践的充分结合,分析MySQL、PostgreSQL等工业界“活”的系统实现数据库的SQL优化与执行、事务处理、缓存与索引等原理,在面对实际应用需求时做了哪些权衡与折中,面对复杂的应用场景如何优化,以及做出种种选择背后的原因。同时,本书结合阿里云在数据库领域的研发实践经验,着重讲述现代数据库从系统进化到服务的一系列核心技术原理,例如利用云计算资源池化技术、分布式技术实现数据库的高可用、弹性扩展和按需使用等。 本书内容翔实,兼具理论深度和实现细节,同时开放性地探索了数据库的最新发展方向,能够启发读者进一步深入思考。本书可作为高等院校信息类专业的本科生和硕士研究生教材,也可作为数据库行业的内核研发和系统运维等从业人员的参考书。

读者书评

★★★★★

国产云原生数据库采用分布式架构,通过数据的水平拆分以及单一服务的集群化部署,解决负载均衡、云原生分布式数据库、数据存储各层面的单点瓶颈问题。具备弹性伸缩特性,可进行数据库实例以及数据存储的动态升降配(水平扩展),实现服务能力的灵活选择。 国产数据库支持类单机数据库的账号权限体系,并且提供IP白名单、高风险SQL默认禁止等实用功能。 1、水平拆分(分库分表) 国产数据库通过在不同数据实例上挪动分库分表,实现数据库扩容,提升国产数据库总体访问量和存储容量。分布式关系型数据库支持hash+key的二级分区策略、多列字段分区,可将特定分区的热点数据散列为多个,解决分区热点问题。 2、平滑扩容 国产数据库扩容通过增加数据库实例数,将原有的分库迁移到新的数据库实例上,达到扩容的目标,过程中不影响业务正常运行。 3、读写分离 国产数据库的读写分离功能是基于只读实例所做的一种相对透明读流量切换策略。业务应用不需要修改代码,可在国产数据库控制台中增加只读实例和调整读权重,将读流量按照需要的比例在主实例与多个只读实例之间调整,写操作和事务操作则统一走主实例。 4、服务升降配 国产数据库通过集群方式部署,由多个服务节点构成一个服务实例,通过负载均衡与DNS对外提供服务。国产数据库的多个服务节点之间无状态同步,均衡处理外部请求。当服务集群的处理能力不足的时候,支持实时增加服务节点,扩展服务能力。服务层资源都利用率比较低的情况下,支持降低集群规模,降低服务层服务能力,做到服务能力弹性扩展。 5、账号和权限系统 国产数据库账号权限系统支持 GRANT、REVOKE、SHOW GRANTS、CREATE USER、DROP USER、SET PASSWORD 等语句,目前支持库级和表级权限的授予。 只有管理员账号具有创建账号和授权功能,其它账号只能由管理员账号创建,其权限只能由管理员账号授予; 管理员账号是跟数据库绑定的,没有其它数据库的权限,不能授予其它数据库的权限给某个账号。 6、全局唯一数字序列 国产数据库全局唯一数字序列的主要目标是为了生成全局唯一的数字序列,通常用于主键列、唯一键等值的生成。 国产数据库全局唯一数字序列能够被隐式使用,在表被创建为拆分表时,业务应用插入数据后,可以自动填充全局唯一主键。 国产数据库全局唯一数字序列可以被显式使用,支持单个或批量获取全局唯一数字序列。 7、秒级监控 国产数据库支持通过指令秒级监控,配合业务自身监控系统,或者对接第三方开源监控软件,实现实时监控告警效果。 8、分布式SQL引擎 国产数据库支持通过指令秒级监控,配合业务自身监控系统,或者对接第三方开源监控软件,实现实时监控告警效果。 9、高可用架构 国产数据库实例由多个国产数据库Server(服务进程)构成,通过负载均衡设备以单一连接串的方式提供服务。当一个国产数据库Server出现故障时,流量以秒级切换到其他国产数据库Server上。整个切换过程对用户透明,应用代码无需变更,应用进程无需重启。 10、表单拆分 国产数据库支持表单拆分,通过数据分区等操作将表按照指定范围划分为多个数据互不重叠的部分,支持范围分区表、列表分区表、哈希分区表、结合分区表等方式。

★★★★★

为了减少网络I/O,在Aurora中,所有的写类型只有一种,就是Redo日志,任何时候都不会写数据页。存储节点接收Redo日志,基于旧版本数据页回放日志,可以得到新版本的数据页。为了避免每次都从头开始回放数据页变更产生的Redo日志,存储节点会定期物化数据页版本。如图3-4所示,Aurora由跨AZ的一个主实例和多个副本实例组成,主实例与副本实例或存储节点间只传递Redo日志和元信息。主实例并发向6个存储节点和副本实例发送日志,当4/6的存储节点应答后,则认为日志已经持久化,对于副本实例,则不依赖其应答时间点。

★★★☆☆

这个是美国那个李飞飞教授写的书吗

★★★★★

- 云原生数据库 李飞飞 2022.1; 数据库的SQL优化与执行、事务处理、缓存与索引等原理 复杂应用场景优化 从系统进化到服务的一系列核心技术原理,例如利用云计算资源池化技术、分布式技术实现数据库的高可用、弹性扩展和按需使用等

★★★★★

与阿里的polardb云原生数据库有过亲密接触,所以阅读此书倍感亲切,通过努力,完成了单位数据库的去O尝试,中间过程可谓艰难,但最终结果是让人满意的。

★★★★★

如果想了解数据库基本原理,以及云原生时代数据库特点,学习一些新的design的思想,看看挺好的。介绍原理部分比起国内其他数据库相关书籍,算是很详细了。虽然里面有很多自卖自夸的部分,但确实polarDB 目前基本上是国内做得比较好的云数据库产品了。 不过云原生数据库毕竟是一个比较新的东西,里面很多design在实践中,特别是细节的实现上,感觉是会有很多tricky的部分的,而且在生产环境上的真正效果,还需要时间来检验吧

★★★☆☆

应该加一个副标题:以俺们家polarDB为模型。基本上就是介绍他家产品的。

★★★★★

以PolarDB为例(也涉及Aurora,因为同属MYSQL生态的缘故),阐述了云数据的主要实现方法,内容比较充实。推荐。

★★★★★

命中注定遇见你❤️那么多数据库的书,就这一本写了数据库的发展历史。喜大苦奔。

★★★☆☆

拿来当科普读物还行,不如去看看论文

书籍信息

作者李飞飞 等
出版社电子工业出版社
出版时间2022-01-01
ISBN9787121421655
分类计算机-理论知识
格式EPUB
完结状态连载中
章节数19