0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

《高性能MySQL 第四版》正式上市

数据库小组 来源:数据库小组 作者:数据库小组 2022-10-08 18:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

十年经典再更新

时隔十年,《高性能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领域不可多得的一本必读书目。

关于本文作者

周振兴

周振兴曾是阿里资深数据库技术专家(花名:苏普),在淘宝、阿里云数据库团队总计供职12年,是阿里去IOE核心成员,是阿里核心系统从集中式到分布式架构的开创者,有丰富的MySQL性能优化、Troubleshooting经验,曾担任阿里云明星产品PolarDB产品管理负责人,阿里云数据库产品与运营总监等职责。目前,在新的数据库创业征程当中。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库系统
    +关注

    关注

    0

    文章

    31

    浏览量

    10062
  • MySQL
    +关注

    关注

    1

    文章

    897

    浏览量

    29234
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    澜起科技成功量产DDR5第四子代寄存时钟驱动器芯片

    澜起科技今日正式宣布,已完成DDR5第四子代寄存时钟驱动器芯片(RCD04)的量产。该芯片是高性能服务器及数据中心内存系统的核心组件,将为下一代计算平台带来显著的内存性能提升。
    的头像 发表于 10-30 11:37 367次阅读

    FLIR VS80高性能视频内窥镜全新上市

    在工业检测与设备维护领域,一款高效、精准且耐用的检测工具是确保生产安全、降低维护成本的关键。近日,Flir VS80高性能视频内窥镜以全新姿态隆重上市,将为工业检测、建筑检查、汽车维修等多个行业带来革命性的检测体验。
    的头像 发表于 10-15 09:36 338次阅读

    Wolfspeed推出第四高性能碳化硅MOSFET

    Wolfspeed 推出第四代 (Gen 4) 1200 V 车规级碳化硅 (SiC) 裸芯片 MOSFET 系列,专为严苛的汽车环境设计。Wolfspeed 第四高性能碳化硅 MOSFET,可在 185°C 下持续工作,助力
    的头像 发表于 08-11 16:54 2198次阅读

    电机学--第四版

    纯分享帖,点击下方附件免费获取完整资料~~~ 内容有帮助可以关注、点赞、评论支持一下,谢谢! 【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容,谢谢!
    发表于 07-24 12:02

    MySQL 8.0性能优化实战指南

    作为一名运维工程师,MySQL数据库优化是我们日常工作中最具挑战性的任务之一。MySQL 8.0作为当前主流版本,在性能、安全性和功能上都有了显著提升,但如何充分发挥其潜力,仍需要我们掌握正确的优化策略。
    的头像 发表于 07-24 11:48 544次阅读

    电机与拖动基础 第四版

    纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-21 16:34

    ADSP-21467/ADSP-21469第四高性能DSP技术手册

    包括ADSP-21469在内的第四代SHARC®处理器可提供改进的性能、基于硬件的滤波器加速器、面向音频与应用的外设,以及能够支持最新环绕声解码器算法的新型存储器配置。所有器件都彼此引脚兼容,而且
    的头像 发表于 05-12 15:49 777次阅读
    ADSP-21467/ADSP-21469<b class='flag-5'>第四</b>代<b class='flag-5'>高性能</b>DSP技术手册

    LMH6522 高性能路DVGA技术手册

    LMH6522包含高性能数控可变增益放大器(DVGA)。它被设计用于窄带和宽带中频采样应用。通常,LMH6522在广泛的混合信号和数字通信应用中驱动高性能ADC,例如需要自动增益控制(AGC)来增加系统动态范围的移动无线电和
    的头像 发表于 05-09 09:37 696次阅读
    LMH6522 <b class='flag-5'>高性能</b><b class='flag-5'>四</b>路DVGA技术手册

    LMH6523 具有快速断电模式的高性能通道 DVGA技术手册

    LMH6523包含高性能数控可变增益放大器(DVGA)。它被设计用于窄带和宽带中频采样应用。通常,LMH6523在广泛的混合信号和数字通信应用中驱动高性能ADC,例如需要自动增益控制(AGC)来增加系统动态范围的移动无线电和
    的头像 发表于 04-30 15:36 880次阅读
    LMH6523 具有快速断电模式的<b class='flag-5'>高性能</b><b class='flag-5'>四</b>通道 DVGA技术手册

    part 3 模拟电子技术基础(第四版)习题解答-童诗白

    模拟电子技术基础(第四版)习题解答-童诗白
    发表于 03-27 10:44

    模电童诗白第四版

    本书主要介绍了电信号,电子信息系统,半导体基础知识,半导体二极管,晶体三极管,场效应管,单结晶体管,集成电路中的元件,基本放大电路,多级放大电路,集成运算放大电路,放大电路的频率效应,放大电路中的反馈,信号的运算和处理,波形的发生和信号的转换,功率放大器,直流电源,模拟电子电路读图等。
    发表于 03-27 10:42

    曝三星已量产第四代4nm芯片

    据外媒曝料称三星已量产第四代4nm芯片。报道中称三星自从2021年首次量产4nm芯片以来,每年都在改进技术。三星现在使用的是其最新的第四代4nm工艺节点(SF4X)进行大规模生产。第四代4nm工艺
    的头像 发表于 03-12 16:07 1.3w次阅读

    适用于MySQL和MariaDB的.NET连接器

    支持 ORM 的适用于 MySQL 和 MariaDB 的 .NET 连接器 dotConnect for MySQL 是一种高性能 ADO.NET 数据提供程序,可在开发 MySQL
    的头像 发表于 01-16 14:17 793次阅读
    适用于<b class='flag-5'>MySQL</b>和MariaDB的.NET连接器

    《2024年飞腾硬件生态产品手册(第四版)》上线

    为构建开放共赢的合作生态,吸引更多同行者共建飞腾硬件生态,共享生态链产业价值,创造信创领域无限可能,《2024年飞腾硬件生态产品手册(第四版)》(以下简称《手册》)日前正式上线,共涵盖 146 家硬件生态伙伴的590余款硬件产品。
    的头像 发表于 01-02 09:15 1315次阅读

    华为云 Flexus X 实例 MySQL 性能加速评测及对比

    基于 sysbench 构造测试表和测试数据 12 3.5 数据库读写性能测试 13 、业界 U 系列无加速 MySQL
    的头像 发表于 12-25 17:10 852次阅读
    华为云 Flexus X 实例 <b class='flag-5'>MySQL</b> <b class='flag-5'>性能</b>加速评测及对比