上周,姜老师受邀出席了 DTCC 2023 (Database Technology Conference China)中国数据库大会。

相信很多90后的同学可能不知道,首届 DTCC 大会的时间是 2010年。

姜老师第一次受邀参加 DTCC 是 2011 年,第二届的中国数据库大会。

那次分享,姜老师带来的主题是《MySQL创新工厂》。

主要分享对于 InnoDB 存储引擎内核的改动,应该也是 DTCC 第一个分享 数据库内核修改的人。

命运的齿轮开始转动。

打开网易新闻 查看更多图片

12年后,姜老师还是在原地,分享着MySQL 内核的相关工作。

好似这12年的光阴,姜老师没有任何变化。

但相信各位小伙伴都已深深感知,整个中国数据库圈已经发生了天翻地覆的变化。

变化一:DTCC 2023 已成 MySQL 大会

如果你声临其境在 DTCC 2023 的会场,你听到最多的数据库名字是什么?

是 TDSQL ?是 Oceanbase ?还是 GaussDB ?

很可惜,以上全错。

其实是 MySQL 数据库。

有意思的是,MySQL 数据库没有一个官方的参展展台,但所有人都在谈论他。

这就好比某款新能源车的发布会,在谈论或对标的都是特斯拉车。

倘若细数,你会发现超过 90% 的国产数据库是基于 MySQL 进行的分支版本,且绝对兼容 MySQL 各项特性,甚至兼容了 Oracle 的各种特性。

若再统计通信协议的话,超过 99% 的国产数据库基于 MySQL 的协议。

换句话说,你可以用任何 MySQL 的客户端去操作国产数据库,甚至不用修改一行代码就可以将数据迁移至国产数据库。

所以,我们国产数据库厂商的角色其实变为了开源 MySQL 数据库的发行商,每个发行商都有自己的特色。

比如 TDSQL 的 TP 性能在真实业务中远远领先于官方 MySQL 版本。

GreatSQL 在 MGR 这块的性能和稳定性远优于官方 MySQL 版本。

StoneDB 在做 HTAP 的深度集成,对标官方 MySQL Heatwave 版本。

类比开源 Linux 操作系统,这些分支版本就类似Redhat、CentOS、Ubuntu、SUSE 发行商的角色。

在开源 Android 手机操作系统中,这也就是每个手机厂商对应自己的 MIUI、Harmony OS、Funtouch OS 等操作系统。

百家争鸣,百花齐放,这是开源软件,国产数据库最好也是最该有的样子。

或许有同学会说,为什么大多都是基于 MySQL 源码?

就不能重新开始,完全由我们中国自己编写的国产数据库吗?

可以的,当然是可以的。

但是这有很大的意义么?

从进化论的角度看,每款关系型数据库都有一个“祖先”,你不可能脱离之前经典的数据库理论,编写出一个新的数据库。

或许你能用最新的 C++、Rust、Golang 等语言写出了一款数据库,但他的本质依然是SQL优化器层、存储引擎层、B+树索引结构、LSM结构、MVCC Readview实现、ACID原则等,类似这样的组成部分。

其实,即便完全重写也不过是对所有这些模块做了集成或封装,只不过集成的维度更低。

而且要让一款数据库真正商用,在金融等核心场景不丢一条数据、没有性能抖动、Bug数极少,远非想象的那么简单。

这需要至少20年产品侧的打磨,以及成千上万业务数年的线上验证,才能确保没有问题。

所以,不论是基于某个开源数据库进行分支版本的打造,还是自己从头编写一个关系型数据库,本质都是集成。

因此,只要能做到每行代码完全自主可控,哪种国产数据库的实现方式,并无好坏之分。

这就好比我们的国产 C919 飞机,很多人说国产化率不高,不应该被叫国产飞机。

但是要把这么多零部件集成,做到自主可控已经是很大的挑战,全球也没几个国家有这样的能力。

而且随着时间推移,商用飞行距离的不断验证,相信各个零部件会逐渐进行国产化,最终达到一个很高的国产化率。

这就是《进化论》中物种的演进。

国产数据库,大概率也逃不开这样的演进路线。

此外,更为重要的是,开源(Open Source)。

正因为 Linux、Android、MySQL 代码完全开源,那么没有一个厂商或国家可以对其进行知识垄断。

倘若你的源码仅是由一小撮人敲出来,没有完善的注释说明代码的由来,没有 Issue 记录解决的各个问题,没有其他厂商可以向上游厂商提交自己的代码。

试问,即便这个国产数据库代码开源,又有多少人敢参与其中呢?

开源的目的并不仅仅是简单的代码开放,更为深层的目的是知识不被任何一个人或组织所垄断。

变化二:Oracle DBA 正式落幕

Oracle DBA 拉低了 DBA 行业的工资。

这是 DTCC 举办的晚宴 DBA 之夜中,PG 阵营方调侃的一句话。

但多少揭露了曾经风光无限 Oracle DBA 目前的窘境。

曾经叱咤风云的 Oracle 阵营的带头大哥们,无一例外选择了抛弃。

