十年经典再更新

时隔十年,《高性能MySQL》再次出版,这是该系列的第四个版本。过来十年,《高性能MySQL 第三版》曾经成为除了文档之外,MySQL相干开发者、DBA等从业者的必读书目,在豆瓣上也收到了9.3分的好评。另一方面,在这十年间,MySQL技术、数据库技术以及数据库的生态都产生了很大的变动,最新版的图书也相应做了大量的更新、精简与订正。这次仍旧由我和宁海元、张新铭等一起实现翻译。如果,英文浏览没有大的阻碍的敌人,依然举荐浏览英文原版,目前在京东、亚马逊等平台都能够买到。如果,想读中文版的敌人,这次出版的《高性能MySQL 第四版》则是十分不错的抉择。本文,概述了第四版的一些更新与扭转,以及MySQL在中国这十年的倒退。另外,文末有一个“回复SQL,抽奖支付赠书”的流动,感兴趣的间接跳到最初局部。新书在京东上曾经上线。

MySQL在中国的这十年

过来十年也是中国MySQL疾速倒退的十年。在2022年,CSDN的中国开发者调查报告中的数据,在中国,有73%的开发者都在应用MySQL,稳居第一名,且遥遥领先其余数据库。一方面是中国互联网在过来十年的疾速倒退背地,须要海量的、低成本的数据库存储计划,另一方面,更重要的,随着中国开发者、DBA能力加强,从原来的用好开源,逐渐成长为开源背地的重要的贡献力量。无论是,阿里、腾讯、华为、百度、去哪儿等公司,都在通过各种形式,一方面输入本人的最佳实际,另一方面也在向MySQL代码库奉献本人的力量。

随着,中国厂商在MySQL技术应用和商业上的深刻,以阿里云、腾讯云、华为云为代表的中国技术厂商曾经成为MySQL社区重要力量:在2018年,阿里云数据库RDS团队,因为多源复制、FlashBack等性能取得了MySQL Community Awards,彭立勋作为代表在Percona Live承受颁奖:参考2018年,在5.7.17版本,由翟卫祥奉献的对于Group Commit和GTID的优化:参考;2021年,在8.0.24版本中,由翟卫祥修复的对于InnoDB Recovery阶段性能问题:参考。除此之外,翟卫祥其实是比拟频繁的呈现在MySQL Release Note的人。也因为这些奉献,翟卫祥也在2019年也取得了MySQL Community Contributor of the Year的奖项:参考。2019年,腾讯游戏CROS DBA团队的陈福荣(Vin Chen)、梁飞龙(Felix Liang)也取得MySQL Community Contributor Award:参考。2022年,彭祥在往年成为MariaDB Foundation的Board Members,他也是阿里云RDS业务的负责人。2022年7月,在最新的8.0.30版本中,来自腾讯CDB团队的Yuxiang Jiang和Zhou Xinjing修复了局部对于InnoDB、PS相干的Bug:参考。另外,在MySQL Bug零碎上,也常常可能看到国内厂商的身影,次要是阿里云和腾讯。

