热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

再见了,MySQL之父!

作者:北席编辑:Emma来源|BAT架构(ID:BAT_ARCH)跟自己创办的公司说再见,是一种什么样的体验?

作者:北席    编辑:Emma

来源| BAT架构(ID:BAT_ARCH)

跟自己创办的公司说再见,是一种什么样的体验?在科技界至少有两位大佬,对此有发言权。一位是苹果的乔布斯,另一位就是MySQL创始人Monty。

本文聊聊后者,MySQL的创始人----乌尔夫·米卡埃尔·维德纽斯。

MySQL,这个出现在许多计算机数据库教材第一章里的名词,和Linux、Apache、PHP一起并称“LAMP”开源软件四大天王,相信它在计算机界里早已无人不知。

MySQL的创始人----乌尔夫·米卡埃尔·维德纽斯,有个小名叫Monty。和Linux创始人Linus同为编程天才,Monty的大半生也是跌宕起伏,荡气回肠的。

图片来自网络@版本归原作者

01

16岁就“染上了敲代码的瘾”

1962年,Monty出生在芬兰的首都赫尔辛基。16岁以前,他和其他小孩子一样正常上学读书,而16岁的那年暑假成为了他人生的重大转折点。Monty用了一整个暑假打工铺沥青,攒下钱来买了第一台个人电脑。

他兴奋地提着电脑包装箱回家,拆箱、组装、接电源、按下开机按钮,开启新世界。摸索完电脑功能后,他很快就进攻编程,用BASIC语言写下第一行代码“REM”(BASIC的注释),并一发不可收拾,成为了一种“瘾”。别人玩泥巴他编程,别人打游戏他编程,别人所抗拒的复杂编程在他眼里却成为了简单且有趣的事情——他就是擅长敲代码的。

19岁,Monty考上了赫尔辛基理工大学,但没读完就辍学了。不是因为他不好学,而是大学已经没有东西可以教他了。后来他开始全职写代码,给自己更多有真实需求和现实意义的开发项目挑战。

图片来自网络@版本归原作者

02

17岁的年少轻狂,造就了MySQL

时光倒回两年,17岁的Monty已经把自己的电脑摸了个透,但他不满足,还想给电脑升级内存,这样他能干更多事情。于是他疯狂了一把,偷偷搞来一艘船,去瑞典的电脑店里买高级组件。

后来的一切就像宝莱坞电影里的情节那样,他在店里遇到两个男生,Allan和David,并从点头之交变为网友,后来慢慢成为了铁杆兄弟。Allan和David也是干编程的,有时三人工作中遇到困难的项目问题,就会找彼此帮忙,在兄弟情谊里也发展出一些革命友谊。

步入职场的Monty一直在默默地做一件即将影响世界的事情——编写MySQL的前身代码。这件事一直持续了16年,直到Allan和David鼓励Monty给它增加SQL层,变成一个关系型数据库管理系统。最终在1995年,三人正式成立MySQL工作室,并把MySQL推向互联网。Monty是MySQL开发和运维的核心输出,而Allan、David则分管其他事务。

03

最流行的开源数据库,优秀到无法忽视

MySQL逐渐迭代成熟,并凭着性能高、成本低、可靠性好的优势,成为当时甚至现在最流行的开源数据库,被广泛地应用在各大中小型网站中。连维基百科、Google和Facebook等大网站都在用它;能被国际公认并列入著名开源软件组合LAMP——可想而知MySQL有多优秀。

但再优秀的计算机工具也要面临两个问题:开不开源,免不免费。MySQL团队选择了免费开源,而Monty说了一句很重要的话:“我们都希望回馈给开源社区一点东西。哪怕有人想拷贝或者偷盗我们的代码,我们也认为自己能挣的钱不会比现在少。”MySQL可以被复制,但永远不会被超越。MySQL的用户们没有高兴得太早,因为MySQL团队还定了一个约束条款:任何企业用MySQL来赚钱就需要付费授权。而恰恰就是这一制度,让MySQL实现了扩张并开始赚钱。

04

既然救不了亲儿子,那就再“生”一个

MySQL在崛起,背后也有不少科技大公司在虎视眈眈。终于,2008年,美国的Sun公司收购了MySQL;一年后,甲骨文收购了Sun,把MySQL也收归麾下。甲骨文显然操之过急了,一拿下MySQL就大幅抬高MySQL的商业版价格,让全球用MySQL的程序员们都担心以后会不会连免费社区版的MySQL也没得用了。慢慢地,MySQL失去了民心。

