暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

我加入 MySQL 的 5 年时间

SOHU-DBA 2013-05-22
316


2008 - Sun 收购案


在奥兰多,一个全公司的会议上,我加入了MySQL AB,那正是Sun宣布被收购的前两天。Sun应该是酝酿着许多有意思的开源项目的公司,这个消息让我很兴奋。几个月后我参加了本季度财务情况的内部电话会议,我才意识到90%的营收来自于销售 Sparc 服务器, 基本上所有的那些有意思的开源项目都没有营收。那时候,我就已经明白应该不会有什么好结果...


我的工作是把 MySQL 卖给通讯公司。那可是我梦寐以求的工作,公司发给我薪水,让我到客户跟前去,帮助他们从专有Oracle实时应用集群有时是Sybase迁移开源的MySQL集群。那时的数据中心曾被大家普便认为是最不可能使用开源软件的当时经济不景气,为了尽可能节俭,我们的压力非常大。


2009年伊始,这种势头进一步增加。很多服务提供商和其他一些企业客户通过迁移MySQL集群开始引进双供应商策略。



2009 - Oracle 的收购和 Monty Program


虽然我们的团队通过努力使自己的销售业绩翻了一番,但是SUN公司总体上在走下坡路,我们都面临着被解雇的尴尬局面。所以我们所有人都得加倍努力来使公司远离破产的境地。


Nokia客户团队的高层领导催促我去芬兰参加一个非常重要的、为期一周的客户会议。在芬兰的一周非常的有意义,那些天我们非常忙碌。我从中看到了未来的前景。有一个早晨,我们所有人都聚在一起参加另一个在Santa Clara大学举办的MySQL用户会议,这是MySQL有史以来最大的一次会议。早上一个电话吵醒了睡梦中的我,通知了SUN被Oracle收购的事情。


很快,我有了一个以首席运营官身份加入MariaDB团队的Monty计划的机会。当时这家公司才成立没几个月,所以团队建设、职责分配等等还不成熟。

我们以一个瑞士协会的名义创建了开源的数据库联盟来把MariaDB作为一个纳入基金管理的开源项目。当时还是一家小型咨询公司的Percona派出了Tom Basil来敲定这笔对他们来说是非常不平凡的投资。我们付出了大量的艰辛来谈成这次投资,之后我们成为非常亲密的好朋友。不幸的是,Monty Program的高层最后还是拒绝把MariaDB的资产融入协会。



2010 年和 SkySQL


之前我一直是按小时拿工资的,后来我很快明白原来的Monty Program商业模式,即使在最好的情况下,也不能持久。通常那些要向MySQL迁移的客户并不真正需要开发人员,他们一般只需要顾问或者工程师的支持,还可能甚至只需要一些策略性的建议。


我们的合资公司会议在伊斯坦布尔期间召开的时候,SkySQL正式成立。这五年以来我最美好的记忆是最后终于踏上SkySQL团队欢迎我们的大巴的那一刻。我们花了一年多的时间努力来建立MariaDB和SkySQL,有将近50多的友善的好朋友来和我们一起打拼。那种充满和谐和力量的气氛我永远都不会忘记。


上周我被问到很多次对于Monty Program和SkySQL合并的看法。这是一个自然的结果。Monty致力于一个五年的计划,现在我们已经进入了第四年。一直以来,SkySql提供了MP的大多数收入,双方的董事会主要受同一个人的控制而且MP的高官们甚至持有SkySQL的股票。


对于MariaDB基金会,我的预测是,它会和Ubuntu基金会非常相似。它虽然不是MySQL的唯一的、甚至主导的的变种,但是它可以非常好地培养自己的充满活力的社区。


这些年来,每个人或多或少有一些压力,我和其它的MYSQL老人一样离开甲骨文。当然,我从不认为甲骨文会搞死MYSQL,之所以这么说,因为我知道不管是基于商业目的还是其它的,甲骨文都没有理由这么做。我相信他们会做的更好。



Volcano


2010年因为Eyjafjallajokull火山的爆发,参加完在旧金山举行的MySQL会议之后,所有飞往欧洲去的航班全部被取消了,所有欧洲里的人都困那儿了。

回到家六周之后,我的女儿出生了,她也非常热情。我们几个把刚出生的孩子组成了“火山婴儿俱乐部”。

你永远都不会知道MySQL会带你去哪儿。



2011年- MepSQL,Drizzle, 诺基亚 和 Galera


从那时我一直想达到一种可以使用相通的脚本来构建两个普通的MySQL,Percona 服务器、MariaDB和其它任何一种MySQL分支的状态. 一个对于所有MySQL分支的统一构建系统!

事实上,这并有没想象中的那么简单, 事实证明,尤其是DEB脚本与给定名称的项目联系起来非常困难,并且这样还会产生大量的参数化工作. 唯一能从这个项目解脱出来的方式就是打包和发布Facebook分支的MySQL.


