对话 MySQL 之父 Monty:超越 MySQL 很难,但我做到了!_mysql的作者

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

出品 | 《新程序员》编辑部

数据库是所有现代信息系统的支柱,打孔卡系统曾管理了 20 世纪的社会运作,而在计算机诞生之后,电子数据库系统存储和分析企业数据,影响着无数企业的决策。如今,社交媒体和物联网的泛滥已经迎来了需要收集和分析海量数据的时代,在这一时代背景下,开源技术逐渐发展,开源数据库软件的灵活性和成本效益现在已经彻底改变了数据库管理系统。世界上第一个开源数据库管理系统,正是 1995 年的 MySQL。从那时起,开源数据库管理有了许多改进和附加功能,使其成为当今许多企业的首选。

MySQL 之父 Michael “Monty” Widenius(以下称为 Monty)是一位拥有四十多年编程经验的开源大师,除了 MySQL 的创始人,他还担任 Monty Program Ab(现为 MariaDB 基金会 )的创始人。已入花甲之年的 Monty 依然奋战于代码第一线,没有退休打算,对于编程有着许多独到的理解,他曾参与《新程序员 004》的访谈,为我们带来了不少感悟和心得。

Monty和中国结缘已久,与中国数据库行业也颇有渊源。这一次,CSDN 有幸再次对话这位开源数据库领域的引航者,他不但为我们带来了对于开源技术蓬勃发展下的新时代数据库领域的崭新观点,还为我们讲述了一段艰苦卓绝的历史,描绘了 MySQL 原班人马如何在那五年间重新建立 MariaDB 并东山再起,最终超越 MySQL,超越了曾经的自我。

注:本文节选自《新程序员·005:开源深度指南&新金融背后的科技力量》,目前已开启预售,欢迎大家点击订阅!

和中国结缘的 MySQL 之父

《新程序员》:这是您第几次到中国?这儿有给您留下什么深刻的印象吗?

**Monty:**我应该来中国十次左右了吧,而这一次待得最久,差不多快一个月了——遗憾的是,明天我就要离开了。在中国最令人难忘的事情,应该是这次旅程中在酒店隔离了十天;不过,作为一名程序员,我的日常无非就是每天醒来,打开电脑进行工作。隔离并没有对我产生多少影响,反而因此少了许多外界的干扰。

b620a0b791e549c7cf08e14ee8abe1a1.jpeg

Monty 摄于杭州

《新程序员》:很多 MariaDB 的优质代码都来自中国开发者。您有什么关于中国开发者的趣事分享吗?

**Monty:**我非常喜欢和中国开发者交谈,我曾和不少参与 MySQL 的中国工程师进行过讨论,并让他们能更轻松地加入到 MariaDB 的合作中。不得不说,中国开发者提供的代码都很有趣,他们做的不仅仅是修复数据库中的一些 Bug,有的时候他们会为整个项目带来巨大的影响,所以我很期待未来能看到更多来自中国的代码。至于具体聊起某一件趣事?事实上,我更想在未来的发布中逐渐分享这些中国开发者做出的贡献。

《新程序员》:中国开源的发展可谓是有目共睹。您认为中国未来会在数据库领域扮演什么样的角色?

Monty:以前的数据库大多在美国活跃,而如今大多数的数据库都活跃在中国。我认为中国开发者需要精益求精,勇于去创造少量的优质产品,而不是大量复制平庸的产品,中国需要更多像阿里云和腾讯云这样的产品。此外,找到一种团队协作的方式也是当务之急,以 MariaDB 举例,MariaDB 由一个团队管理,其他人可以围绕这个数据库进行补充,并在这个过程中进行合作;像这样的协作方式,对每个人都有意义,也值得学习。正确的协作方式能事半功倍。

《新程序员》:如今也有不少中国开发者想了解开源数据库领域,您有哪些对这些入门者的建议吗?

Monty:任何行业新人在使用数据库的过程中,总会发现某个自己感兴趣的数据库,从而产生与其合作的想法。那么,想要入门,你首先要站在客户或者公司的角度,为这个数据库找到一些新的需求,然后花一些时间学习相关的知识,并研究和改善这些功能。当你与产品本身、产品背后的工程师以及基金会合作得越多,对于数据库的了解就会在这些实践之中增长,你的个人观点也会在开发者社区中留传下来。因此,去参与开源项目吧,实践将使你成名,实践是入门的第一步。

