发布时间:2015-04-29 00:00 来源:未知
加入MySQL社区之后,人们通常会在迎来一些高兴的周年纪念的时候写点博文。对那些很老的家伙来说的话,基本就是指加入MySQL工作的日子了。对我来说,那是2008年一月。因为月份没记对,我之后也没写什么东西,但是我决定抓住机会现在开始写点东西。
2008 – Sun 收购案
在奥兰多,一个全公司的会议上,我加入了MySQL AB,那正是Sun宣布被收购的前两天。星期三的早会上,我们还在想这是不是Mårten用来开场的笑话。但是之后Jonathan Schwartz 出现在直播屏幕上。显然这是真的。
在听完了几小时Rich Green和其他Sun的主管们的讲话之后,一个服务员的队伍开始走进来,手上端着 400+ 杯冰镇的伏特加酒以庆祝这次收购。 Kaj Arnö 开场唱了一首瑞典著名的祝酒歌 Helan går :
几周之前,Mårten Mickos 的一个好朋友问我觉得 Mårten 人怎么样。 我毫不犹豫地说,很显然他是我工作过的最好的 CEO。但是,他做得更多。在芬兰,我属于说瑞典语的小众群体,虽然我很晚才加入 MySQL,但在这,我感觉就像在家一样。那天后来,Mårten 和我一起喝了一杯喜力,还告诉我“喜力”是Sun收购案的项目代号。
即使人们不会说瑞典语,我觉得 Mårten 也对大家都一视同仁。就在上周,在Percona Live节目上,我和别人讨论怎么处理社区日常的烂事时还说,我的建议是想想 Mårten 会怎么做。当然,不是说他是神,但他是个好领导。
那有一个卡拉OK吧,我唱了一首《日升之屋》,我根本找不找调了,所以 Richard Mason 帮我从听众中解围出来。他现在在Oracle,领导着世界范围内所有的MySQL和Linux销售业务。
当我从奥兰多回到家时,我儿子都6周大了。我把他抱在怀里,他还在睡觉,稍微睁开眼睛朝我笑了一下,然后又闭上了眼睛。这是他的第一个微笑。
回到我密切关注开源商业模型诞生的那一阵子,我熟悉Sun因拥有 Java, OpenOffice,甚至那个时候 Solaris 还是开源的. 那周后来,我有机会见到了 James Gosling和Ian Murdock,他们分别是 Java 和 Debian 创始人。所以Sun应该是酝酿着许多有意思的开源项目的公司,这个消息让我很兴奋。几个月后我参加了本季度财务情况的内部电话会议,我才意识到90%的营收来自于销售 Sparc 服务器, 基本上所有的那些有意思的开源项目都没有营收。那时候,我就已经明白应该不会有什么好结果…
我的工作是把 MySQL 卖给通讯公司。刚开始,主要就是指设备厂商和 MySQL 集群。连续签了两个MySQL集群的合同,这些早在去年就开始酝酿势头了,这也是 MySQL 历史上最大的两个合同,而且第二个是有史以来首个7位数的合同。我们仍在不懈努力,签了许多大大小小的 OEM 合同。
那可是我梦寐以求的工作,公司发给我薪水,让我到客户跟前去,帮助他们从专有的Oracle实时应用集群(有时是Sybase)迁移到开源的 MySQL集群。那个时候大家已经都在用开源的Linux(当时的Solaris在电话公司非常流行,而且那会它还是开源的)JBoss和Tomcat,但那时的数据中心曾被大家普便认为是最不可能使用开源软件的。因为是SUN公司的职员(这是多么讽刺的一件事),我们在客户中有着很高的可信度。当时经济不景气,为了尽可能节俭,我们的压力非常大。当时我所知道的节俭最大的一个项目是从每年花5千万欧元的Oracle实时应用集群迁移到MySQL集群,节省了90%以上的钱。事实上他们省下了更多的钱,因为MySql集群不需要SAN网络存储,我想为此他们甚至又省下了5千万。
2009年伊始,这种势头进一步增加。很多服务提供商和其他一些企业客户通过迁移到MySQL集群开始引进双供应商策略。我们出售了一个三年内将 50%甚至以上的数据中心迁移到MySQL集群的方案。仅在一年前MySql才刚完成自己的第一个七位数交易,而现在每一笔销售都能达到这个数目。在向 MySql集群迁移方面,开始我们敲定了数千台服务器的迁移,而最终只有其中的一些迁移计划将在Oracle收购之前取消。这当然改变了双供应商策略的故事……
2009 – Oracle 的收购和 Monty Program
虽然我们的团队通过努力使自己的销售业绩翻了一番,但是SUN公司总体上在走下坡路,我们都面临着被解雇的尴尬局面。所以我们所有人都得加倍努力来使公司远离破产的境地。
那时候SUN在拉斯维加斯为所有的技术领域的工程师们举办了一个大型的培训活动。培训基本上围绕Solaris和java展开,所以本质上来说,这是一次无关紧要的、免费的拉斯维加斯之行。我已经预订了酒店和航班(当然,是公司掏的钱),由于以前从来都没有去过拉斯维加斯,我难免有些兴奋。
但是事情突然出现了变化,Nokia客户团队的高层领导催促我去芬兰参加一个非常重要的、为期一周的客户会议。开始我觉得像Nokia, Ericsson, Orange等等公司的这些人一直会有和首席技术官或者其他什么人的重要会议,而且他们会一直要求MySQL出人去参加因为MySQL基本上是SUN公司唯一拿得出手的产品。但是最后我们觉得参加会议会是一个非常英明的选择,所以我最终还是没有去拉斯维加斯,尽管已经支付。从某种意义上来说,在芬兰的一周非常的有意义,那些天我们非常忙碌。我从中看到了未来的前景,而且我们开始讨论另一个从Oracle到MySQL迁移项目。
之后有一个早晨,我们所有人都聚在一起参加另一个在Santa Clara大学举办的MySQL用户会议,这是MySQL有史以来最大的一次会议。早上一个电话吵醒了睡梦中的我,通知了SUN被Oracle收购的事情。就在不久前,我们才消化了IBM不会收购SUN的消息,而这次,我有点懵了……
从床上爬起来,我的第一个想法就是我应该去拉斯维加斯。事实上,我在芬兰的那一周里,我们的很多会议都被取消了。关于双供应商策略的主张仿佛一夜之间丢了魂,而客户们纷纷没了兴趣。
很快,我有了一个以首席运营官身份加入MariaDB团队的Monty计划的机会。当时这家公司才成立没几个月,所以团队建设、职责分配等等还不成熟。我不光要主持每周例行会议,还要启动程序来找回已被抢注的montyprogram.com的中文域名。
意想不到的是,为了获得欧盟委员会对Oracle和Sun合并的批准,我们纠结了好长时间。其间各种琐事,不值一提。我只想说,Oracle的这种把困难最终转变成为他们的胜利的能力让我折服。在事实上完全处于下风的Oracle在一到两周内联系了他们在欧洲的500多个最大的用户(这个数量只是我保守的估计),让他们给欧盟委员会写信以支持Oracle的举动。这些用户包括了总部设在九个时区之外的、Redwood Shores的副总裁们,他们纷纷在欧盟工作时间内响应号召。Oracle甚至得到了59名美国参议员的联名信的支持(这一定花费了大量的竞选经费,我敢保证)。在一个非常短的时间内做得这些简直就是一个壮举,这是Sun或者Nokia这样的公司根本不可能做到的。
我们以一个瑞士协会的名义创建了开源的数据库联盟来把MariaDB作为一个纳入基金管理的开源项目。当时还是一家小型咨询公司的Percona派出了Tom Basil来敲定这笔对他们来说是非常不平凡的投资。我们付出了大量的艰辛来谈成这次投资,之后我们成为非常亲密的好朋友。不幸的是,Monty Program的高层最后还是拒绝把MariaDB的资产融入协会。我花了两个多月,超过两万欧元的努力全部打了水漂。
但是付出总会有回报。当时证明为什么基金对于一个项目来说大有好处,我收集了一些由基金引导的成功的案例与一些供应商自己支持的开源项目案例对比的统计资料。虽然最后没能成功说服Monty Program高层,但我所收集的统计结果最后被广泛引用。我还将他们分享给全球三大云计算中心之一的Rackspace的副总裁,我不知道这些统计结果对于OpenStack Foundation计划的产生到底产生了什么影响,但是由451 Group上周发布的一份调查结果证明确实产生了相当的作用。
2010 年和 SkySQL
之前我一直是按小时拿工资的,后来我很快明白原来的Monty Program商业模式,即使在最好的情况下,也不能持久。通常那些要向MySQL迁移的客户并不真正需要开发人员,他们一般只需要顾问或者工程师的支持,还可能甚至只需要一些策略性的建议。而那时,Percona公司还没有开通他们的付费业务,他们在欧洲甚至还没有像样的力量。
当我们的合资公司会议在伊斯坦布尔期间召开的时候,SkySQL正式成立,而当时我正在休陪产假。这五年以来我最美好的记忆是最后终于踏上 SkySQL团队欢迎我们的大巴的那一刻。我们花了一年多的时间努力来建立MariaDB和SkySQL,有将近50多的友善的好朋友来和我们一起打拼。那种充满和谐和力量的气氛我永远都不会忘记。当时就像在观看1989年人们从倒塌的柏林墙上蜂拥而过的场景一样,我起了一身鸡皮疙瘩。好吧,这多少有点肉麻,但却是我真实的感受。
(这段视频似乎是在会议室拍的,但是不知道为什么在那样亲密无间而又充满力量的环境下没人会主动举杯)
SkySQL的董事长和首席执行官都是扑克爱好者。凌晨5点的时候我和Ulf两人我八他二地摊分了打扑克所赢的钱。所以我成了第一个从SkySQL拿到报酬的人。
Olivier Beutels是第三个从SkySQL拿到报酬的人,只不过他所得到的是总统套房里长着长发的同伴,因为我没有一点兴趣在那个时候去MP酒店。Ulf早上 9点起床去陈述SkySQL的政策,在他之后我不得不临时以Monty Program首席运营官的身份去向MariaDB展示成立一个新的销售团队的路线图,因为我的首席运营官继任者碰到了交通阻塞无法按时到会。 伊斯坦布尔的交通糟糕的时候就是一坨狗屎,尤其是在你喝多了或者是睡过头了的时候……4个月之后,我的头脑中已经有了两张面孔合并的模样(SkySQL和 Monty Program),但是Igor温柔的纠正了我(译者注:这句话,额…Igor应该是作者的刚出生的孩子吧)。
上周我被问到很多次对于Monty Program和SkySQL合并的看法。这是一个自然的结果。Monty致力于一个五年的计划,现在我们已经进入了第四年。一直以来,SkySql提供了MP的大多数收入,双方的董事会主要受同一个人的控制而且MP的高官们甚至持有SkySQL的股票。所以这对我来说,根本就不算什么新闻。
我想没人会问我对于MariaDB基金会的想法,但是我还是想说。十一月的这次小型的基金会通告——甚至在它真正意义上存在之前——让 MariaDB更坚定了收购的决心。我真替MariaDB的开发人员感到高兴,而让我郁闷的是以前他们在产品上做了大量了不起的工作却并未能成功实施他们的“走向市场”的策略,这回所有的工作都将真正围绕人们的服务器展开。
一个基金会的成立当然要经过不断协商甚至是妥协。SkySQL仍然持有对MariaDB这个商标的所有权,但是这个基金又不得不取得 mariadb.org域名的所有权。我并不擅长于谈判、妥协,但基金有总比没有的好(就像451的统计数据显示的一样)。要知道,显然这个基金会和 Linux 基金会或者OpenStack的基金会没有可比性,但是这并不是我们的创造,之前Wordpress和Ubuntu的基金会是由同一个合作商来创建的,这和我们这个基金会是非常类似的。
对于MariaDB基金会,我的预测是,它会和Ubuntu基金会非常相似。它虽然不是MySQL的唯一的、甚至主导的的变种,但是它可以非常好地培养自己的充满活力的社区(Ubuntu基金也只是RedHat基金会的一个变种,它现在已经成长壮大,充满活力)。上周我见过了 AccelerationDB公司,该公司围绕MariaDB做了大量的投注性的策略调整而且也给基金会融入了很多资金,它将极有可能在MariaDB成长的强劲势头中获益匪浅。
我对Monty非常感谢,为了我去过5年所做的所有事情。作为COO,我不得不去见很多Mysql社区中很多重要的人并且成为朋友,从Tom Basill 到Mark Callaghan.我甚至和Neelie Kroes 见了面并且和Thomas Vinje 和Edward Screven 一起撒过尿(so humor).
我也非常尊敬你,因为你最后创建了MariaDB,就像你平时说的那样。并且相反的不会向压力投降。在我在Monty Program 的得失这个问题上Same是对的,我只这儿有太多压力,但是你有力地捍卫了你的承诺,那是你在论述商业模式中说的,所有员工都见证了的。对我来说 MariaDB 和Monty Program 永远不是关于钱的问题,直到今天我对我认定的东西有什么价值还是没有想法,但是我尊重你因为你捍卫了自己的原则。
还好,我基本上是满意的,毕竟我拥有了SkySQL的股票,对我来说,已经是个不错的结果了,基金会与SkySQL的合并计划终于宣布,我又将迎来新的挑战。
这些年来,每个人或多或少有一些压力,我和其它的MYSQL老人一样打算离开甲骨文,Giuseppe 和 Domas发表文章称,甲骨文是一个伟大的公司,没人想着离开,几个月后,他们都辞职了。在一次MYSQL会议上,一个来自MYSQL技术支持团队的成员对Bryan Alsdorf高喊“叛徒”,真是伤感情,但也许是个玩笑。不过仅仅几周以后,这个工程师就从甲骨文辞职,加入了一个大型社交网络公司的DBA团队。
当然,我从不认为甲骨文会搞死MYSQL,之所以这么说,因为我知道不管是基于商业目的还是其它的,甲骨文都没有理由这么做。在MYSQL迁移工作停止的同一天,甲骨文正式宣布他们没有任何理由要搞死MYSQL,我将我以前做的关于MYSQL集群以及其它所有MYSQL工作都交接给了Tomas Ulin,我相信他们会做的更好。
Volcano
在这5年里,我们克服了种种团难。也许正是这种患难与共才让我们的友谊如此持久和坚固。
这可不是什么收购戏剧或者社区的戏剧,2010年因为Eyjafjallajokull火山的爆发,参加完在旧金山举行的MySQL会议之后,所有飞往欧洲去的航班全部被取消了,所有欧洲里的人都困那儿了。
当时其中我们中的几个还有怀孕的妻子在欧洲的家里。回到家六周之后,我的女儿出生了,她也非常热情。我们几个把刚出生的孩子组成了“火山婴儿俱乐部”。
一个星期后,经过Mexico和Madrid我回到家,Spain是我第一个看到非常干净天空的国家,那会我就想明白一点,踏上一块合适的土地是非常重要的一件事。在Mexico待了13个小时我才发现在这里我压根就不需要鉴证就可以坐地铁去任一个集市。你永远都不会知道MySQL会带你去哪儿。
2011年- MepSQL,Drizzle, 诺基亚 和 Galera
在我放弃Monty项目后,我还有几个月的假期. 我曾一度对艺术持续集成状态和克里斯蒂安·尼尔森所构建的MariaDB的构建系统感到好奇,并且试着尝试它. 第一步,我按照要求用buildbot模块运行AWS EC2实例. (MariaDB 一直使用预置的硬件).
从那时我一直想达到一种可以使用相通的脚本来构建两个普通的MySQL,Percona 服务器、MariaDB和其它任何一种MySQL分支的状态. 一个对于所有MySQL分支的统一构建系统!
事实上,这并有没想象中的那么简单, 事实证明,尤其是DEB脚本与给定名称的项目联系起来非常困难,并且这样还会产生大量的参数化工作. 唯一能从这个项目解脱出来的方式就是打包和发布Facebook分支的MySQL.
当我发现MariaDB和这个开源的数据库联盟并没有按我所设想的那样成为一个广泛的、统一的项目的时候,我开始致力于为我自己找到一个中立的空间来继续为所有的MySQL分支做更多的工作。我可不想把我的工作只提交给“MariaDB”或者只提交给“MySQL”,所以我给这个中立的,非供应商的区域起名为“mepsql”,这是由“websql”的倒置过来得到的。
就这样我创建了我自己的MySQL分支,并对Stephen O’Grady解释的关于这种MySQl分支的”Cambrian explosion”现象在博客里面发表了我自己的看法。后来Drizzle发布了一个MySQl的一个GA版本,于是我觉得MySQl的分支太多了而我的这个分支显得那么的不够严肃,所以为了不产生一些不必要的噪声,我默默地退出了MepSQL。我想给所有的Drizzle团队的成员一次公平的机会。但是”High Performance MySQL”这本书的第三版还是简要地提到了MepSQL。这让Nokia的那些DBA们非常自豪,因为他们发现自己原来在和一个很有名的人共事:-)
我在MepSQL上所下的功夫在Nokia面试的时候派上了大用场,面试官们问了一些bash shell的操作和一些EC2的知识,所以在那次面试中我表现得非常抢眼。
Nokia之前已经和两个MySQl的供应商合作过,所以他们为我提供了一块“中立的领土”。他们并不关心我对于MySQL的想法,因为我不再和这些你争我斗的不同的MySQL分支有所关联,所以总有一天所有反对MySQl的声音都会消失。而我的博客,还是跟以前的内容一致。事实上我只见过三个踩我博客的人。也许现在大家的看法都要趋向一致,没人再反对了?
我加入Nokia之后虽然它并没有被收购,但确实发生了一次非常大的机构调整。在我和Stephen Elop之间我还有五个经理,他们中的三个都离职了,这让我们的团队出现了非常大的空缺。接下来的六个月里我们无事可干。我并不想怎样刻意地夸奖 Drizzle,但我确实要感谢它让我有了更多更加成熟的想法。我把我的个人笔记本带到了办公室并在上班的时间里深入地学习和研究了Google的开源的 JavaScript引擎V8,并对HTTP JSON API有了更加深刻的理解。同时我还作为GSOC的指导老师带了一个非常有前途的的学生,如果你要找一个不错的黑客,就联系我吧。
我是一个数据库顾问,所以之前我从来都没有像那段时间一样写过那么多的C++代码。另外我还认真学习了MongoDb和Couchbase的JSON查询语言并用来作为Drizzle的JSON API原型。这对我的下一份工作还多少有点用处……
Nokia聘用我是为了解决MySQL高可用性和数据备份与恢复的问题。在评估了例如Pacemaker等设备一周之后,我坚信了这样一点:基于故障转移的系统永远都不可靠。(今天我要澄清的是,采用独立的软件来处理复制和故障转移这是设计上的不完整。比如说MySQL的故障转移并不在内部进行,而是采用了NDB的协议,这也一直为人诟病。虽然我个人没有MongoDB备份的经验,但我相信它也是采用同样的故障转移机制。)
我是怎样发现Galera系统的呢?读了Amazon Dynamo协议之后我大受启发,在这个协议里,节点的故障不会产生任何影响,虽然在一个关系数据库里面这是不可能的,但Galera系统至少为我们提供了这样一些相似的属性。
在过去的5年里,我做了很多非常有意思的事,但就纯技术而言,我相信支持和帮助Galera系统获得了主流的采用是我为MySQL做的重大的技术突破之一。当然,由于开发人员都是芬兰的,这使得他们成为了另一个和我关系特别密切的团队。
Percona和MySQL大会
除了帮助SkySQL开张,帮助一些其它的企业家开张也很不错。我所做的都是些小事,他们向我寻求建议时我会和他们分享我的想法,比如安排一两场客户演示会、在我们的博客里提及某人或者安排一场招聘会或合作洽谈会。
在这方面我和Percona关系不大。他们已经成长起来了,雇用了很多人才,可我和他们没有什么关系。非常好笑的是,我不止一次被怀疑是一位 “Percona人”。我想,这是因为我在做各种我认为对整个社区都有益的各种事情时,我的动机通常和Percona的商业动机不谋而合。
Percona的确在一开始就认识到了, 他们支持对整个MySQL生态系统有促进作用公司,包括他们所谓的竞争性公司SkySQL和Oracle,因为他们可以因此而获益。对有的人来讲,这跟他们的直觉正好相反,并会因此而感到迷惑不解。但实际上,这在商业上意义非凡:平均来讲,Percona的成长速度比市场的成长速度要快,所以,对市场中的其它供应商的成长给予支持是有道理的。Baron 甚至在博客中公开地说,他认为SkySQL在欧洲干得不错,这非常好。因为Percona在欧洲很少露头。几年后,Percona已经能够在技术团队和销售团队方面进行扩充了。现在MySQL的市场已经成长起来了而且仍然还在不断正在,他们利用了这中情况。要是没有SkySQL和MariaDB,谁知道那些客户现在会在哪里?他们现在用的可能会使PostgreSQL或者甚至是SQL Server。(当人们对MySQL的未来有所怀疑时,绝大多数都会选用这两个产品。)
一直以来,Percona的成长都令人欢欣鼓舞,因为这正好证实了我所信奉的两个原则。
头一个就是我们从其它开源生态系统中了解到的规律,就是“更加开放”的可选方案通常最后都会胜出。例如Red Hat同Suse或者OpenStack和Eucalyptus。 关于这个现象我日前单独写了一篇文章。MySQL AB可能是对这个规律形成挑战的最重要的一个公司,Percona的胜利总体上对开源来说非常重要。
更重要的是,Percona作为更加开放的公司取得的胜利也为别的选择称为更加开放而不是封闭的公司打造出了一个市场氛围。当我同 Codership一起销售Galera时这一点非常明显。在集群领域中,我们有半打的创业公司采用了MySQL HA解决方案进入的市场:Schooner, GenieDB, ScaleDB, Clustrix, Xeround。。。其中每个公司都拥有数千万的VC投资。其中一家公司甚至OEM了Galera,所以它从技术上讲是同一种解决方案,要说区别只要一点,他们试了闭源的解决方案。这个市场反而被来自芬兰的4个身无分文的家伙占领了。他们是开源的,而且他们同Percona的合作关系意义深远 —— Vadim的第一篇博客就象来自教皇的祝福!我愿意认为Tokutek将他们的产品开源后最终也会取得同样的成功。Vadim已经首发了用Tokutek 和Percona服务器编译的alpha版的产品。
另外的一个原则是我父母教给我让我信奉的: 能力(或者是“教育”,常话都是这么说的)是资本的一种形式。当我审视Percona的成功并将它和同一领域中的供应商进行比较时,可以很保险地说,如果要我在能力和1千万的VC投资两者间做出选择的话,我宁愿选择能力。Peter、Vadim 还有Baron,你们干得好!(话虽如此,也要祝Baron好运,希望这次投资还能够支持他继续进行下一次的风险投资!)
因为要一起努力保持MySQL大会继续活跃,最后我和PeterPeter, Vadim以及Baron混得相当熟I了。话说这已经是2009年的事了,远在监管机构审批通过这次收购之前。Oracle内部的“告密者”同我以及 Monty计划的其他参与者进行了接触,告诉我们Oracle已无意继续举行2010年的大会了。我们把这个消息传达给了 O’Reilly,O’Reilly作出了相反的决定,他们将继续单独举办大会。Oracle经过两年的犹豫不前,最终在2010和2011两年都没有参加大会。
Oracle不再向他们的MySQL用户推广MySQL大会了,而那时Percona和SkySQL的力量还相当小,与会者因此变少了,最终 O’Reilly不得不直面再这么继续下去可不是个事了这个事实。在2009年,Percona被Sun/MySQL排斥到大会之外了,这反而正好促使 Percona开始组织他们自己的Parcona现场大会。到2012年,他们已经有了足够的信心,感觉他们自己可以将大会从O’Reilly手中接管过来了。话说不利可能最终会变成有利,这正好就是个例证。
Percona成为了大会最优秀的主办方。 他们竭力使大会成为一个对所有人都开放的兼收并蓄的大会。特别是在2012年,Oracle起诉了Google并企图消灭MySQL,许多人给 Percona发来电子邮件说Oracle在作恶而且还有其它一些理由,请求他们不要邀请Oracle参加大会了。Baron对这些请求回复到(我在私人邮件中看到过),他们的会议将欢迎所有人参加,因为他们自己知道被排斥的滋味,所以他们绝不会排斥任何人。2013年,Oracle对邀请做出了回应,而且他们在大会上的演讲颇受欢迎。那两年的大会也对Percona的竞争对手开放,甚至还对抱有个人恩怨的人开放,这些人知道他们到底是为了什么,曾经时不时试图对大会进行暗中破坏或抵制。甚至Percona还为免费的SkySQL日进行宣传,而SkySQL日的举办时间同主要的大会挨得很近。还得说,这在企业理念方面很有意义,但并不是每一个企业管理人员总能够理解这一点。真的是非常了不起,我们能够见证到Percona在这个领域中完全投将他们自己身于 100%的开放性和包容性。
在这一点上我想我应该说一下,今年有件事做得有点过了。尽管我很钦佩Percona不计前嫌,能够继续回邀曾经攻击过他们的人,但我想,在与会者(甚至还包括非与会者)攻击其他与会者方面,应该规定一个度。我们绝不允许让开源大会变成一个让与会者们因为他们甚至都未曾谋面的人所发的轻率的推特消息或博客而不得不担心可能会丢掉工作(甚至更糟)。好在Percona在过去的两年中已经显示出了他们坚持包容性和宽容性的决心,现在他们具有足够强的地位,可以让他们确保,大会将继续保持成为一个他们竭力打造的具有包容性和建设性的大会。
奖品
伴随大会的还有一个传统就是一年一度的MySQL奖品。当Oracle不再支持2010年的大会后我们继承了这个传统。Colin发现马来西亚有个地方卖的酒杯很不错,于是每年都从马来西亚进口一批这样的酒杯。我在36小时内在社区中安排了一个选拔获胜者的评判小组。Shlomi是一位专题讨论小组成员(他是前一年的获胜者),他快马加鞭,基于wordpress建成了一个投票系统,该系统我们今天仍在使用。我走后,他们还会将这个传统继续下去。
我认为,由于是通过一个独立的评判小组来决定谁来获奖,所以这种奖励才有了良好的声誉。获奖者总是因为获得我们的奖品而感到十分自豪,能够让人如此快乐的感觉妙极了。即使是那些再多次获奖的人也认为获奖是件了不起的事情,因为他们说 —— 赢得这个奖项可不同寻常。
我一直主张,评判小组可随心所欲地根据他们心中的任何理由来奖励任何人。不过这里还有个例外,我成功说服了我自己,不能让我自己通过选票而获胜。我的解释是,一个人站在台上然后自己颁发给自己奖品的感觉太怪异了。但我有个小秘密:每次大会我都不是空手而归!2010和2012两年中,我们在奖品购置方面都有点问题,每年都多出了一个杯子。我当然就把它们归为己有了。所以,我终究还是获了不少奖:
下一步
过去5年中一直都是以变革作为主题的。在2009年,Baron做了他著名的主题演讲”MySQL has a community, but PostgreSQL is a community(MySQL具有一个社区,但是PostgreSQL就是一个社区)”。
从我的观点看,这个就是一直以来导致所有问题的最根本的原因。问题并不在于MySQL被Oracle收购了,而在于MySQL本身太容易受收购的伤害了。(当时在工程化的过程中以及性能方面的问题也可以归咎于相同的缺乏多样性。)如果还有什么要说的,我们应该感谢Oracle,她在这场变革中担当了催化剂的作用。我想,现在我们可以很有把握地说MySQL is a community了。
在MySQL大会未来中萦绕着的不确定性是真正需要解决的最后一件事。大约在去年的这个时候,我在第一届Percona的世界性MySQL现场大会结束后回到了家中,当时感觉甚至这个问题也已经解决了,大会又重新回到了可靠的、有能力的人的手中了。
因为Nokia那时仍在继续裁员,虽然我的团队并未受到什么影响,但很自然地我也应该四处找找看有没有什么合适的机会。我决定,经过这么多年专心去做对MySQL社区有益的事情之后,现在正好是我寻找一些做点什么才会对我自己有益的时候了。
我当然同MySQL圈子里的多个不同的创业公司进行了洽谈,也拿到了一些相当不错的offer。但是令我意想不到的是,有一个不请自到的offer 要比其它的都好。虽然有点奇怪,但我决定接受了这个offer,那就让我顺其自然吧。 我接受了来自10gen的offer,将回去做售前咨询和销售。。。只是这次是MongoDB。
上周的大会是我过去的这5年身在其中经历的所有事情的一个完美的高潮。我要再次同所有的朋友相聚,一起享受圣克拉拉的阳光以及可能是史上最好的一届大会。从整个历史的角度看,会议的气氛相当好 —— 我想,他们中的每个人也都对历史感到厌倦了,只想把那些烦扰抛到脑后。
周五SkySQL又安排了他们自己的”附加”日,我参加了他们的晚宴。由于Kaj、Patrick (Backman) 和Ulf不再来了,他们知道他们没有了能够为他们当时还不出名的祝酒歌唱序曲的人了。 (En liten fågel satt en gång… )(译者注:瑞典语,大意是,很久以前有一只小鸟。。。)于是,Max Mether就邀请我来领唱。在任何场合下我都从来没有干过这样的事 —— 序曲通常都是由合唱团的首席男高音来唱的,否则也应该又party里资格最高者来唱。虽然事不大,但对我来讲,感觉是莫大的荣幸,心中对此感慨万千。
就这样,我5年多的MySQL生涯就象刚开始时一样,伴着Helan går的歌声,结束了。
(注意这块留白,马上就会奉上我唱歌的视频。)
按计划我是要在SkySQL日讲话的,但是我把机会让给了Seppo,他讲了有关MariaDB Galera集群方面的话题。他们为了感谢还准备了一份礼物,礼物的上面还刻有我的名字,所以,我要把我得到的这个啤酒杯带回家,放到下图中右面的那个位置。
在奥兰多参加MySQL AB新员工培训课程的第一天,我在谁懂的语言(译者注:应该指的是人类的自然语言)最多的竞赛中“获胜”(我懂4种语言)。实际上,我和Pasi Vuorela(他现在在SkySQL工作)打成了平手,但他把作为奖品的啤酒杯(左边那个)让给了我。我那时对在谁懂的编程语言最多的竞赛中打成平手后如何再取胜做好了充分的心理准备。。。
有一段时间我停用了这个杯子以及我所得到的其它带有Sun公司标志的物件。对我来讲,Oracle的收购可不仅仅是换个东家那么简单,其实收购意味着MySQL和Sun在整个开源运动中彻底的败北。随后企业用户就会改弦易辙,在他们的双重供应商策略中皈依Microsoft SQL。(那时EnterpriseDB还未出现在欧洲)。看到这个杯子就令我恶心。但那种情况并没有真的发生,人们还在使用MySQL以及其它一些开源数据库,所以,我又重新用起了我的这个啤酒杯。
两个啤酒杯,一个半空,一个半满。干杯!
英文原文:5 years of MySQL
译文链接:http://www.oschina.net/translate/5-years-mysql
加入MySQL社区之后,人们通常会在迎来一些高兴的周年纪念的时候写点博文。对那些很老的家伙来说的话,基本就是指加入MySQL工作的日子了。对我来说,那是2008年一月。因为月份没记对,我之后也没写什么东西,但是我决定抓住机会现在开始写点东西。
2008 – Sun 收购案
在奥兰多,一个全公司的会议上,我加入了MySQL AB,那正是Sun宣布被收购的前两天。星期三的早会上,我们还在想这是不是Mårten用来开场的笑话。但是之后Jonathan Schwartz 出现在直播屏幕上。显然这是真的。
在听完了几小时Rich Green和其他Sun的主管们的讲话之后,一个服务员的队伍开始走进来,手上端着 400+ 杯冰镇的伏特加酒以庆祝这次收购。 Kaj Arnö 开场唱了一首瑞典著名的祝酒歌 Helan går :
几周之前,Mårten Mickos 的一个好朋友问我觉得 Mårten 人怎么样。 我毫不犹豫地说,很显然他是我工作过的最好的 CEO。但是,他做得更多。在芬兰,我属于说瑞典语的小众群体,虽然我很晚才加入 MySQL,但在这,我感觉就像在家一样。那天后来,Mårten 和我一起喝了一杯喜力,还告诉我“喜力”是Sun收购案的项目代号。
即使人们不会说瑞典语,我觉得 Mårten 也对大家都一视同仁。就在上周,在Percona Live节目上,我和别人讨论怎么处理社区日常的烂事时还说,我的建议是想想 Mårten 会怎么做。当然,不是说他是神,但他是个好领导。
那有一个卡拉OK吧,我唱了一首《日升之屋》,我根本找不找调了,所以 Richard Mason 帮我从听众中解围出来。他现在在Oracle,领导着世界范围内所有的MySQL和Linux销售业务。
当我从奥兰多回到家时,我儿子都6周大了。我把他抱在怀里,他还在睡觉,稍微睁开眼睛朝我笑了一下,然后又闭上了眼睛。这是他的第一个微笑。
回到我密切关注开源商业模型诞生的那一阵子,我熟悉Sun因拥有 Java, OpenOffice,甚至那个时候 Solaris 还是开源的. 那周后来,我有机会见到了 James Gosling和Ian Murdock,他们分别是 Java 和 Debian 创始人。所以Sun应该是酝酿着许多有意思的开源项目的公司,这个消息让我很兴奋。几个月后我参加了本季度财务情况的内部电话会议,我才意识到90%的营收来自于销售 Sparc 服务器, 基本上所有的那些有意思的开源项目都没有营收。那时候,我就已经明白应该不会有什么好结果…
我的工作是把 MySQL 卖给通讯公司。刚开始,主要就是指设备厂商和 MySQL 集群。连续签了两个MySQL集群的合同,这些早在去年就开始酝酿势头了,这也是 MySQL 历史上最大的两个合同,而且第二个是有史以来首个7位数的合同。我们仍在不懈努力,签了许多大大小小的 OEM 合同。
那可是我梦寐以求的工作,公司发给我薪水,让我到客户跟前去,帮助他们从专有的Oracle实时应用集群(有时是Sybase)迁移到开源的 MySQL集群。那个时候大家已经都在用开源的Linux(当时的Solaris在电话公司非常流行,而且那会它还是开源的)JBoss和Tomcat,但那时的数据中心曾被大家普便认为是最不可能使用开源软件的。因为是SUN公司的职员(这是多么讽刺的一件事),我们在客户中有着很高的可信度。当时经济不景气,为了尽可能节俭,我们的压力非常大。当时我所知道的节俭最大的一个项目是从每年花5千万欧元的Oracle实时应用集群迁移到MySQL集群,节省了90%以上的钱。事实上他们省下了更多的钱,因为MySql集群不需要SAN网络存储,我想为此他们甚至又省下了5千万。
2009年伊始,这种势头进一步增加。很多服务提供商和其他一些企业客户通过迁移到MySQL集群开始引进双供应商策略。我们出售了一个三年内将 50%甚至以上的数据中心迁移到MySQL集群的方案。仅在一年前MySql才刚完成自己的第一个七位数交易,而现在每一笔销售都能达到这个数目。在向 MySql集群迁移方面,开始我们敲定了数千台服务器的迁移,而最终只有其中的一些迁移计划将在Oracle收购之前取消。这当然改变了双供应商策略的故事……
2009 – Oracle 的收购和 Monty Program
虽然我们的团队通过努力使自己的销售业绩翻了一番,但是SUN公司总体上在走下坡路,我们都面临着被解雇的尴尬局面。所以我们所有人都得加倍努力来使公司远离破产的境地。
那时候SUN在拉斯维加斯为所有的技术领域的工程师们举办了一个大型的培训活动。培训基本上围绕Solaris和java展开,所以本质上来说,这是一次无关紧要的、免费的拉斯维加斯之行。我已经预订了酒店和航班(当然,是公司掏的钱),由于以前从来都没有去过拉斯维加斯,我难免有些兴奋。
但是事情突然出现了变化,Nokia客户团队的高层领导催促我去芬兰参加一个非常重要的、为期一周的客户会议。开始我觉得像Nokia, Ericsson, Orange等等公司的这些人一直会有和首席技术官或者其他什么人的重要会议,而且他们会一直要求MySQL出人去参加因为MySQL基本上是SUN公司唯一拿得出手的产品。但是最后我们觉得参加会议会是一个非常英明的选择,所以我最终还是没有去拉斯维加斯,尽管已经支付。从某种意义上来说,在芬兰的一周非常的有意义,那些天我们非常忙碌。我从中看到了未来的前景,而且我们开始讨论另一个从Oracle到MySQL迁移项目。
之后有一个早晨,我们所有人都聚在一起参加另一个在Santa Clara大学举办的MySQL用户会议,这是MySQL有史以来最大的一次会议。早上一个电话吵醒了睡梦中的我,通知了SUN被Oracle收购的事情。就在不久前,我们才消化了IBM不会收购SUN的消息,而这次,我有点懵了……
从床上爬起来,我的第一个想法就是我应该去拉斯维加斯。事实上,我在芬兰的那一周里,我们的很多会议都被取消了。关于双供应商策略的主张仿佛一夜之间丢了魂,而客户们纷纷没了兴趣。
很快,我有了一个以首席运营官身份加入MariaDB团队的Monty计划的机会。当时这家公司才成立没几个月,所以团队建设、职责分配等等还不成熟。我不光要主持每周例行会议,还要启动程序来找回已被抢注的montyprogram.com的中文域名。
意想不到的是,为了获得欧盟委员会对Oracle和Sun合并的批准,我们纠结了好长时间。其间各种琐事,不值一提。我只想说,Oracle的这种把困难最终转变成为他们的胜利的能力让我折服。在事实上完全处于下风的Oracle在一到两周内联系了他们在欧洲的500多个最大的用户(这个数量只是我保守的估计),让他们给欧盟委员会写信以支持Oracle的举动。这些用户包括了总部设在九个时区之外的、Redwood Shores的副总裁们,他们纷纷在欧盟工作时间内响应号召。Oracle甚至得到了59名美国参议员的联名信的支持(这一定花费了大量的竞选经费,我敢保证)。在一个非常短的时间内做得这些简直就是一个壮举,这是Sun或者Nokia这样的公司根本不可能做到的。
我们以一个瑞士协会的名义创建了开源的数据库联盟来把MariaDB作为一个纳入基金管理的开源项目。当时还是一家小型咨询公司的Percona派出了Tom Basil来敲定这笔对他们来说是非常不平凡的投资。我们付出了大量的艰辛来谈成这次投资,之后我们成为非常亲密的好朋友。不幸的是,Monty Program的高层最后还是拒绝把MariaDB的资产融入协会。我花了两个多月,超过两万欧元的努力全部打了水漂。
但是付出总会有回报。当时证明为什么基金对于一个项目来说大有好处,我收集了一些由基金引导的成功的案例与一些供应商自己支持的开源项目案例对比的统计资料。虽然最后没能成功说服Monty Program高层,但我所收集的统计结果最后被广泛引用。我还将他们分享给全球三大云计算中心之一的Rackspace的副总裁,我不知道这些统计结果对于OpenStack Foundation计划的产生到底产生了什么影响,但是由451 Group上周发布的一份调查结果证明确实产生了相当的作用。
2010 年和 SkySQL
之前我一直是按小时拿工资的,后来我很快明白原来的Monty Program商业模式,即使在最好的情况下,也不能持久。通常那些要向MySQL迁移的客户并不真正需要开发人员,他们一般只需要顾问或者工程师的支持,还可能甚至只需要一些策略性的建议。而那时,Percona公司还没有开通他们的付费业务,他们在欧洲甚至还没有像样的力量。
当我们的合资公司会议在伊斯坦布尔期间召开的时候,SkySQL正式成立,而当时我正在休陪产假。这五年以来我最美好的记忆是最后终于踏上 SkySQL团队欢迎我们的大巴的那一刻。我们花了一年多的时间努力来建立MariaDB和SkySQL,有将近50多的友善的好朋友来和我们一起打拼。那种充满和谐和力量的气氛我永远都不会忘记。当时就像在观看1989年人们从倒塌的柏林墙上蜂拥而过的场景一样,我起了一身鸡皮疙瘩。好吧,这多少有点肉麻,但却是我真实的感受。
(这段视频似乎是在会议室拍的,但是不知道为什么在那样亲密无间而又充满力量的环境下没人会主动举杯)
SkySQL的董事长和首席执行官都是扑克爱好者。凌晨5点的时候我和Ulf两人我八他二地摊分了打扑克所赢的钱。所以我成了第一个从SkySQL拿到报酬的人。
Olivier Beutels是第三个从SkySQL拿到报酬的人,只不过他所得到的是总统套房里长着长发的同伴,因为我没有一点兴趣在那个时候去MP酒店。Ulf早上 9点起床去陈述SkySQL的政策,在他之后我不得不临时以Monty Program首席运营官的身份去向MariaDB展示成立一个新的销售团队的路线图,因为我的首席运营官继任者碰到了交通阻塞无法按时到会。 伊斯坦布尔的交通糟糕的时候就是一坨狗屎,尤其是在你喝多了或者是睡过头了的时候……4个月之后,我的头脑中已经有了两张面孔合并的模样(SkySQL和 Monty Program),但是Igor温柔的纠正了我(译者注:这句话,额…Igor应该是作者的刚出生的孩子吧)。
上周我被问到很多次对于Monty Program和SkySQL合并的看法。这是一个自然的结果。Monty致力于一个五年的计划,现在我们已经进入了第四年。一直以来,SkySql提供了MP的大多数收入,双方的董事会主要受同一个人的控制而且MP的高官们甚至持有SkySQL的股票。所以这对我来说,根本就不算什么新闻。
我想没人会问我对于MariaDB基金会的想法,但是我还是想说。十一月的这次小型的基金会通告——甚至在它真正意义上存在之前——让 MariaDB更坚定了收购的决心。我真替MariaDB的开发人员感到高兴,而让我郁闷的是以前他们在产品上做了大量了不起的工作却并未能成功实施他们的“走向市场”的策略,这回所有的工作都将真正围绕人们的服务器展开。
一个基金会的成立当然要经过不断协商甚至是妥协。SkySQL仍然持有对MariaDB这个商标的所有权,但是这个基金又不得不取得 mariadb.org域名的所有权。我并不擅长于谈判、妥协,但基金有总比没有的好(就像451的统计数据显示的一样)。要知道,显然这个基金会和 Linux 基金会或者OpenStack的基金会没有可比性,但是这并不是我们的创造,之前Wordpress和Ubuntu的基金会是由同一个合作商来创建的,这和我们这个基金会是非常类似的。
对于MariaDB基金会,我的预测是,它会和Ubuntu基金会非常相似。它虽然不是MySQL的唯一的、甚至主导的的变种,但是它可以非常好地培养自己的充满活力的社区(Ubuntu基金也只是RedHat基金会的一个变种,它现在已经成长壮大,充满活力)。上周我见过了 AccelerationDB公司,该公司围绕MariaDB做了大量的投注性的策略调整而且也给基金会融入了很多资金,它将极有可能在MariaDB成长的强劲势头中获益匪浅。
我对Monty非常感谢,为了我去过5年所做的所有事情。作为COO,我不得不去见很多Mysql社区中很多重要的人并且成为朋友,从Tom Basill 到Mark Callaghan.我甚至和Neelie Kroes 见了面并且和Thomas Vinje 和Edward Screven 一起撒过尿(so humor).
我也非常尊敬你,因为你最后创建了MariaDB,就像你平时说的那样。并且相反的不会向压力投降。在我在Monty Program 的得失这个问题上Same是对的,我只这儿有太多压力,但是你有力地捍卫了你的承诺,那是你在论述商业模式中说的,所有员工都见证了的。对我来说 MariaDB 和Monty Program 永远不是关于钱的问题,直到今天我对我认定的东西有什么价值还是没有想法,但是我尊重你因为你捍卫了自己的原则。
还好,我基本上是满意的,毕竟我拥有了SkySQL的股票,对我来说,已经是个不错的结果了,基金会与SkySQL的合并计划终于宣布,我又将迎来新的挑战。
这些年来,每个人或多或少有一些压力,我和其它的MYSQL老人一样打算离开甲骨文,Giuseppe 和 Domas发表文章称,甲骨文是一个伟大的公司,没人想着离开,几个月后,他们都辞职了。在一次MYSQL会议上,一个来自MYSQL技术支持团队的成员对Bryan Alsdorf高喊“叛徒”,真是伤感情,但也许是个玩笑。不过仅仅几周以后,这个工程师就从甲骨文辞职,加入了一个大型社交网络公司的DBA团队。
当然,我从不认为甲骨文会搞死MYSQL,之所以这么说,因为我知道不管是基于商业目的还是其它的,甲骨文都没有理由这么做。在MYSQL迁移工作停止的同一天,甲骨文正式宣布他们没有任何理由要搞死MYSQL,我将我以前做的关于MYSQL集群以及其它所有MYSQL工作都交接给了Tomas Ulin,我相信他们会做的更好。
Volcano
在这5年里,我们克服了种种团难。也许正是这种患难与共才让我们的友谊如此持久和坚固。
这可不是什么收购戏剧或者社区的戏剧,2010年因为Eyjafjallajokull火山的爆发,参加完在旧金山举行的MySQL会议之后,所有飞往欧洲去的航班全部被取消了,所有欧洲里的人都困那儿了。
当时其中我们中的几个还有怀孕的妻子在欧洲的家里。回到家六周之后,我的女儿出生了,她也非常热情。我们几个把刚出生的孩子组成了“火山婴儿俱乐部”。
一个星期后,经过Mexico和Madrid我回到家,Spain是我第一个看到非常干净天空的国家,那会我就想明白一点,踏上一块合适的土地是非常重要的一件事。在Mexico待了13个小时我才发现在这里我压根就不需要鉴证就可以坐地铁去任一个集市。你永远都不会知道MySQL会带你去哪儿。
2011年- MepSQL,Drizzle, 诺基亚 和 Galera
在我放弃Monty项目后,我还有几个月的假期. 我曾一度对艺术持续集成状态和克里斯蒂安·尼尔森所构建的MariaDB的构建系统感到好奇,并且试着尝试它. 第一步,我按照要求用buildbot模块运行AWS EC2实例. (MariaDB 一直使用预置的硬件).
从那时我一直想达到一种可以使用相通的脚本来构建两个普通的MySQL,Percona 服务器、MariaDB和其它任何一种MySQL分支的状态. 一个对于所有MySQL分支的统一构建系统!
事实上,这并有没想象中的那么简单, 事实证明,尤其是DEB脚本与给定名称的项目联系起来非常困难,并且这样还会产生大量的参数化工作. 唯一能从这个项目解脱出来的方式就是打包和发布Facebook分支的MySQL.
当我发现MariaDB和这个开源的数据库联盟并没有按我所设想的那样成为一个广泛的、统一的项目的时候,我开始致力于为我自己找到一个中立的空间来继续为所有的MySQL分支做更多的工作。我可不想把我的工作只提交给“MariaDB”或者只提交给“MySQL”,所以我给这个中立的,非供应商的区域起名为“mepsql”,这是由“websql”的倒置过来得到的。
就这样我创建了我自己的MySQL分支,并对Stephen O’Grady解释的关于这种MySQl分支的”Cambrian explosion”现象在博客里面发表了我自己的看法。后来Drizzle发布了一个MySQl的一个GA版本,于是我觉得MySQl的分支太多了而我的这个分支显得那么的不够严肃,所以为了不产生一些不必要的噪声,我默默地退出了MepSQL。我想给所有的Drizzle团队的成员一次公平的机会。但是”High Performance MySQL”这本书的第三版还是简要地提到了MepSQL。这让Nokia的那些DBA们非常自豪,因为他们发现自己原来在和一个很有名的人共事:-)
我在MepSQL上所下的功夫在Nokia面试的时候派上了大用场,面试官们问了一些bash shell的操作和一些EC2的知识,所以在那次面试中我表现得非常抢眼。
Nokia之前已经和两个MySQl的供应商合作过,所以他们为我提供了一块“中立的领土”。他们并不关心我对于MySQL的想法,因为我不再和这些你争我斗的不同的MySQL分支有所关联,所以总有一天所有反对MySQl的声音都会消失。而我的博客,还是跟以前的内容一致。事实上我只见过三个踩我博客的人。也许现在大家的看法都要趋向一致,没人再反对了?
我加入Nokia之后虽然它并没有被收购,但确实发生了一次非常大的机构调整。在我和Stephen Elop之间我还有五个经理,他们中的三个都离职了,这让我们的团队出现了非常大的空缺。接下来的六个月里我们无事可干。我并不想怎样刻意地夸奖 Drizzle,但我确实要感谢它让我有了更多更加成熟的想法。我把我的个人笔记本带到了办公室并在上班的时间里深入地学习和研究了Google的开源的 JavaScript引擎V8,并对HTTP JSON API有了更加深刻的理解。同时我还作为GSOC的指导老师带了一个非常有前途的的学生,如果你要找一个不错的黑客,就联系我吧。
我是一个数据库顾问,所以之前我从来都没有像那段时间一样写过那么多的C++代码。另外我还认真学习了MongoDb和Couchbase的JSON查询语言并用来作为Drizzle的JSON API原型。这对我的下一份工作还多少有点用处……
Nokia聘用我是为了解决MySQL高可用性和数据备份与恢复的问题。在评估了例如Pacemaker等设备一周之后,我坚信了这样一点:基于故障转移的系统永远都不可靠。(今天我要澄清的是,采用独立的软件来处理复制和故障转移这是设计上的不完整。比如说MySQL的故障转移并不在内部进行,而是采用了NDB的协议,这也一直为人诟病。虽然我个人没有MongoDB备份的经验,但我相信它也是采用同样的故障转移机制。)
我是怎样发现Galera系统的呢?读了Amazon Dynamo协议之后我大受启发,在这个协议里,节点的故障不会产生任何影响,虽然在一个关系数据库里面这是不可能的,但Galera系统至少为我们提供了这样一些相似的属性。
在过去的5年里,我做了很多非常有意思的事,但就纯技术而言,我相信支持和帮助Galera系统获得了主流的采用是我为MySQL做的重大的技术突破之一。当然,由于开发人员都是芬兰的,这使得他们成为了另一个和我关系特别密切的团队。
Percona和MySQL大会
除了帮助SkySQL开张,帮助一些其它的企业家开张也很不错。我所做的都是些小事,他们向我寻求建议时我会和他们分享我的想法,比如安排一两场客户演示会、在我们的博客里提及某人或者安排一场招聘会或合作洽谈会。
在这方面我和Percona关系不大。他们已经成长起来了,雇用了很多人才,可我和他们没有什么关系。非常好笑的是,我不止一次被怀疑是一位 “Percona人”。我想,这是因为我在做各种我认为对整个社区都有益的各种事情时,我的动机通常和Percona的商业动机不谋而合。
Percona的确在一开始就认识到了, 他们支持对整个MySQL生态系统有促进作用公司,包括他们所谓的竞争性公司SkySQL和Oracle,因为他们可以因此而获益。对有的人来讲,这跟他们的直觉正好相反,并会因此而感到迷惑不解。但实际上,这在商业上意义非凡:平均来讲,Percona的成长速度比市场的成长速度要快,所以,对市场中的其它供应商的成长给予支持是有道理的。Baron 甚至在博客中公开地说,他认为SkySQL在欧洲干得不错,这非常好。因为Percona在欧洲很少露头。几年后,Percona已经能够在技术团队和销售团队方面进行扩充了。现在MySQL的市场已经成长起来了而且仍然还在不断正在,他们利用了这中情况。要是没有SkySQL和MariaDB,谁知道那些客户现在会在哪里?他们现在用的可能会使PostgreSQL或者甚至是SQL Server。(当人们对MySQL的未来有所怀疑时,绝大多数都会选用这两个产品。)
一直以来,Percona的成长都令人欢欣鼓舞,因为这正好证实了我所信奉的两个原则。
头一个就是我们从其它开源生态系统中了解到的规律,就是“更加开放”的可选方案通常最后都会胜出。例如Red Hat同Suse或者OpenStack和Eucalyptus。 关于这个现象我日前单独写了一篇文章。MySQL AB可能是对这个规律形成挑战的最重要的一个公司,Percona的胜利总体上对开源来说非常重要。
更重要的是,Percona作为更加开放的公司取得的胜利也为别的选择称为更加开放而不是封闭的公司打造出了一个市场氛围。当我同 Codership一起销售Galera时这一点非常明显。在集群领域中,我们有半打的创业公司采用了MySQL HA解决方案进入的市场:Schooner, GenieDB, ScaleDB, Clustrix, Xeround。。。其中每个公司都拥有数千万的VC投资。其中一家公司甚至OEM了Galera,所以它从技术上讲是同一种解决方案,要说区别只要一点,他们试了闭源的解决方案。这个市场反而被来自芬兰的4个身无分文的家伙占领了。他们是开源的,而且他们同Percona的合作关系意义深远 —— Vadim的第一篇博客就象来自教皇的祝福!我愿意认为Tokutek将他们的产品开源后最终也会取得同样的成功。Vadim已经首发了用Tokutek 和Percona服务器编译的alpha版的产品。
另外的一个原则是我父母教给我让我信奉的: 能力(或者是“教育”,常话都是这么说的)是资本的一种形式。当我审视Percona的成功并将它和同一领域中的供应商进行比较时,可以很保险地说,如果要我在能力和1千万的VC投资两者间做出选择的话,我宁愿选择能力。Peter、Vadim 还有Baron,你们干得好!(话虽如此,也要祝Baron好运,希望这次投资还能够支持他继续进行下一次的风险投资!)
因为要一起努力保持MySQL大会继续活跃,最后我和PeterPeter, Vadim以及Baron混得相当熟I了。话说这已经是2009年的事了,远在监管机构审批通过这次收购之前。Oracle内部的“告密者”同我以及 Monty计划的其他参与者进行了接触,告诉我们Oracle已无意继续举行2010年的大会了。我们把这个消息传达给了 O’Reilly,O’Reilly作出了相反的决定,他们将继续单独举办大会。Oracle经过两年的犹豫不前,最终在2010和2011两年都没有参加大会。
Oracle不再向他们的MySQL用户推广MySQL大会了,而那时Percona和SkySQL的力量还相当小,与会者因此变少了,最终 O’Reilly不得不直面再这么继续下去可不是个事了这个事实。在2009年,Percona被Sun/MySQL排斥到大会之外了,这反而正好促使 Percona开始组织他们自己的Parcona现场大会。到2012年,他们已经有了足够的信心,感觉他们自己可以将大会从O’Reilly手中接管过来了。话说不利可能最终会变成有利,这正好就是个例证。
Percona成为了大会最优秀的主办方。 他们竭力使大会成为一个对所有人都开放的兼收并蓄的大会。特别是在2012年,Oracle起诉了Google并企图消灭MySQL,许多人给 Percona发来电子邮件说Oracle在作恶而且还有其它一些理由,请求他们不要邀请Oracle参加大会了。Baron对这些请求回复到(我在私人邮件中看到过),他们的会议将欢迎所有人参加,因为他们自己知道被排斥的滋味,所以他们绝不会排斥任何人。2013年,Oracle对邀请做出了回应,而且他们在大会上的演讲颇受欢迎。那两年的大会也对Percona的竞争对手开放,甚至还对抱有个人恩怨的人开放,这些人知道他们到底是为了什么,曾经时不时试图对大会进行暗中破坏或抵制。甚至Percona还为免费的SkySQL日进行宣传,而SkySQL日的举办时间同主要的大会挨得很近。还得说,这在企业理念方面很有意义,但并不是每一个企业管理人员总能够理解这一点。真的是非常了不起,我们能够见证到Percona在这个领域中完全投将他们自己身于 100%的开放性和包容性。
在这一点上我想我应该说一下,今年有件事做得有点过了。尽管我很钦佩Percona不计前嫌,能够继续回邀曾经攻击过他们的人,但我想,在与会者(甚至还包括非与会者)攻击其他与会者方面,应该规定一个度。我们绝不允许让开源大会变成一个让与会者们因为他们甚至都未曾谋面的人所发的轻率的推特消息或博客而不得不担心可能会丢掉工作(甚至更糟)。好在Percona在过去的两年中已经显示出了他们坚持包容性和宽容性的决心,现在他们具有足够强的地位,可以让他们确保,大会将继续保持成为一个他们竭力打造的具有包容性和建设性的大会。
奖品
伴随大会的还有一个传统就是一年一度的MySQL奖品。当Oracle不再支持2010年的大会后我们继承了这个传统。Colin发现马来西亚有个地方卖的酒杯很不错,于是每年都从马来西亚进口一批这样的酒杯。我在36小时内在社区中安排了一个选拔获胜者的评判小组。Shlomi是一位专题讨论小组成员(他是前一年的获胜者),他快马加鞭,基于wordpress建成了一个投票系统,该系统我们今天仍在使用。我走后,他们还会将这个传统继续下去。
我认为,由于是通过一个独立的评判小组来决定谁来获奖,所以这种奖励才有了良好的声誉。获奖者总是因为获得我们的奖品而感到十分自豪,能够让人如此快乐的感觉妙极了。即使是那些再多次获奖的人也认为获奖是件了不起的事情,因为他们说 —— 赢得这个奖项可不同寻常。
我一直主张,评判小组可随心所欲地根据他们心中的任何理由来奖励任何人。不过这里还有个例外,我成功说服了我自己,不能让我自己通过选票而获胜。我的解释是,一个人站在台上然后自己颁发给自己奖品的感觉太怪异了。但我有个小秘密:每次大会我都不是空手而归!2010和2012两年中,我们在奖品购置方面都有点问题,每年都多出了一个杯子。我当然就把它们归为己有了。所以,我终究还是获了不少奖:
下一步
过去5年中一直都是以变革作为主题的。在2009年,Baron做了他著名的主题演讲”MySQL has a community, but PostgreSQL is a community(MySQL具有一个社区,但是PostgreSQL就是一个社区)”。
从我的观点看,这个就是一直以来导致所有问题的最根本的原因。问题并不在于MySQL被Oracle收购了,而在于MySQL本身太容易受收购的伤害了。(当时在工程化的过程中以及性能方面的问题也可以归咎于相同的缺乏多样性。)如果还有什么要说的,我们应该感谢Oracle,她在这场变革中担当了催化剂的作用。我想,现在我们可以很有把握地说MySQL is a community了。
在MySQL大会未来中萦绕着的不确定性是真正需要解决的最后一件事。大约在去年的这个时候,我在第一届Percona的世界性MySQL现场大会结束后回到了家中,当时感觉甚至这个问题也已经解决了,大会又重新回到了可靠的、有能力的人的手中了。
因为Nokia那时仍在继续裁员,虽然我的团队并未受到什么影响,但很自然地我也应该四处找找看有没有什么合适的机会。我决定,经过这么多年专心去做对MySQL社区有益的事情之后,现在正好是我寻找一些做点什么才会对我自己有益的时候了。
我当然同MySQL圈子里的多个不同的创业公司进行了洽谈,也拿到了一些相当不错的offer。但是令我意想不到的是,有一个不请自到的offer 要比其它的都好。虽然有点奇怪,但我决定接受了这个offer,那就让我顺其自然吧。 我接受了来自10gen的offer,将回去做售前咨询和销售。。。只是这次是MongoDB。
上周的大会是我过去的这5年身在其中经历的所有事情的一个完美的高潮。我要再次同所有的朋友相聚,一起享受圣克拉拉的阳光以及可能是史上最好的一届大会。从整个历史的角度看,会议的气氛相当好 —— 我想,他们中的每个人也都对历史感到厌倦了,只想把那些烦扰抛到脑后。
周五SkySQL又安排了他们自己的”附加”日,我参加了他们的晚宴。由于Kaj、Patrick (Backman) 和Ulf不再来了,他们知道他们没有了能够为他们当时还不出名的祝酒歌唱序曲的人了。 (En liten fågel satt en gång… )(译者注:瑞典语,大意是,很久以前有一只小鸟。。。)于是,Max Mether就邀请我来领唱。在任何场合下我都从来没有干过这样的事 —— 序曲通常都是由合唱团的首席男高音来唱的,否则也应该又party里资格最高者来唱。虽然事不大,但对我来讲,感觉是莫大的荣幸,心中对此感慨万千。
就这样,我5年多的MySQL生涯就象刚开始时一样,伴着Helan går的歌声,结束了。
(注意这块留白,马上就会奉上我唱歌的视频。)
按计划我是要在SkySQL日讲话的,但是我把机会让给了Seppo,他讲了有关MariaDB Galera集群方面的话题。他们为了感谢还准备了一份礼物,礼物的上面还刻有我的名字,所以,我要把我得到的这个啤酒杯带回家,放到下图中右面的那个位置。
在奥兰多参加MySQL AB新员工培训课程的第一天,我在谁懂的语言(译者注:应该指的是人类的自然语言)最多的竞赛中“获胜”(我懂4种语言)。实际上,我和Pasi Vuorela(他现在在SkySQL工作)打成了平手,但他把作为奖品的啤酒杯(左边那个)让给了我。我那时对在谁懂的编程语言最多的竞赛中打成平手后如何再取胜做好了充分的心理准备。。。
有一段时间我停用了这个杯子以及我所得到的其它带有Sun公司标志的物件。对我来讲,Oracle的收购可不仅仅是换个东家那么简单,其实收购意味着MySQL和Sun在整个开源运动中彻底的败北。随后企业用户就会改弦易辙,在他们的双重供应商策略中皈依Microsoft SQL。(那时EnterpriseDB还未出现在欧洲)。看到这个杯子就令我恶心。但那种情况并没有真的发生,人们还在使用MySQL以及其它一些开源数据库,所以,我又重新用起了我的这个啤酒杯。
两个啤酒杯,一个半空,一个半满。干杯!
英文原文:5 years of MySQL
译文链接:http://www.oschina.net/translate/5-years-mysql