2022年5月,StackOverFlow社区发布开发者调查报告,全世界超过70000名开发人员参与了调研,回答了他们的技术、工具以及工作偏好。
值得关注的是,在最流行的技术调查中,专业开发者群体的倾向有了较为明显的改变。调查显示,PostgreSQL超越MySQL成为专业开发者最喜欢的数据库。
MySQL看似结束了霸榜时代,但事实果真如此吗?
事实上,专业开发者对PostgreSQL(46.48%)的喜好只是略胜于MySQL(45.68%)。
但是,可以看到在所有受访者中,MySQL(46.85%)却明显胜于PostgreSQL(43.59%)。
要知道的是,MySQL在开发者最喜欢的数据库榜单中多年霸榜。
十年过去,国内的数据库江湖已经换了模样,云数据库成为很多公司的选择,国产数据库创业公司也此起彼伏,而 MySQL 依然高居DB-Engines(全球知名的数据库流行度排行榜网站)排行榜亚军,还是最受欢迎的开源数据库。
根据中国信息通信研究院的《数据库发展研究报告(2021 年)》,截至 2021 年 6 月,国产关系数据库产品共有 81 个,其中 23 个是基于 MySQL 二次开发的,占比为 28.4%。
可以看到,无论是在中国还是全世界,MySQL都仍旧是最流行、使用最广泛的开源关系数据库。
01
MySQL为何如此受欢迎
近几年来,MySQL 的发展很快,在内核层的变化也很大,同时伴随着云原生的发展,MySQL 也是云上数据库的主流产品。
几乎所有大型互联网业务场景中,MySQL 都是业务架构的核心组件之一。
广泛的应用也推动了 MySQL 在过去十年的高速发展,MySQL 社区相继推出了 5.6、5.7、8.0 版本,从性能、可扩展性、安全性、稳定性、可维护性、易用性等维度都有了非常大的发展。
MySQL具有功能强大、可靠性强和开源许可的优点。Web开发人员最大限度地使用MySQL,将其应用在很多场景中,并且从个人网站到大型的企业应用,它都表现得足够灵活。
MySQL 提供了合理的默认值,基本不需要进行任何调整。任何一个团队都能更好地处理模式更改、合规性问题和分片。
极客能使用先进工具来大规模运行MySQL,确保这个世界上数据的安全,也将确保全球顶级网站和其他数据驱动的系统在其业务峰值时性能的卓越。
02
MySQL的逻辑架构是什么
如果能在脑海中构建出一幅 MySQL 各组件之间协同工作的架构图,那么这将有助于你深入理解 MySQL 服务器。
最上层的客户端所包含的服务并不是 MySQL 独有的,大多数基于网络的客户端 / 服务器工具或服务器都有类似的服务,包括连接处理、身份验证、确保安全性等。
第二层是比较有意思的部分。大多数 MySQL 的核心功能都在这一层,包括查询解析、 分析、优化、以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能也都在这一层实现:存储过程、触发器、视图等。
第三层是存储引擎层。存储引擎负责 MySQL 中数据的存储和提取。和 GNU/Linux 下的各种文件系统一样,每种存储引擎都有其优势和劣势。服务器通过存储引擎 API 进行通信。这些API屏蔽了不同存储引擎之间的差异,使得它们对上面的查询层基本上是透明的。
03
如何进入快速变化的MySQL世界
MySQL 本身在进步,MySQL 社区改变了很多,专业开发者使用 MySQL 的方式也改变了。
要帮助最新一代的开发人员、数据库管理人员进入 MySQL 的新世界,需要案头常备的一定是《高性能 MySQL》。该书第1版问世以来,成为每一位被新聘成为数据库管理员、系统工程师或数据库开发人员桌上的第一本书。
《高性能 MySQL》(第4版)重磅出新,不再将重点放在优化 MySQL 以将性能提高几个百分点上,而是为人们提供他们所需要的信息。
第4版全新打磨知识库
这些年,MySQL 在互联网的大量场景中被大规模地应用和验证,使得本书第 4 版在继续关注高性能之外,还使用了更多的篇幅来介绍如何实现 MySQL 的大规模可扩展应用,这是相比第 3 版最大的不同,所以本书还增加了新卖点“经过大规模运维验证的策略”。
你将学到什么?
通过《高性能MySQL》(第4版),你将学习到各种高级技术,包括设置服务器级别目标,设计schema、索引和查询,调整服务器、操作系统和硬件,以充分发挥平台的潜力。
本书还向数据库管理员介绍了通过复制、负载均衡、高可用性和故障切换来扩展应用程序的安全且实用的方法。
《高性能MySQL》(第4版)旨在反映云和自托管MySQL的最新进展、InnoDB性能,以及新特性和新工具,可以帮助你设计一个可随业务扩展的关系数据平台。
你将学习到数据库安全方面的最佳实践,以及在性能和稳定性方面来之不易的经验。
- 深入了解MySQL的体系结构,包括其存储引擎的关键事实。
- 了解服务器配置如何与硬件和部署选择配合使用。
- 让查询性能成为软件交付过程的一部分。
- 检查MySQL复制和高可用性的增强功能。·比较托管云环境中的不同MySQL产品。
- 探索MySQL从应用端配置到服务器调优的全栈优化。
- 将传统的数据库管理任务转变为自动化流程。
作者简介
译者简介
从互联网到企业级应用,从独立部署到虚拟化和云计算,十年之间,天翻地覆,然而 MySQL 的魅力有增无减。
希望你能从本书中获得 MySQL 内部原理和扩展策略的相关知识,能够帮助你在组织中扩展数据存储层。
也希望你从书中新发现的见解,可以帮助你学习和实践一种系统的方法,用来设计、维护和检测基于 MySQL 的系统架构。