开源的好处就是,所有参与者的个人价值体现在其拥有的技能,而不是学位、背景和身份。在这种情况下,开源开发者用代码和程序来证明自我,而公司将通过代码的质量来决定自己是否想要雇佣一个人。因为开源的存在,开发者不用再了解自己的合作对象是男是女,在意彼此长相如何、来自何方。这就是开源最棒的地方,开源让开发者只关注感兴趣的人,让人能在自己所处于的领域大放光彩。记住一件事:一名优秀的程序员,是很难被解雇的。

开源数据库——从创建到运营

《新程序员》:回忆往昔,您在创建 MySQL 时就坚定地选择了开源之路,是有什么契机让您在那个时代发现了开源的重要性吗?

Monty:我在 1983 年左右就开始选择开源了。当时我和瑞典的程序员朋友们在做一些开源项目,但后来团队想让项目能够回馈到开源社区,却没什么合适的机会。在创建 MySQL 之后,我意识到这个项目不但能够回馈开源社区,还能让我不再只是把开源项目当成一个业余工作,我就是这么意识到了开源的重要性。MySQL 是我可以倾注全部心血的第一个项目,我记得 MySQL 在发行两个月后就开始盈利了。

《新程序员》:在那之后,您建立了 MariaDB 基金会。您认为维护和发展好一个开源社区最需要的是什么?

Monty:首先,要有足够的开发人员。在打算建立 MariaDB 之前,我就已经有一个陪伴我四年的 MySQL 团队了,当时我想保持原始团队完整,所以多亏了 Sun 公司付给我的钱,我才得以雇佣当年那些最关键的 MariaDB 开发人员。用人是很重要的一点。其次,有了人才之后,你还需要找到新的商业模式,实现开源。MariaDB 团队当时花了五年把 MySQL 分叉为 MariaDB,避免了被闭源的风险,这也是很重要的。

《新程序员》:刚建立 MariaDB 和在那之前甲骨文收购 Sun 的时候,是您最困难的时期吗?您觉得最困难的事情是什么?

Monty:我认为那段时间的 MariaDB 称不上困难,因为整个团队在那时已经足够成熟,团队的成员都知道做什么事情是正确的。但在刚建立 MariaDB 的头五年,公司一直都没有客户,这确实带来了不少经济上的挑战。幸运的是,当时的 MariaDB 有着足够的资金维持下去,在熬过了那五年之后,新生的 MariaDB 开始重新和 MySQL 的老客户们恢复合作,MariaDB 也逐渐得到了来自各界的支持;不过,MySQL 实在是太流行了,所以很难有数据库能与它竞争,开发者社区后来也花了很长时间才得以接受 MariaDB,而如今,我们赢了。

《新程序员》:您认为做一款数据库要确定什么样的方向比较好?是注重综合性,还是寻找竞争对手的不足,专注填补市场的空缺?

Monty:建立自己的独特性是很重要的,很多数据库都会这么做。在 MariaDB 中,开发团队分离了执行接口和存储,所以可以有不同的存储引擎供选择,而这可以让团队更好解决各种性能问题。MariaDB 可以解决很多问题,却也并非万能,所以对于极端的要求,就需要提供极端的解决方案。这就是为什么 MariaDB 前几年收购了一家名为 Clustrix 的公司,并重新命名了引擎以进行扩展。总而言之,扬长补短。

代码人生——从编程到管理

《新程序员》:从 MySQL 到 MariaDB,您有哪些经验是共通和可以重复运用的?

**Monty:**其实那几年行业的变化一直很少,这点十分有趣。MariaDB 一直在做的是添加新的功能,而非改动一些本质的东西。早期的 MariaDB 一直在研究怎么和 MySQL 以及 Oracle 的数据库兼容,开发团队想让以前的那些客户们能将所有数据完好无损地转移到 MariaDB,这个想法是在 MariaDB 建立初期就生成的。总而言之,不管是做 MySQL 还是做 MariaDB,我都是以客户的需求为本的。倾听客户的意见并帮助他们,保持你现有客户的满意并尝试获取新的客户,我认为这些道理是亘古不变的。

《新程序员》:那么,对于开发者来说,可以怎么像您一样做出一款这么风靡、用户广泛的开源产品?

**Monty:**万事开头难,一定要做好自己的第一个项目。一个初始的项目能打好根基,它需要在未来发挥作用,并且不能在襁褓中就遭受太多的竞争压力;当然,我很幸运能有 MySQL 作为自己的起点。在确立项目后,自然就得建立好社区、拉拢更多人参与项目、获取更多开发者的信任和支持,这就是开源。在大多数情况下,参与一个现有项目肯定是比创造一个新项目更容易的,所以最好先去研究现有的同类型项目都是怎么样的,看看现有的这些产品是否有所不足,然后再去想想是否要分叉项目,进一步又该怎么做。研究市场,从而因地制宜。

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值