October 2022

  • 重要更新

    IDC发布《中国公有云服务市场(2022上半年)跟踪》报告:近日,国际权威行业研究机构IDC发布《中国公有云服务市场(2022H1&2022Q2)跟踪》报告,报告数据显示:2022上半年中国公有云服务市场整体规模(IaaS/PaaS/SaaS)达到165.8亿美元,其中IaaS市场同比增长27.3%,PaaS市场同比增速为45.4%。从IaaS+PaaS市场来看,2022上半年同比增长30.7%,与2021上半年增速(48.7%)相比下滑18%。详情

    南大通用宣布完成数亿元新一轮融资:2022年10月24日,GBASE南大通用宣布完成数亿元新一轮融资。本轮融资由君联资本领投,国投创合、狮城资本联合宇信科技集团、耀途资本、信一创科技、苏国发、相城金控联合投资。据介绍,天津南大通用数据技术股份有限公司成立于2004年,注册资金1.4亿元,员工规模550人,是我国最早创立且具有自主知识产权的独立数据库产品与服务提供商之一。详情

    数据库初创企业成章数据完成数千万元天使轮融资:成章数据(MonoGraphDB)成立于2021年,是一家专注在数据库领域的初创公司。成章数据基于数据基底Data Substrate这一技术,打造一款具备模块化、云原生、高性能、多模态和可插拔多种计算和存储引擎的新一代关系型OLTP数据库。官方网站为:monographdata.cn 。详情

    星环科技成功登陆科创板:“国产大数据基础软件第一股”星环科技(SH688031)成功登陆科创板,收获市场认可。公开信息显示,公司发行价47.34元/股,发行市值超57亿元。首日大涨 61%,开盘市值 87 亿元。详情

    Oracle Database 23c Beta 发布:近日,Oracle 在美国拉斯维加斯举办的“Oracle CloudWorld 2022”活动上发布 Oracle Database 23c Beta。据官方介绍,该版本在 21c 的特性基础上增加了 300 多个新特性,其中有三个重要能力:构建 JSON 对象视图、提供空间和图形分析功能、支持微服务的事务功能,此外还新增Kafka API 和使用JavaScript 的存储过程等功能。

    动态详情

    • [阿里云] 2022杭州云栖大会于11月4日在云栖小镇B馆B2-1举办【云原生数据库峰会】。连接
    • [阿里云] 近期,RDS推出基于ARM架构的RDS MySQL和RDS PostgreSQL实例。
    • [阿里云] MongoDB分片集群实例的4.4和5.0版本新增性能诊断与优化、日志管理等功能,并支持三种ESSD云盘。
    • [阿里云] 10月份阿里云RDS发布了多个功能,如批量修改实例模版参数、高级下载、备份文件数据查询等功能,并优化并发备份功能。
    • [阿里云] TDengine x 阿里云计算巢:实现集群自动化部署,费用透明化管理。连接
    • [阿里云] PolarDB-X近期做了小版本发布,新增或优化了密码策略、index、partition等功能
    • [腾讯云] RDS MySQL 支持单节点云盘版实例,目前已进入内测阶段。
    • [腾讯云] TDSQL-C MySQL 版支持并行查询能力
    • [火山引擎] 云数据库 MySQL 版已提供了Python和Go两种版本的SDK。
    • [火山引擎] 文档数据库 MongoDB 版新增支持使用 Go SDK。
    • [火山引擎] 发布E-MapReduce v1.4.0,新增软件栈版本EMR v3.0.0和v2.0.0。
    • [杉岩数据] 杉岩数据宣布完成过亿元 C 轮融资,该公司是一家智能分布式数据存储解决方案企业。详情
    • [PosgreSQL] 发布PostgreSQL 15 正式版。两周前的行业动态,笔者介绍了PostgreSQL 15 RC2版本相关信息,当时猜测GA版本很快发布,没想到来的这么快。
    • [DolphinDB] 发布了V2.00.8 和 V1.30.20 新版本,主要能力包括更高效的矩阵处理、数据表连接等。
    • [PingCAP] testcontainers-java 新增对 TiDB 的支持。testcontainers-java 是一个 Java 的 JUnit 测试库,为数据库、浏览器以及其它能在 Docker 容器中运行的项目提供了轻量的、随用随弃的实例。
    • [PingCAP]  首届 HTAP Summit 将在美国时间 11 月 1 日加州线下举行。
    • [StarRocks] StarRocks 发布了 2.4版本,新增支持多表物化视图、实现多表 JOIN 查询加速等特性。
    • [Doris] Apache Doris 1.1.3 版本的正式发布,此次版本中有超过 80 个 Issue 或性能优化项被合入。
    • [Oracle] 在Oracle Cloud World大会上宣布推出 MySQL HeatWave Lakehouse Beta版,主要解决数百TB场景的数据分析。据介绍,在400 TB工作负载下,查询性能比Snowflake快17倍,比Redshift快6倍。
    • [Azure] Azure正式发布 Cosmos DB for PostgreSQL 版本
    • [Azure] Azure Database for MySQL 用户可以在 Intel 和 AMD 硬件自由选择部署
    • [AWS] Amazon Aurora MySQL比较明显的提升了导出到S3性能
    • [AWS] Amazon RDS 支持了PostgreSQL 15 版本
    • [AWS] Amazon DMS(数据同步服务) 支持了 C6i 和 R6i 实例
    • [GCP] Google Cloud Next ’22 大会上,宣布推出新的云数据库功能,通过统一、开放和智能的数据云平台
    • [GCP] Cloud Spanner支持一个数据库实例恢复并发操作数量已从1个增加到5个
    • [GCP] Cloud Spanner新增Lock insights和Transaction insights功能,用于获取在锁争用时的相关信息
    • [GCP] PostgreSQL升级了多个小版本,涉及10、11、12、13、14,以及取消了一些排序的规则的支持

    推荐阅读

    • 数据库、数据湖、数据仓库、湖仓一体科普文

    本文通过通俗的语言,结合漫画的展现方式,生动形象的介绍数据库、数据仓库、数据湖以及湖仓一体等相关概念及其作用,并说明了他们之间的关系。详情

    • PolarDB MySQL事务系统介绍

    PolarTrans通过提交时间戳技术(CTS)优化原生事务系统,优化的核心思想是移除对复杂数据结构的维护,事务状态的迭代、获取、 查询(可见性判断)等逻辑更加轻量。

    • CPU 是如何与内存交互的

    这篇文章主要介绍计算机中 CPU 是如何读写内存中的数据的以及如何维护 CPU 缓存中的数据一致性,还介绍了内存的结构,以及虚拟内存和其存在的必要性。详情

    • 双11来袭,DBA要做哪10件事?

    一年一度的双11来临,各个电商平台的流量突增,全民都在喜迎这场购物狂欢,作为女人背后的男人们,DBA该做些什么呢。详情

    • 国内重量级数据库媒体发布:国内数据库风云人物百人

    近日,国内重量级数据库媒体墨天轮,发布《国内数据库风云人物百人团》。详情

  • 重要更新

    PostgreSQL 15 RC2版本,据悉近期将会GA:PostgreSQL 全球开发组 (PGDG) 每年发布一个主要版本和几个小版本,10月6日发布V15 RC2版本,该版本提供了大量新功能和增强功能,包括新增SQL Merge功能,以及在逻辑复制、压缩、日志展现和优化器性能上都有了加强。PG作为学院派出生,在提高性能和提供新功能方面取得了长足的进步。Oracle作为数据库行业当之无愧的灭霸,手握最成功的商业和开源两个数据库,而PG一直以最先进的开源数据库行走江湖,现在也正慢慢变成最受欢迎和最想要的数据库,同时也是DB-Engines 中流行度增长最快的数据库之一。期待v15的GA。

    ClickHouse Inc发布cloud public beta版本:该版本通过将存储和计算解耦实现自动扩展,基于v22.10开发。根据官方介绍,云版本极大地简化用户使用,并降低使用成本。用户不需要提前设置数据库的规模、高可用、分片设置以及扩张问题。

    数据库发展到现在,云化可以说是必经之路,ClickHouse作为目前最火的OLAP数据库之一,在这个时候推出云版本也是顺时代浪潮。另外,开源是每月一个版本的节奏发布,不禁担心云版本的迭代速度用户们能跟的上吗?

    Amazon 提供EC2实例和RDS数据库自动连接解决方案:Amazon该特性提供了一种简单而安全的机制,实现EC2实例和RDS数据库之间的连接。传统的手工建立应用与数据库的连接时,需要完成VPC、安全组、出入规则等配置,而该方案有助于提高新用户和开发人员的工作效率,无缝的将EC2实例连接到数据库。目前已在所有公共AWS区域可用。

    国产数据库公司瀚高股份获浪潮数亿投资:瀚高基础软件股份有限公司(以下简称“瀚高股份”)获得浪潮集团数亿元战略投资,浪潮集团成为瀚高股份第一大股东。浪潮是山东省最大的云计算公司,浪潮成为第一大股东后,标志着瀚高正式成为数据库国家队一员。链接

    动态详情

    • [阿里云] 阿里云发布了云栖大会数据库峰会相关活动信息。目前官方有赠票活动,有需要的小伙伴可以参考。链接
    • [阿里云] RDS PostgreSQL高可用云盘实例,支持按任意时间点或指定备份集创建高级下载任务,并支持选择下载目标为URL或直接将数据写入OSS中。
    • [阿里云] 阿里自研数据库PolarDB-X新增information_schema权限系统表兼容MySQL。
    • [阿里云] 阿里云数据库NL2SQL技术获耶鲁大学Spider评测第一名。NL2SQL(Natural Language to SQL)是一项将用户的自然语句转为数据库可执行SQL语句的技术,对改善用户与数据库之间的交互方式有很大意义。Spider是业界公认的大规模跨领域复杂NL2SQL转换效果的评测榜单。链接
    • [腾讯云] 新一代分布式 KV 存储数据库 KeeWiDB 开放公测。
    • [腾讯云]TDSQL-C MySQL 版提供低频存储方式,用户可根据其数据库审计实际存储频率来选择合适计费,助力用户降低审计使用成本。
    • [华为云] 华为云正式开放时序数据库openGemini源代码,参考。另外,今年蚂蚁也开源了自己的时序数据库CeresDB,同时时序数据库「天谋科技」今年也完成近亿元天使轮融资。时序数据库正在成为行业风口。
    • [gStore] 图数据库 gStore 1.0 版本正式发布。gStore系统源于2011年北京大学邹磊教授在VLDB发表的论文。
    • [SelectDB] 数据库国产新势力登顶 ClickBench 榜单。详细测试结果可以搜索关键字ClickBench  Benchmark 。
    • [AWS] Aurora Serverless v2 目前已支持 CloudFormation,进一步提高用户部署效率。
    • [AWS] Amazon RDS for MariaDB 支持10.6.10版本。
    • [AWS] Amazon 提供更快数据库故障转移的JDBC Driver for PostgreSQL。
    • [AWS] Amazon Redshift Serverless 实现资源标记功能。
    • [Azure] Azure Backup实现数据库备份智能的进行归档,该功能可以节省备份成本。
    • [Azure] 托管实例Query Store支持hints,可以在不更改应用程序情况下调整执行计划。
    • [Azure] Azure Backup实现数据库备份智能的进行归档,该功能可以节省备份成本。
    • [GCP] Goolge Cloud Next会上,发布了BigQuery、C3等相关产品信息。其中BigQuery支持Apache Spark创建和调用存储过程。C3虚拟机被称为公有云中,第一个运行在第四代英特尔至强可扩展处理器(the 4th Gen Intel Xeon Scalable processor ),以及与英特尔联合设计的全新英特尔基础设施处理器(IPU)。
    • [GCP] Cloud SQL for MySQL实例管理大量表的功能优化。
    • [GCP] 以色列特拉维夫(me-west1)region的新增Memcached&redis 产品。
    • [GCP] 可以对Cloud SQL for SQL Server 实例设置永久时区。
    • [Oracle] MySQL 8.0.31正式GA ,Oracle基本上以每季度一个小版本的速度在GA。另外,MySQL将8.0版本的生命周期延后了两年,预计9.0版本可能不会那么快推出。参考

    推荐阅读

    • 国产数据库代表OceanBase,入选了国际顶会VLDB 2022。链接
    • 11月17日MongoDB在北京举办大型线下活动 这是MongoDB近三年来首次在国内线下举办的大型活动。据小道消息,此次活动MongoDB将会有重要内容发布,我们拭目以待,也希望大会能顺利举办,参考
    • Hudi+ MinIO 构建流式数据湖实战,看完此文小编不明觉厉之情油然而生,链接
    • 亿级DAU的高德数据库选型思考及降本实践,链接
  • 更新@2023年1月

    应部分读者要求,制作了一个《高性能MySQL 第四版》主题页:链接。主题页中包含了该书籍的适合读者、如何阅读该书籍、该书籍中涉及的链接、以及部分来自读者的勘误等,供参考:高性能MySQL


    十年经典再更新

    十年前,当时Ningoo找到我们翻译第三版时(参考),还是一个刚刚进入数据库领域的小兵。十年后,当初的译者们,都已经在各个公司的数据库方向成为中坚力量。

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