在国内社区,诸如丁奇、彭立勋、周彦伟、杨建荣、韩锋、杨奇龙、叶金荣、沃趣科技、盖国强、何登成等都十分沉闷,通过ACMUG、DBAplus、墨天轮等平台推广数据库的最佳实际。另外,国内各个大厂也都还有暗藏着十分多的“扫地僧”级别的高手,出头露面比拟少,诸如ba0tiao、江神、Jimmy(这里无奈一一列举)也是中国MySQL社区十分重要力量。MySQL凭借着其弱小的影响力,也影响着一系列的产品的倒退。在云时代,MySQL仍旧是配角。在2014年AWS推出的Aurora、2017年阿里云推出的PolarDB、2018年腾讯云公布CynosDB(TDSQL-C前身)都首先抉择了兼容MySQL。而泛滥新的数据库,诸如OceanBase、TiDB、PolarDB-X、ClickHouse、AnalyticDB等都或者抉择兼容MySQL或者应用MySQL相似的SQL方言。而各个云厂商,凭借着MySQL凋谢、开源,基于其构建的RDS、或者云原生数据库都赚的盆满钵满,通常,都可能占到其数据库支出的50%以上。这也从经济基础上,保障了各个云厂商依旧会动摇不易的在MySQL方向投入大量人力,推动MySQL的倒退。到目前为止,MySQL数据库也成为了“开源技术”和“云厂商”之间,在技术利益十分宏大的时候,仍旧可能较为“谐和”相处的案例之一。兼容MySQL的分布式数据库寰球的MySQL数量约为800万个,大量的运行场景曾经催生更加垂直和高要求的产品。兼容MySQL的分布式数据库就是其最重要的一个方向。从需要上来说,随着数据的快速增长,在越来越多的场景下,MySQL单机架构曾经无奈满足需要,分布式数据库在过来10年也在疾速倒退。2010年,阳振坤在淘宝外部开始研发OceanBase,自2015年后,开始逐渐在内部摸索商业化,同时兼容MySQL和Oracle;TiDB于2015年正式公布,兼容MySQL协定;2020年,在云栖大会上,阿里云数据库负责人李飞飞也发表,DRDS正式降级为PolarDB-X,并于2021年正式开源,也是兼容MySQL协定。2018年,ShardingSphere公布(前身为Sharding-JDBC),也是兼容MySQL的。在中国当下,分布式数据库的竞争是异样强烈。在往年(2022年)的4月份,TiDB公布了6.0版本,将TiFlash也正式开源,之后也很快上线TiDB Cloud,上线了阿里云心选商城。OceanBase也于往年的8月公布了4.0版本,单机部署最小反对4核8G;剖析能力实现了由全场景向量化能力笼罩;OceanBase Cloud也会很快上线。另外,PolarDB-X也在继续的加强,公布包含了与MySQL兼容性比拟好的AUTO_INCREMENT、数据热点诊断、冷热数据存储拆散、Flashback Query等性能。另外,ShardingSphere、TDSQL等也在疾速倒退。另外,在往年9月,TiDB和OceanBase都不谋而合的在美国硅谷开始做产品推广,这个竞争曾经逐渐从国内延长到了海内。这也是该行业疾速倒退与凋敝的体现。自此,中国的数据库曾经逐渐从最早的用好开源、奉献开源,缓缓走向自主研发、独立品牌的模式,也从国内竞争开始走向更大的国内市场,这是中国数据库在商业模式、技术能力、生态建设都更加弱小的体现。

新的版本,新的技术

MySQL 5.1是十年前的支流版本,期间经验了5.5、5.6、5.7,到当初8.0逐渐成为以后的支流版本。在最新的“第四版”公布时,MySQL最新的版本为8.0.20,所以,书中很多案例与测试也都在该版本中通过了测试与验证。这次出版的《高性能MySQL 第四版》则新增了过来十年MySQL各个新版本个性。新的版本背地代表的是新的技术。例如,从5.6开始引入、5.7和8.0版本中逐渐成熟的GTID技术,大大提高了MySQL复制时的数据一致性、以及可运维性,也使得MySQL在整个数据流生态中,变得更加易用;随着,NoSQL的风行以及局部利用或者模块中Schema Free设计的呈现,MySQL在最近的版本中,始终在一直加强对JSON的反对,包含操作JSON函数反对、性能优化、表达式函数反对等,使得在MySQL中也能够十分自在、高效的治理JSON数据。性能治理始终是该书目标重点局部,最新版本的MySQL也在一直的欠缺Performance Schema(简称“PS”),帮忙用户更加零碎的进行性能治理与优化。在第四版中新增的第三章则零碎的介绍了PS,能够帮忙读者零碎的理解如何通过PS查看数据库/InnoDB外部的运行指标,从而观测性能并针对性的进行优化。云数据库曾经成为数据库畛域最重要的方向。本书也减少了对于云数据库的篇幅,并以AWS Aurora、谷歌云数据库、云主机自建数据库为代表,介绍了以后云数据库的应用、能力以及限度等。随着云计算、IoT、互联网等技术倒退,数据量也始终在快速增长,本书也减少了对于如果扩大MySQL的章节与篇幅,包含通过只读节点进行的读扩大,以及如何通过拆分的形式进行写扩大等。另外,本书另一个重要特点是做了大量删减,全书也从原来的第三版约800页精简到约350页:删除了所有的MyISAM引擎相干的内容。MyISAM引擎是最早版本MySQL的原生引擎,但因为其架构缺点、不反对事务、性能等起因,自8.0版本开始彻底被InnoDB替换。 删除了大量对于如何配置MySQL的内容。随着工夫的推移,当初的MySQL文档曾经十分详尽的形容了这部分操作。本书则侧重于原理、应用、最佳实际等。  删除或大大简化了诸如分区表、调度事件、全文索引、Query Cache等个性的介绍。尽管,在十年前这些都还算是MySQL的“高级个性”,但当初曾经为大家所相熟,而且文档曾经了十分具体的形容,本书则不再介绍这些内容。当然,仍旧保留了最重要的局部,包含MySQL架构与根底原理、可靠性治理、SQL优化、索引设计与优化、硬件与软件适配优化、表构造设计规范与原理、复制技术、备份与复原、垂直与程度扩大、云数据库等。整体上,仍旧十分举荐大家购买与浏览。本书,在翻译出版过程中也失去了很多数据库畛域敌人的反对,包含沃趣科技陈栋、云和恩墨盖国强、OceanBase的阳振坤、周彦伟等,尤其是,阿里云数据库负责人、ACM/IEEE Fellow李飞飞 特意拨冗领导并撰写举荐序言,这里援用如下:

