从硅上的SQL看云计算的发展
Oracle这个公司我的看法一直非常的矛盾。一方面作为IT公司来说,对同行业界并不友好,律师队伍强大,对学校出来的学生也有很奇特的癖好。另外一方面,作为数据库领域的大拿,Oracle的确是一直在引领这个领域的工业化的潮流,敢做其他人不敢做的事。Oracle的数据库产品组的确是聚集了相当多的牛人。最近的SQL in Silicon的大规模宣传,让大家看到了Oracle在做什么。结合云计算的发展,的确有一些值得让人思索的地方。
说到Oracle,闲扯一下Oracle的招人制度。简而言之就是名校毕业。Oracle只招很有限的名校出来的人,这些人面试如聊天,不需要刷题。对于其他的,一律不招。真要招,特例特批,需要做HR的VP批准才能开始面试。我当年PhD毕业的时候,为了求Oracle一面试,比唐僧西天取经也没容易多少。交了推荐信成绩单,聊了很多次,做了背景调查,前后两三个月,连国内本科班主任都被打了电话。如果不是摊上了2009年经济危机,我估计没这个耐心等下去。
抱怨完,说说硅上的SQL这个鬼吧。这项目我知道的时候大概在2011年,因为同行是冤家,信息灵通一些。大概上Oracle的想法是既然买下了Sun总要做点什么。做什么呢,还是做自己老本行,把数据库做得好一点,做到芯片上去。历史上有很多公司曾经借助硬件来作数据库,著名的有Teradata,可以通过总线直接实现join。然而我觉得这个和Oracle本身来说还是有一点不同。Oracle手里握着从硬件到数据库的所有完整的stack,也就具备了从硬件到软件的完整集合能力,那最后这产品能做成什么样就不知道了。起码微软IBM这样做数据库的就只能继续被渣渣的份了。
当然,作为一家数据库起家的公司,Oracle的其他业务基本上靠收购。中间件,收购,ERP,收购,硬件,还是收购。所以到了云计算时代突然不知道收购谁了,只好在西雅图专门新成立了一个部门,以挖各大公司的人为乐。这波暂且不知道是不是乌合之众的西雅图人,能不能给Oracle做出云平台,我不得而知。
然而我觉得可能Oracle的云计算希望并不在西雅图,而是做SQL in Silicon,硅上的SQL的这群人。计算机发展的初期,是一个计算功能一台机器,要做其他的计算只好机器拆了重新搭。这当然不方便,所以有了体系结构有了操作系统,从此我们的程序就可以独立运行,而机器也能跑很多程序。计算机变成了万能图灵机的一个实现。人类从此进入康庄大道,卖硬件的卖硬件,卖软件的卖软件,大家都有钱赚。
那么SQL in Silicon是神马鬼?无非是说我一个特定的应用,在这里是数据库,的某些东西被整进了硬件。我估计今天的实现,OS层还在,Solaris这个系统肯定还得用。然而自己想想其实都没有必要,整个机器就是为一个东西服务,Oracle数据库。所以如果公司够牛,历史包袱够小,那其实可以从硬件到软件只optimize一个应用,操作系统这么巨大的东西就没必要作为一个通用系统存在了,芯片指令集也没必要作为通用的东西存在了。这将是极其有效率,充分榨干硬件最后一滴油的做法。
这个做法的好处在于一个application定制一套硬件和软件。看起来很反人类,但是作为云计算来说,这种做法也无可厚非,尤其是某些大公司。譬如说snapchat,一个巨大无比的聊天工具,那么我们如果可以让一家具备了软件到硬件定制功能自带托管服务的云计算提供商,对方提供的解决方案一定是对这个特定的app最优化而且最省钱的。这就是说,到了今天,在Cloud的背景下,也许有一部分公司可以抛弃掉任何不必要的overhead,只是针对特定的应用从硬件到软件的完全定制,硬件特指服务器端,至于client无非是个HTML5之类的鬼。而Oracle的确具备了从定制到托管的一系列能力,这种独一无二的从芯片设计到软件定制的方式,加之提供云计算的托管服务,也许会让Oracle在业已非常激烈的竞争中杀出一条血路。