“MySQL首先是在1985年作为一个项目开始的,但是实际上我和其他的开发者是在80年代初就在一起开始工作嘞。那个时候开始了解到免费软件开源等等。那时候大家已经有这个概念了,已经用了一段时间了,我们当时需要一个数据库,希望是开源的,但是没有这个产品我们只能自己写。我当时有一个想法,当时能让我们赚点钱,所以我们成立了一个小公司,在这个时候,我们想是不是可以有10个人呢?实际上现在已经很多人了,这个公司到目前为止已经价值10亿美元了,所以我们一边是做免费软件,一边也可以赚钱这个不矛盾。
那么到底MySQL为什么会成功呢?首先我觉得我们是解决了一个共同的问题,第二我们开发的时间与MySQL成长契合非常好,当时我们希望我们的信息能够发布给我们的客户,然后能够浏览。但是其他人有面临着同样的问题,只不过我们解决了。所以我们创造了一个可以实际应用的产品,所以我们开发了MySQL,一开始不能用我们很不高兴,这个跟你自己出于兴趣好玩是不一样的,我们是出于实际应用。我们在1996年或者1997年的时候我们开发的产品功能是非常少的,很多人数据库用了20多年,他们说这个有什么用。但是如果要做一个网页的人他们的看法就不一样了,因为我们提供了他们想要的东西,所以我们得到了很多的用户,对于互联网数据库应用进行开发。多数你们都已经知道了,到了几年以后,几乎每一个小的创始新成立的公司都会使用我们的产品。所以说我们主要的关注是开发这一块,并且发展得非常快。
另外一点我们需要非常非常多的用户,可能他们一千个人里面有一个愿意付点钱就可以赚点钱,那么怎么得到更多的用户呢?这个并不容易,所以我们花了很多时间,让安装变得简便,让它尽可能简单易用。我们也在不同的系统做了EASY文件。一切都是为了用户使用的方便。比如说先让自己安装一遍,比如说我前面15分钟把系统安装了那就是不错了,所以你要15分钟内把系统安装好开始使用就是好的。其实在上世纪的时候,计算机其实是很慢,你要下载起来安装起来其实是很宏伟的目标。但是有些项目做起来是比较枯燥的,我们要不断把代码写成文档,但是为了未来你必须得做这些事情。
这是MySQL内部架构,都是数据库的东西,当然有一部分是比较特别的,最下面这一行,大家看到我们存储数据的。有的是插入式可插拔的系统,这里有不同的选择,它们是应用于不同的需求。这个我会过一会儿多谈一谈,现在我先来谈一下为什么我们这么适用于网络应用,其实很多都是很小的事情。
首先你到处都可以下载到马上可以使用,但是在1996年的时候,当PHP开始更加多在互联网使用的时候,我们就跟PHP创始人谈,希望可以跟其中的一些功能和作,我们就在MySQL里面安装了这些功能,而且这里确实变得很有用,比如说这里的LIMIT10可以加进去,就变得非常有用,而且在其他的数据库上都可以使用。
另外还有一些很小的网站,你可以从头开始编码,可能需要非常廉价的东西,因为MySQL速度非常快,跟所有数据库连接非常快,因为就是容易,简便易用是非常关键的,所以我们谈到很多是插入式存储引擎,这是什么概念呢?如果没有这个概念的话,一般是用低级的页面级的锁定用数据库就很锁定,但是MySQL现在没有一刀切的解决方案,这个都是技术方面的选择。根据你这个怎么去做它会有不同的方案,在MySQL里面你可以选择根据不同的应用,怎么去调整这个而不用告诉人们不同的数据库你要用什么的命令,怎么样去管理,不用牵涉到那个层面。你也可以做定制的存储引擎,比如说做Archive的时候,做删除的时候,他做的非常的快。它做表的扫描做得非常快,不会做其他的事情。
对于其他的公司来说,也可以做很多的事情,对于MySQL我们也是跟其他的许多的公司合作,在存储引擎方面,包括InnoDB,包括PBXT,(图)他们都做的非常的久了,当然还有一些商业化了,(图)这个是做安全系统的,相应非常快的安全系统,或者infoBright也是存储链这么一个公司。这主要是一批波兰科学家开发的系统,另外还有ScaleDB索引系统的,处理大量的数据。但是现在还没有使用,当然还有IBMDB2也是在他们的引擎上面,所以有这么多的例子,大家可以看到,作为用户来说,不用改变你的应用,不用重新变异你的SQL,也不用用新的工具,就可以在我们这个MySQL的平台上用不同的技术。而且有了其他平台的帮助,你还可以做更大的改变。比如说在4月份我们听到了Kickfire,它们有一个硬件系统,用不同的芯片,跟MySQL结合起来可以跑得更快,他们有自己的存储引擎。所以说你会在上面装入很多数据的话,它可以让你很快检索到这些数据。
我其实还不是很清楚这个东西到底是怎么运作的,因为我见过实物,但是没有实际操作过,它看起来很酷,我们的人对此印象非常深刻,我们的工程师看到都认为他非常的厉害。我们还有其他的方式来做存储引擎,我们可以看到一些研究机构里面,他们看到叫MySQL。如果你需要Cluster来做这个事情的话,这是简单的解决方案,我们把它卖给爱立信、阿尔卡特等等公司,很多都是电信公司。
另外开源的一个特点我们像大家一样都进行研发,我们也有人去尝试我们知道的客户需要什么,还有工程师自己做自己的事情。人们也喜欢重新做一些编译一些东西,而不用改变应用工具。我们看到很多都是我们工程师利用自己的业余时间开发的接口,而且最终成为官方的产品,其实这样的例子很多。我们也帮助开发其他语言当中的接口和产品,现在已经有些人离开MySQL去了谷歌,但是他们开发的产品依然做得很好。
人们经常会问MySQL在我们引擎里面还说是很小的领域,但是考虑整个互联网领域的话就会变得很大,(图)这个黑体字部分是由MySQL维护的。实际上我经常问,你们有没有语言这张图表上没有吗?偶尔有人会说没有,但是大部分语言我们在这上面都有。
任何平台也是一样的道理,我们只要说你有足够的内存,我们基本上所有的平台都能放。还有64位的系统我们也可以用,当然这个是自然要支持的。MySQL实际上在64位硬件出来以后,几个星期就出了64位的软件平台。(图)这个是MySQL的下载,这是给展示一下我们用得比较多的。这个网络上大家也可以看到,互联网的连接性,全球有这么多互联网用户在网上下载MySQL,中国也是其中很大一部分,大家可以看到下载量全球分布的情况。
(图)大家在第一页上也看到了,MySQL现在已经成为FromunCEO的一部分了,很多人紧张会不会变成它的一部分,但是我们不会改变其中的任何东西,在我们开发商也不会有任何的削减,我们是不是觉得他们从中赚了钱了呢?那是肯定的。
(图)我们总的来谈一下开源,这是我觉得开源为什么更重要。这是整个开源数据库的评价,开源从开发者里得到了很多的反馈,我认为这是非常有价值的。到底为什么这能够给我们带来更大的价值呢?世界上每一个开源的方面,你可以看到每一行代码。这里绝对没有任何一个商业公司或者专利的公司在这方面用途径。因为你不想给人家看到你的秘密,或者错误,你不想给人家看到负面的界面,但是每一个开源里面充满了错误,有多少用户就会有多少的BUGS,有很多的BUGS被发现,然后你找到了这些BUGS,你修正的时间会有那么快,那么会有人告诉你问题出现你就会马上解决,所以这样的质量是更可靠更高,用得更频繁,然后用得更频繁就会使你的系统更加完善。然后在不同的部分得到测试,在开源项目里面没有特别的版本,也不是说你多付点钱就得到多一些功能,但是你多付点钱可以得到多一点的支持,但是所有的开源的功能都是一样的。所以人们会用他们自己想用的方式去用,然后发现问题可以告诉你,你就可以改变它。
(图)资源的独立性,如果MySQL有一个商业供应商,这个商业供应商必须是做好事,不是做坏事。不然的话,如果它不肯做好事的话,人们可以找其他的供应商,因为有很多商业上的供应商不愿意支持你开源的开发者。所以说任何公司都必须做好事,这也意味着说,比如说你需要一个新功能,跟工程师说需要一个新功能,可能他们很忙就不一定会给你,但是找开源他们会给你一批工程师,然后给你一些新功能。有些人可能不需要这些功能,但是某一些人就用一次,但是特别有用,他们需要增加这些额外的功能。
安全并不是让你代码难懂,不是让开源代码弄得非常难,关键是要让你看到代码的质量,有些开源软件安全性非常差,有些非常好。但是关键在于,你到底是不是能够看到,开源软件到底是好还是不好,比如有人说这个是好软件,结果你发现很多问题,结果出来一个新版本,告诉你很安全了,但是你还是会发现新问题。但是开源会让你看到,我们会让你们看到一个很独立的评价。
还有我们的生态系统,有很多人会说,我们有很多的东西,我们形成了这么一个系统。很多时候我们用的东西可能不仅仅是单独用,而是用到其他的驱动应用等等。所以他们在学的时候,你要知道在这里面正是大家有了很多编码,才能让一切起作用,这都是作为共同的社区大家一起开发出来的。当然我们也可以供应一些已经经过这方面培训过的工程师,对他们进行支持,让他们尽快对我们进行开发,否则要对那些没有经过培训的人还要花很多时间进行培训,所以如果说已经有人经过了十年的培训,他们不会觉得这是新的东西,他会很快上手。我们在这里谈到的很多问题,实际上最后给我们带来的成本还都是比较低的。那么在这里我们大家可能知道想问,MySQL是怎么来的呢?我们是按照一个人的名字命名的,实际上我在上个礼拜的时候,就是一个小女孩的父亲命名的,我上个礼拜的照片没有带过来。
我们再谈一下客户对我们MySQL应用的情况,在这里你们可以看到有很多客户的品牌,基本上我们MySQL用于三个不同的部分。第一是个OEM领域,他们会付一些相关的许可的费用,在这里面我们的客户包括像阿尔卡特,还有ICP,诺基亚等等,他们都是属于OEM的客户。我在另外还有一张图可以给你看一下,这是世界上排在前二十位的网站也在使用我们的一些我们MySQL的语言,里面包括著名的网站像谷歌,还有Evite,他们一开始就是用MySQL创建他们的语言数据库,还有雅虎,他们一开始并不是用MySQL建的,后来他们是过了几年以后,开始使用MySQL来建立他们的数据库。一开始的时候很多公司都没有用这种语言,但是用了一段时间以后,这种语言作为他们的标准语言在应用了。
而且你要知道,在雅虎公司,他们实际上在世界上有数以千计的服务器都是用MySQL来编程他们的语言。像惠普以及其他日本著名的公司也都在使用我们的语言。以前大家在网络上很多都是使用MySQL进行编程的,在内部是不使用的,但是现在我们看到现在很多企业在公司内部使用这种语言。”
现场Q&A部分:
主持人:你刚才介绍的非常好,看一下大家有什么需要提问的?
提问:欢迎您到中国来,我们这么多侠客有这么好的机会跟大师进行对话,我想问MySQL对于中文检索平台什么时候推出来?第二个MySQL最新5.1版本什么时候推出来?
David Axmark:我想我们这个新的版本准备好可能就会发布了。我想差不多还有几个月的时间,总体来说,我们给中国区域也是给客户在进行支持,我们现在里面有一些代码还并不是很完美,因为在过去五年之内,我们一直也是在解决这方面的问题,争取能够给国内客户带来更多的支持。
提问:请您能不能帮我比较一下,把您的语言跟另外一种语言比较一下?
David Axmark:我觉得要比较起来有很多的话要说,我们的技术一些很大的网站用得比较多,我觉得我们的规模大十倍,我们的速度比它要快,但是在最近可以说我们也是很多的特色,它们也变快了,所以情况也在变化。MySQL后面有一个大公司可以MySQL的应用,但是领用一种语言没有大的公司的支持,另外比如说我们MySQL里面有一个存储的引擎,可以跟一些内置的语言可以在一起有更好的合作,所以我想MySQL跟另外一种语言之间还是有一种区别,但是区别已经不像以前那么大了。我在去年对另外一种语言它的发展情况并没有一直特别的关注。
主持人:最后一个问题。
提问:你能不能跟我说一下公司文化方面的情况,两个公司合并对你们公司有没有影响,SINES是不是很好的婚姻呢?
David Axmark:我们发现SINES(音译)是很好的公司,正因为他的文化不错,对于MySQL来说,我们原来公司是在芬兰和瑞典,所以我们是国际性的公司,我们在招人我们都是在全球各地招人,所以我们MySQL并没有全球固定的总部,我们那个时候四个员工来自四个不同的国家,所以对于大公司来说情况不一样。所以他们在全世界各地都有分公司,所以对于我们这种特色也是很兼容的。而且SINES公司也是以技术为驱动的公司。有的时候大家技术方面可能有不融合的情况,但是有的时候你会觉得,我想说我们的文化之间还是没有问题,我们会融合得非常好。