当我发现MariaDB和这个开源的数据库联盟并没有按我所设想的那样成为一个广泛的、统一的项目的时候,我开始致力于为我自己找到一个中立的空间来继续为所有的MySQL分支做更多的工作。我给这个中立的,非供应商的区域起名为“mepsql",这是由“websql”的倒置过来得到的。


我在MepSQL上所下的功夫在Nokia面试的时候派上了大用场,面试官们问了一些bash shell的操作和一些EC2的知识,所以在那次面试中我表现得非常抢眼。


我加入Nokia之后虽然它并没有被收购,但确实发生了一次非常大的机构调整。我把我的个人笔记本带到了办公室并在上班的时间里深入地学习和研究了Google的开源的JavaScript引擎V8,并对HTTP JSON API有了更加深刻的理解。另外我还认真学习了MongoDb和Couchbase的JSON查询语言并用来作为Drizzle的JSON API原型。这对我的下一份工作还多少有点用处......


Nokia聘用我是为了解决MySQL高可用性和数据备份与恢复的问题。在评估了例如Pacemaker等设备一周之后,我坚信了这样一点:基于故障转移的系统永远都不可靠。(今天我要澄清的是,采用独立的软件来处理复制和故障转移这是设计上的不完整。比如说MySQL的故障转移并不在内部进行,而是采用了NDB的协议,这也一直为人诟病。虽然我个人没有MongoDB备份的经验,但我相信它也是采用同样的故障转移机制。)


我是怎样发现Galera系统的呢?读了Amazon Dynamo协议之后我大受启发,在这个协议里,节点的故障不会产生任何影响,虽然在一个关系数据库里面这是不可能的,但Galera系统至少为我们提供了这样一些相似的属性。



Percona和MySQL大会


Percona的确在一开始就认识到了, 他们支持对整个MySQL生态系统有促进作用公司,包括他们所谓的竞争性公司SkySQL和Oracle,因为他们可以因此而获益。


一直以来,Percona的成长都令人欢欣鼓舞,因为这正好证实了我所信奉的两个原则。


头一个就是我们从其它开源生态系统中了解到的规律,就是“更加开放”的可选方案通常最后都会胜出。

Percona作为更加开放的公司取得的胜利也为别的选择称为更加开放而不是封闭的公司打造出了一个市场氛围。当我同Codership一起销售Galera时这一点非常明显。我愿意认为Tokutek将他们的产品开源后最终也会取得同样的成功。Vadim已经首发了用Tokutek和Percona服务器编译的alpha版的产品。


另外的一个原则是我父母教给我让我信奉的: 能力(或者是“教育”,常话都是这么说的)是资本的一种形式。

在2009年,Percona被Sun/MySQL排斥到大会之外了,这反而正好促使Percona开始组织他们自己的Parcona现场大会。到2012年,他们已经有了足够的信心,感觉他们自己可以将大会从O'Reilly手中接管过来了。真的是非常了不起,我们能够见证到Percona在这个领域中完全投将他们自己身于100%的开放性和包容性。



奖品


伴随大会的还有一个传统就是一年一度的MySQL奖品。当Oracle不再支持2010年的大会后我们继承了这个传统。我在36小时内在社区中安排了一个选拔获胜者的评判小组。


获奖者总是因为获得我们的奖品而感到十分自豪,能够让人如此快乐的感觉妙极了。即使是那些再多次获奖的人也认为获奖是件了不起的事情,因为他们说 —— 赢得这个奖项可不同寻常。



下一步


过去5年中一直都是以变革作为主题的。在2009年,Baron做了他著名的主题演讲"MySQL has a community, but PostgreSQL is a community(MySQL具有一个社区,但是PostgreSQL就是一个社区)"。

从我的观点看,这个就是一直以来导致所有问题的最根本的原因。问题并不在于MySQL被Oracle收购了,而在于MySQL本身太容易受收购的伤害了。(当时在工程化的过程中以及性能方面的问题也可以归咎于相同的缺乏多样性。)如果还有什么要说的,我们应该感谢Oracle,她在这场变革中担当了催化剂的作用。我想,现在我们可以很有把握地说MySQL is a community了。


因为Nokia那时仍在继续裁员,虽然我的团队并未受到什么影响,但很自然地我也应该四处找找看有没有什么合适的机会。我接受了来自10gen的offer,将回去做售前咨询和销售。。。只是这次是MongoDB。


对我来讲,Oracle的收购可不仅仅是换个东家那么简单,其实收购意味着MySQL和Sun在整个开源运动中彻底的败北。随后企业用户就会改弦易辙,在他们的双重供应商策略中皈依Microsoft SQL。(那时EnterpriseDB还未出现在欧洲)。看到这个杯子就令我恶心。但那种情况并没有真的发生,人们还在使用MySQL以及其它一些开源数据库,所以,我又重新用起了我的这个啤酒杯。

两个啤酒杯,一个半空,一个半满。干杯!



文章转载自SOHU-DBA,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论