随着互联网行业以及云计算产业的高速倒退, MySQL成为世界范畴内以及中国数据库畛域最风行的开源数据库。在简直所有大型互联网业务场景中, MySQL都是业务架构的外围组件之一。宽泛的利用也推动了MySQL在过来十年的高速倒退,MySQL社区相继推出了5.6、5.7、8.0版本,从性能、可扩展性、安全性、稳定性、可维护性、易用性等维度都有了十分大的倒退。《高性能MySQL 第三版》是2012年公布的,最新版本的《高性能MySQL 第四版》在上一版的内容上连续了之前的经典内容,包含架构设计、优化、高可用等内容,同时新增了云数据库、扩展性等过来10年倒退的相干内容,另外,也减少MySQL过来10年里的最新版本包含5.7、8.0版本的最新的个性和内容。MySQL作为当下最风行的开源数据库,本书从实际的角度涵盖了数据库系统的架构设计、锁、性能治理、高可用等内容,除了作为MySQL的参考书之外,也能够作为数据库系统原理和设计的一个实现参考。随着云数据库的风行,这本书的最新版也做了相应的调整,例如,将数据库的装置、配置、监控搭建等根底操作内容(云数据库封装并提供了大部分这些能力)做了大幅度的缩减。因而,本书也非常适合面向云数据库系统开发者的一本MySQL参考书籍。如本书的名字所述,本书在内核设计、性能优化方面,仍旧是着墨最多的局部,深刻介绍了锁治理、并发管制、Performance Schema应用、索引优化等内核机制,能够帮忙企业的DBA、或者想深刻理解MySQL优化的开发者,以及云数据库开发者更高效的应用和拓展MySQL。本书的译者是云数据库畛域和MySQL数据库的资深专家,有着很强的技术能力和行业实际以及业务洞察,同时也具备十分杰出的业务架构设计和商业化教训。在深刻了解原著的根底上,联合本人的洞察和教训提供了杰出的专业化中文版本,是MySQL畛域不可多得的一本必读书目。抽奖赠书最初,这里将拿出10本书(来自电子工业出版社的赠书),收费赠送大家,能够通过后盾公众号后盾回复,如下SQL参加抽奖,即可取得赠书:抽奖规定复制SQL+填写邮箱,发送至公众号后盾,立刻抽奖

SELECT book FROM 9z.cloud
WHERE email='[email protected]' -- your email

最终中奖后果一周后颁布,并通过邮件发送至幸运儿邮箱,未收到邮件的中奖小伙伴可私信本号后盾~

对于本文作者


周振兴周振兴曾是阿里资深数据库技术专家(花名:苏普),在淘宝、阿里云数据库团队总计供职12年,是阿里去IOE核心成员,是阿里外围零碎从集中式到分布式架构的开创者,有丰盛的MySQL性能优化、Troubleshooting教训,曾负责阿里云明星产品PolarDB产品治理负责人,阿里云数据库产品与经营总监等职责。目前,在新的数据库守业征程当中。立刻点击关注,获取更多精彩内容~