或许有人会说,这是形势所逼,不得已的选择。

其实,自从 2012 年淘宝的去 IOE 运动开始,结局早就已经注定。

互联网公司觉醒的更早,是因为他们天然有着自主可控的基因。

顶级的程序员们,不可能被一个数据库软件限制自己的架构。

而 Oracle DBA 们早已习惯作为甲方的行事风格。

找个靠谱的供应商,出了问题第一时间找个有能力的乙方解决或者背锅。

所以业界有句话:Oracle DBA 的弱是全方位的弱。

Oracle 数据库很强,到目前为止依然是这个星球最强的数据库,没有之一。

但 Oracle DBA 却是技术最弱的一群的 DBA,同样没有之一。

目前来看,这些传统 Oracle DBA 转型的去向大多是 PG。

因为 PG 的语法和 Oracle 比较类似,学习成本比较低。

更重要的是,PG 在国内外互联网公司的在线业务中几乎没有使用。

选择 PG,也省去了 Oracle DBA 直面很多真正有关业务数据库的挑战。

他们可以继续喝着咖啡,做着甲方,挥斥方遒,指点江山。

打开网易新闻 查看更多图片

若用电影《寒战》来描述 MySQL DBA 和 Oracle DBA的不同,那么 MySQL DBA 是武将,Oracle DBA 则是文官。

只可惜,无论武官还是文官,都抵不上上司陆明华的一句:非常时间,用非常手段。

Right now,Oracle DBA is out !

从现在起,Oracle DBA 正式落幕。

变化三:PG 阵营的集体倒戈

关注 InsideMySQL 公众号的小伙伴应该知道,在 DTCC 2023 的前一周,姜老师参加了 MySQL vs PG 谁是世界第一数据库的直播。

PG 阵营的同学厚颜无耻地在几万人的直播间作假数据。

然后,信誓旦旦地说:PG 已经是世界第一,超过了 MySQL ,击败了 Oracle 数据库。

所以,姜老师才第一时间去查询什么样背景的人,才能如此厚颜无耻,并在直播间将其公之于众。

DTCC 2023 的主办方在大会第一天的晚宴中举办了 DBA 之夜的闭门会议。

虽然主题做了一点修改,但本质依然是 MySQL 与 PG 的讨论。

姜老师原以为线下见面,这次上台 PG 阵营的小伙伴炮火会非常猛烈。

谁知,这次变成了 PG 阵营的集体倒戈。

第一个 PG 的小伙伴说自己研究源码,不仅研究 PG,也研究 MySQL 和其他数据库内核,博采众长,为我所用。

第二个发言的 PG 小伙伴是姜老师最为期待的德哥。

2018年周董举办的辩论会,一别就是5年,分外想念。

谁知德哥用 1 = 1*1*1 的辩证法,说 GPL 和 BSD 协议无好坏之分。

坐在一旁的我原以为德哥会吹嘘 PolarDB for PG 覆盖的用户有很多,营收有很大。

谁知,德哥竟畏畏缩缩地说了正确的废话。

第三个发言的 PG 小伙伴是平安科技的汪总,原也颇为忌惮。

誰料汪总竟多次同意个人选择 PG 是错误的赛道。

当然不排除是受到姜老师先前发言带节奏的效果。

不过,我想告诉各位同学的是,德哥不但负责了阿里云 PolarDB for PG,也正在负责 PolarDB for MySQL。

平安科技的确有在使用 PG 数据库,但整个平安集团 MySQL 的实例数量远超 PG 数据库,且真正的在线核心业务正在迁移至基于 MySQL 的分布式数据库产品。

最后第四位 PG 的小伙伴,对姜老师颇有敌意,也想用反讽的手法说明 PG 的崛起。

只可惜场下应该没多少同学明白其中的深意。

同时,姜老师也没能 get 到为什么在他的场景中 PG 不能被 MySQL 所替代。

或者他想要表达的是 PG 和 MySQL 各有使用场景,类似这样正确的废话?

不过无论他想表达什么,在开场的自我介绍中,他也谈到了自己即负责 PG 也有负责 MySQL 数据库。

所以,姜老师倏地发现:PG 数据库的最大用户是 MySQL DBA!!!

这个世界没有 PG DBA,只有兼职 PG 的 MySQL DBA。

最后的最后

这大概率是姜老师最后一次以分享嘉宾的方式参加 DTCC 大会。

数据库界的 90 后们已然崛起,我们这些 old money 应该将战场转交给他们。

有人吐槽 DTCC 技术性每况愈下,但姜老师始终坚信总有优秀的年轻一代会闪耀出金色的光芒。

就如以前的姜老师、丁奇、小彭、周董、老叶、那海蓝蓝等人,我们都是 DTCC 数据库大会的受益人。

DBA 之夜的形式很棒,但想要再次聚集这么多国内数据库大咖们,估计也不容易了。

很可惜,这次是闭门会议,言论高度自由,没有录像,否则倒是一次很不错的会议记录。

好在10年后,让我们回头看看,到底谁被打脸,谁坐上了国产数据库最后的铁王座。

以上。