让人敬佩的白发程序员——MySQL/MariaDB之父Monty阿里交流会

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 承蒙中国MySQL用户组(CMUG, China MySQL User Group)这次邀请了MySQL之父Monty进行一次中国行活动,作为CMUG的主席团成员和MariaDB基金会的Maria Captains(基金会的Committor),也利用“职务之便”顺手将Monty邀请到了阿里进行一次

1

                         (MySQL之父—— Ulf Michael “Monty” Widenius)

承蒙中国MySQL用户组(CMUG, China MySQL User Group)这次邀请了MySQL之父Monty进行一次中国行活动,作为CMUG的主席团成员和MariaDB基金会的Maria Captains(基金会的Committor),也利用“职务之便”顺手将Monty邀请到了阿里进行一次分享。

Monty是MySQL第一行代码的作者,后来与两位好友一起成立了MySQL AB,开始正式商业化运作MySQL,出任CTO,一直到MySQL AB被卖给Sun。之后Monty没有加入Sun,而是离职创立了Monty Program AB,接过MySQL的代码继续开发新的分支——MariaDB,自己担任CEO。
在2014年,Monty Program AB与SkySQL AB合并,成立了MariaDB Corporation,开始商业化运作MariaDB,Monty继续担任新公司的CTO。同时他还兼任MariaDB基金会的CTO。
2
现场同学座无虚席,都想一睹MySQL创始人的风采。
screenshot
Monty分享了MySQL的整个发展历史,从他在34年前开始写第一行代码,到后来如何决定将MySQL开源,以及MySQL如何变得越来越普及,再到MySQL AB被Sun收购,最后又被卖给Oracle,分享了许多我们所不知道的内部的故事和他们当时的思考。

Monty还分享了MySQL,MaxDB,MariaDB这些项目的名称的由来,My是他的大女儿的名字,Max是他儿子的名字,Maria是他小女儿的名字,以及MySQL的正确发音,Monty给出了标准答案/maɪ es kjuː ɛl/,或者是/mjuː es kjuː ɛl /,因为My是一个芬兰语名字,所以也可以用后者芬兰语发音。

Monty给我们展示了他早年怎么开始学习计算机以及开始编程的。从最古老的计算器——德州机器Ti-58,再到当民工搬砖在赫尔辛基修路赚钱买了最早的个人计算机ABC-80,再升级到Sun SPRAC开始正式进行了MySQL早起的开发,后来跟好友成立MySQL AB。

老爷子一辈子就在做MySQL相关的代码,今年他54岁了,还要亲自参与写代码,并且负责大部分Code Review工作,谁说程序员只能做到30的。我与Monty在MariaDB基金会合作Review的时候,Monty最常说的话就是:”That’s easy, one day” “That’s easy, 15 mins”,诸如此类,无时无刻不在跪拜老爷子对这些代码真的是熟到全在脑子里的地步。

至于为什么创立MariaDB,Monty告诉我们,他需要一个能永远保持开源的MySQL替代品,因此他吸取了MySQL AB的教训,把MariaDB的版权授予了MariaDB基金会,这是一个NPO(非营利性组织),依靠捐赠运营,以保证MariaDB永远开源,而不会因为MariaDB Corporation的兴衰或者被收购而导致MariaDB的版权被收购或流失。同时MariaDB Corporation通过售卖MariaDB/MySQL的服务来赚钱,为MariaDB基金会提供MariaDB的持续开发资源。

然后作为一个技术人,Monty聊了一下MariaDB对MySQL原版的改进,以及他吸收了所有的MySQL AB原厂工程师而具备的更强的开发能力和对MySQL源码更好的理解,例如在高并发场景下,MariaDB通过简单的代码优化,就远远超过了MySQL 5.7及其复杂的修改所获得的收益。以及MariaDB实现了真正的完全并行的备库多线程复制,可以让备库的性能超越主库,避免延迟。

最后,Monty还分享了MariaDB未来计划的新功能,以及正在进行的开发工作,如何从MySQL迁移到MariaDB,以及他们之间的兼容性问题。