Monty其实对一系列收购的事情早有预感,并且不看好MySQL被收购后的前途。他曾经请求MySQL的用户们游说欧盟运行委员会,阻止甲骨文收购Sun,这个行动被号称“拯救MySQL”请愿行动

最后请愿行动失败了,Monty也落寞地离开Sun。看着自己的亲儿子(MySQL)每日俱下的势头,他坐不住了——要不再“生”一个吧!这么一说还颇有神话色彩了,而Monty真的做到了。


他创立了Monty Program AB,并开发出MySQL的分支“MariaDB”。不止如此,他还成立MariaDB基金会,不为营利地推广、维护和发展MariaDB代码库、社群和生态系统。这时的Monty已约47岁了,大部分同龄人都在求安安稳稳等退休,他还在为自己曾经的辉煌奋斗啊!

图片来自网络@版本归原作者

05

用大半生来诠释:何为热爱!

Monty精湛的术业可能是很大部分程序员学不来的,但他对所热爱事物的追求和恒心是我们可以参透、学习的,而且这份追求和恒心反而比术业本身更重要些。

1、进入心流

Monty曾自述敲代码就像在阅读一本写得非常好的书,或者在玩视频游戏。你知道开始玩游戏然后嘣一声3小时的时间就过去了的那种感觉吗?写代码对我来说就是这种感觉——进入心流的感觉。

2、坚持完美

在Monty眼里,好的代码是写过一次就永远不需要再碰的那种。从性能角度来看,它已经是最优化了。你可以不断增强,但永远都不需要重写。

3、用行动赢得尊重

Monty不擅长沟通、管理团队,但他在公司职场里一直赢得绝大部分人的认可和喜爱。在他看来,赢得开发者尊重是很简单的事情——你干的是跟他们一样的事,而且干得更好。

4、烂熟于心

Monty最常说的话就是:“That's easy, one day.”“That's easy, 15 mins.”老爷子我一会儿的功夫就给你搞定了,可想而知他对代码已经熟练到全刻在脑子里的地步。

图片来自网络@版本归原作者

结语

芬兰老爷子Monty虽然离我们遥远,但其实他和中国还有一段缘。2013年,Monty认识了阿里云团队,并受邀来到杭州参加云栖大会。这一来变一发不可收拾,连续四年的云栖大会,Monty都来亲自捧场。

图片来自网络@版本归原作者

他也曾经公开表白过杭州这个城市和阿里云团队,表白理由是什么呢?他说很多MariaDB的优质代码都来自杭州开发者;阿里巴巴也给了MariaDB很多开源的支持和贡献,阿里云甚至成为全球唯一一家在公共云上提供MariaDB服务的云厂商。虽然我不是阿里人,但作为中国IT行业从业者,我还是对祖国的编程水平感到骄傲的。

长江后浪推前浪,Monty老了仍坚持写代码;年轻人也绝不服输,继续在MariaDB开源生态里贡献越来越多优秀创新的代码。谁是下一个Monty,我们一起拭目以待吧!

参考素材

《MySQL创始人:写代码比打游戏还爽,程序员应该多泡开源社区》36kr

《MySQL 发展史》Dave 

MySQL 维基百科,自由的百科全书

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

《MySQL 之父的来华奇妙之旅:10 次来中国,居然有 4 次来到了这里》云栖

作者简介:北席,一个被生活毒打后,将生活按在地上摩擦的人。想了解我?来看我的Code和文字吧。

 -END- 


放下面子挣钱,是成年人最大的体面!
搞钱就关注,副业怎么搞


推荐关注熊猫教授,一个风趣的计算机科学家!


大家在看:

1.他做了最遭人“恨”的App,挑战张小龙!

2.如何搭建一个拖垮公司的技术架构?

3.ERP已死,中台已凉,低代码称王!

4.如何用敏捷搞垮一个团队?

5.为什么CTO不写代码,还这么牛逼?

6.如何快速降低一个员工的积极性?


推荐阅读
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Vi编辑器的工作模式有哪些?如何在不同模式间切换?
    Vi编辑器是Linux系统中常用的文本编辑工具,具备三种主要工作模式:命令模式、插入模式和底行模式。用户可以通过特定的按键组合在这些模式之间进行切换,以实现不同的编辑功能。例如,在命令模式下,用户可以执行移动光标、删除文本等操作;而在插入模式下,则可以输入或修改文本内容。底行模式则用于执行保存文件、退出编辑器等命令。 ... [详细]
  • C盘无法格式化的原因及解决方法
    本文探讨了C盘无法格式化的原因,并提供了详细的解决方案,帮助用户顺利进行系统维护。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
author-avatar
SH_ZTH_611_666_104_534
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有