Monty的演讲结束后,同学们踊跃提问,也问了一些有意思的问题,例如:

  • 作为MySQL写第一行代码的人,第一行写的是什么代码? (You created the MySQL, and you wrote the first line of MySQL code, what’s the first line code?)
    Monty:因为MySQL的第一版其实是BASIC开发的,所以第一行就是BASIC的注释 “REM”。
  • MySQL的设计思路和设计理念是什么?(MySQL’s design ideas? What's the principles of MySQL design and architecture?)
    Monty:因为MySQL是在很差的机器上开发的,所以从MySQL一开始设计,就很注意性能问题,另一个就是简单,版本迭代要很方便,同样也是因为曾经的计算机编程很不方便。
  • MySQL数据区别其它数据库的一点是插件式的存储引擎的设计,想问问这点的理论来源?”(MySQL has a special feature, which is the storage engine plugin, it’s great. Why you decide to add the engine plugin to support many engines, and What’s the source of the theory? )
    Monty:其实MySQL最早只有一个商业数据库引擎,但是后来那家公司倒闭了,他们没办法继续使用这个引擎,所以他们开发了MyISAM引擎,认识很多用户已经在用之前的引擎,为了升级方便,所以就开发了Handler API,把最简单的操作设计成API,然后就有了Storage Engine,MySQL同时包含那个商业引擎和MyISAM,用户可以直接在MySQL内部把他们转换。
  • MySQL在大数据处理这一块有什么规划没? 怎样看OLTP和OLAP融合?或者说传统数据库怎样应对现在日益增多的OLAP类任务。 (Does MySQL/MariaDB consider it should support the OLAP? Because there are more and more OLAP requirements in the traditional database, how do you think mix the OLTP and OLAP in the same database?)
    Monty:MariaDB已经认识到了这一点,所以MariaDB收购了InfiniDB,并且在此基础上开发了ColumnStore,支持列存储的引擎。但是目前ColumnStore跟Server层耦合太紧密,所以要单独为它出一个二进制包,但是这不是最终状态,MariaDB会逐步把ColumnStore变成一个普通的引擎,跟InnoDB一样,可以共享一套MariaDB Server代码,到时候OLTP和OLAP就可以在MariaDB里面共存。
  • 如果MariaDB用的人多了,有人收购还会不会再卖?(If MariaDB’s users become more and more, will you want to sell MariaDB again? like MySQL.)
    Monty:为了避免重蹈覆辙,MariaDB Server的版权在MariaDB基金会,这是一个NPO,它无法被收购,这保证了MariaDB永远免费和开源。但是MariaDB Corporation是一家公司,它只是为MariaDB基金会提供开发,所以有一天它可能被收购,但是这不影响MariaDB的免费和开源。

会后我也私下问了Monty几个问题

  • Why you want to visit Alibaba, and communicate with our engineers? (为什么你想要来阿里巴巴和工程师们交流分享)
    Monty: Because Alibaba is the one of biggest Open Source and MySQL users in the world. I want to share something about MySQL/MariaDB, and what’s the Open Source to your guys. (因为阿里巴巴是开源软件和MySQL最大的用户之一。我希望给你们分享一些MySQL/MariaDB的故事,以及什么是开源。)
  • How do you think about the Alibaba’s MySQL skill and contribution? (你怎么看阿里巴巴在MySQL方面的能力,以及贡献)
    Monty: You contributed the Multi-Source Replication and Time Machine or Flashback, that’s very useful for MariaDB, I think your team is intelligent.(你贡献的[多源复制](

https://mariadb.com/kb/en/mariadb/multi-source-replication/ )和闪回功能,对MariaDB很有用,因此我觉得你的团队是很有能力的)

  • How do you think about Alibaba’s contribution in Open Source?(你怎么看阿里巴巴对开源世界的贡献)
    Monty: Alibaba has open source some software like Tengine, and AliMySQL soon, but I think Alibaba can do more. (如你所说,阿里巴巴已经开源了一些软件,例如Tegnine,还有即将开源AliMySQL)

彭立勋 阿里云高级技术专家 供稿

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 关系型数据库 MySQL
阿里面试:为什么要索引?什么是MySQL索引?底层结构是什么?
尼恩是一位资深架构师,他在自己的读者交流群中分享了关于MySQL索引的重要知识点。索引是帮助MySQL高效获取数据的数据结构,主要作用包括显著提升查询速度、降低磁盘I/O次数、优化排序与分组操作以及提升复杂查询的性能。MySQL支持多种索引类型,如主键索引、唯一索引、普通索引、全文索引和空间数据索引。索引的底层数据结构主要是B+树,它能够有效支持范围查询和顺序遍历,同时保持高效的插入、删除和查找性能。尼恩还强调了索引的优缺点,并提供了多个面试题及其解答,帮助读者在面试中脱颖而出。相关资料可在公众号【技术自由圈】获取。
|
2月前
|
SQL 关系型数据库 MySQL
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
尼恩,一位40岁的资深架构师,通过其丰富的经验和深厚的技術功底,为众多读者提供了宝贵的面试指导和技术分享。在他的读者交流群中,许多小伙伴获得了来自一线互联网企业的面试机会,并成功应对了诸如事务ACID特性实现、MVCC等相关面试题。尼恩特别整理了这些常见面试题的系统化解答,形成了《MVCC 学习圣经:一次穿透MYSQL MVCC》PDF文档,旨在帮助大家在面试中展示出扎实的技术功底,提高面试成功率。此外,他还编写了《尼恩Java面试宝典》等资料,涵盖了大量面试题和答案,帮助读者全面提升技术面试的表现。这些资料不仅内容详实,而且持续更新,是求职者备战技术面试的宝贵资源。
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
|
6月前
|
关系型数据库 MySQL 程序员
老程序员分享:MYSQL外键(ForeignKey)的使用
老程序员分享:MYSQL外键(ForeignKey)的使用
62 0
|
4月前
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
236 8
|
5月前
|
缓存 关系型数据库 MySQL
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
283 19
|
4月前
|
canal 关系型数据库 MySQL
"揭秘阿里数据同步黑科技Canal:从原理到实战,手把手教你玩转MySQL数据秒级同步,让你的数据处理能力瞬间飙升,成为技术界的新晋网红!"
【8月更文挑战第18天】Canal是一款由阿里巴巴开源的高性能数据同步系统,它通过解析MySQL的增量日志(Binlog),提供低延迟、可靠的数据订阅和消费功能。Canal模拟MySQL Slave与Master间的交互协议来接收并解析Binary Log,支持数据的增量同步。配置简单直观,包括Server和Instance两层配置。在实战中,Canal可用于数据库镜像、实时备份等多种场景,通过集成Canal Client可实现数据的消费和处理,如更新缓存或写入消息队列。
854 0
|
4月前
|
SQL 关系型数据库 MySQL
如何在 MySQL 或 MariaDB 中导入和导出数据库
如何在 MySQL 或 MariaDB 中导入和导出数据库
612 0
|
4月前
|
SQL Ubuntu 关系型数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
53 0
|
4月前
|
关系型数据库 MySQL 数据库连接
FreeSWITCH通过mod_mariadb原生连接MySQL
FreeSWITCH通过mod_mariadb原生连接MySQL
351 0
|
5月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL场景评测:阿里云数据库服务的新高度
随着企业数字化转型的加速,对数据库的稳定性和性能提出了更高要求。阿里云的PolarDB MySQL应运而生,作为一款高度兼容MySQL协议的云原生数据库,它在性能、扩展性和安全性方面展现出了卓越的能力。本文将基于阿里云PolarDB MySQL的官方评测,深入探讨其在实际应用场景中的表现,以及为用户带来的价值。
170 0

相关产品

  • 云数据库 RDS MySQL 版
  • 推荐镜像

    更多