一个关于SAP HANA神话的长篇故事(下)
阿明荐文
这是一个长文,有故事,有花边,有内涵,有技术,有大咖。作者飞总是一位旅居西雅图的华人,从2008年起开始从事大数据相关的基础构架研究和开发。见多识广,加上亲力亲为的研发实践,自然对数据库这个领域谙熟的飞总,当然也少不了他从大洋西岸带来的八卦。
续前文。
Oracle的大杀器
HANA作为SAP的杀手锏,从开始使出来到迅速的占据主动,一个大公司具备如此迅速的反应速度和调集资源的能力,乃至最后站稳了脚跟,无论从技术到工程,从商业策划到推行,都展现了超一流的水平。平心而论,的确是在数据库领域,第一次在Oracle的核心地带给Oracle带来了不少麻烦,以至于Oracle一时慌了手脚。
然而我必须说的是,Oracle依然是我最为尊重的软件公司之一。因为这个公司做的是企业级软件,尤其是关系数据库这样并非面向消费者的产品,在消费者中的知名度并不高,一旦有了名气往往是坏名声。比如说和Google之间的Java官司。
但是我必须说,作为数据库产品的技术更新,作为一个做了10多年数据库相关领域的人,与其说我们去指望那个学术圈里出现巨大的突破,很多时候Oracle这个公司在研究和开发上迈出的步子也好,做出的突破也罢,都显得更加的巨大和深远。而今天我们要介绍的大杀器则是一个集诸多挑战为一体的产品。我想,有些熟悉这个领域的人应该知道我要说的是什么了。
就像每个公司都有自己的年度产品展示会一样,OpenWorld是Oracle的这样的一个场所。2012年的OpenWorld显得格外的奇怪,参与过的现场的人都会觉得整个会场有着浓浓的火药味。自从有个叫HANA的黑马出来搅局以后,Oracle的队伍不好带了。仓促推出了一系列的产品,既不叫好也没叫座。
Oracle在这次会议上宣布了它们的大杀器:ExaData Database Machine 的第四版 X3。此版本的机器被叫做Database In Memory Machine。一看名字,大家就知道是冲着谁去的了。这的的确确是个大杀器。有这产品在,高端市场,利润丰厚的企业,SAP很难进来。
ExaData Database Machine是Oracle软硬件联合设计的面向大型企业的高端一体化解决方案。到今年已经是第七代X6,下图是这个机器的一个大概的样子。
高端大气上档次,价格也不菲,不算上Oracle的软件,就这套硬件配齐全了,100万美元,加上软件的费用,各种服务支持的费用,那就是天价了。如此说来HANA那30万美元的价格算得上白菜价了。但是大家要知道,这是大杀器。能做OLTP也能做OLAP,能存上T的数据,还能处理得飞快,并发度还高。
至于HANA,2011年卖给中国土豪的那个版本,毛胚都不是。如此说起来,作为负责的,能实际解决问题的Oracle机器,其实也不贵。
我们来看看这个大杀器到底是什么。2008年的OpenWorld,Oracle给大家第一次展示了他们的第一个版本:专业的软件配合上专业的硬件的软硬件一体解决方案。然而据我所知道的消息来说,大概在2000年的时候内部就已经开始了这样的一个项目。
大家要知道Oracle作为一个纯粹的软件公司,并无硬件设计的能力。系统最初想要解决的是一个数据库里面常见的问题:磁盘读取的问题。因为数据库的很多计算,尤其是OLAP的计算,往往会过滤掉很多数据,然而这些被过滤的数据也需要被从存储设备上读出来,如果是个cluster还得通过网络从存储的节点传输到计算的节点,在其他的东西都被不断优化以后,这一块东西就成了无法优化的瓶颈。
于是,在读取的过程中就能够智能的过滤数据成为唯一的选择。然而,市面上并不存在着这样为数据库定制的存储系统。所以Oracle作为数据库厂商,就开始打硬件的主意。
这个主意打了很久,但产品开发出来以后,高端用户并不买帐,最大的问题是这套存储系统和已有的其他系统的整合需要额外的,并不是那么简单的。用户并不愿意这样去维护。在用户调查的过程中,Oracle却意外的发现,用户喜欢整体替换。譬如说Oracle能拉来一台机器,然后里面什么都包括了,存储,计算,硬件,软件,等等。用户只要找一家厂商就可以解决所有的问题了。
Oracle没有硬件的设计能力。然而架不住钱多,金主要的,就是Oracle要创新的。一旦大杀器做出来,硬件软件全是Oracle的,那以后谁也无法撼动。Oracle的老总Larry Ellison不是什么省油的灯。不知道他怎么就找到了在HP总裁Mark Hurd。于是两位沆瀣一气的,组了个联合研发团队,搞飞机搞了几年,出来了ExaData V1。
这里有必要解释一下ExaData的意思。在美国有另外一家非常历史悠久的软硬件结合数据库解决方案提供厂商TeraData,Exa是2的18次方的意思,就是这个机器其实是最初冲着TeraData的那块肥肉去的。于是到了2008年的OpenWorld,这个大杀器的第一个版本就亮相了。开始亮瞎了下面的一双双狗眼啊,不但是机器,还有价格。
许多企业趋之若鹜的买了这个机器。买回去之后就开始骂娘了。谁都没想到企业都死命的用,拼命往死里用。而机器的各方面设计都没有想到会天天风扇不停转的状态,于是狭小的机箱的问题,导致散热很糟糕,据说有客户拿来烤鸡蛋吃。客户们抱怨很大。
正当第二个版本在紧锣密鼓的研发中的时候,2008年的经济危机让一个著名的公司Sun破产了。买家里包括了IBM。Sun其实挺乐意卖给IBM的,但是傻13的IBM在最后关头狠狠压价,结果半路杀出个Oracle,用了很白菜的价格7个Billion就买走了Sun。Larry于是就中断了和HP的合作,换上了自己的人??。这个过程中间发生了什么狗血我不知道,但是那个总裁应该混的不怎么样。好在Larry还是很有江湖义气的,这位Mark后来就成了Oracle的CEO。
有了Sun的硬件加持,又加上是新东家,极其需要表现,裁员的刀正高高抬起来呢,这次的研发很顺利,第二代的机器终于不负众望立竿见影。最大的特点是加了4块96GB的flash disk作为cache。据说因为第一代实在不好用,Oracle给老用户们都基本上免费的换了第二代。
出现在2012年的OpenWorld上的是第四代的机器X3,这台机器的最大的特点是flash disk的大小从4X96GB直接升级成4X400GB。1.6TB的flash,简直就是人有多大胆地有多大产。这样奢侈的硬件,加上几经改变的软件,尤其是日志系统的重新改变,让这台机器在高端市场具备了无与伦比的优势。基本上来说就是可以秒杀一切敌人,也包括HANA。但是考虑一下它的价格,配置,服务费,土豪想买的时候,也需要思量思量。这不我特意去百度搜一下,看我记忆中的一些关于这个产品的信息是不是正确,结果发现很多网站上面都在说买不起ExaData的机器,怎么样能配出类似的效果。由此看来这产品不是一般的贵。
Oracle的大杀器到今天已经发展到X6了,而且今年的OpenWorld估计还有更多的宣布。收购了Sun以后的Oracle具备了软件和硬件一体化设计的能力,最新的服务器芯片里面还整合了数据库解压缩的指令集,以及security加密解密的指令集。如此方方面面为一体的设计,把数据库的发展推向了一个其他企业无法企及的高度。在高端市场上,即便是SAP有了HANA,无论怎么看,还无法撼动Oracle的江湖地位一丁点。
一场大撕逼
我们继续聊database的故事。严格的说这有点偏题了。因为只有酱油主Michael Stonebraker,和DoNotEvil但是比谁都Evil的Google。为了添油加醋的讲这个故事,我会插播一些我听到的小道消息,未经证实或者证伪。关于此类消息我会说明。
Google的三架马车到今天已经家喻户晓耳熟能详了:GFS, MapReduce,BigTable。2004年OSDI发表的paper是MapReduce。这篇paper据说早年先提交过database的conference,被拒。转投操作系统的会议,发出来了。这是小道消息。
MapReduce是不是最伟大的paper之一我们很难下这个结论。但是毫无疑问的应该是这10多年来最有影响的论文之一了。这篇论文的内容也不深奥难懂。当然不可否认有很多值得思索的地方。尤其在我看来通过一个简单的编程模型,让系统去管理任务的执行和错误重试之类的想法,是非常有现实意义的。大规模的时候,我们的确是没有办法去买昂贵的shared-everything的cluster来做数据库。而正是Google开创了用廉价机器构建Data Center,近而大规模处理数据的这样一个概念和实现。
当然不可否认的说,MapReduce这篇论文里面有着我这样的小白就能够看出来的幼稚的一面在里面。我也不排除Google作为一个evil的公司,在写论文的时候刻意的隐藏了那些缺陷(Google有这个传统)。但是无论如何,这篇论文在使用廉价机器构建数据中心,大规模的对数据进行并行处理这样的一条道路上,给我们展示了非常非常奠基性的贡献。
这个事情一直没怎么发酵,毕竟Google城会玩就会玩吧,只要Google的系统都留在Google内部,那么其他的东西也就不重要了。忽如一夜春风来,Yahoo活雷锋开始在硅谷做Hadoop这个项目。Hadoop的背后当然很快就站上了IBM,FACEBOOK以及LinkedIn等当时红火的公司。这样一来,就不得了了,严重侵犯了Michael和他的buddy的利益。所谓MapReduce捞过界了。于是一篇雄文就问世了。
2008年1月17号是一个很重要的时候,当然其实人类都健忘,现实里,没有人记得这一天了。这一天Michael和他的Buddy David Dewitt在Database Column这个一群Buddy们自娱自乐,学术圈里大家竞相鼓掌的,现在已经连不上的网站上发表了雄文:MapReduce : a major step backwards。文章列举了若干MapReduce不行的理由,大致列举如下,详细的请爬狗:
MapReduce需要写programming去搞飞机,不如SQL这样declarative来得爽。
MapReduce的实现毫无效率糟糕得很,没有Hash没有B树,有的只是tableScan
MapReduce不是创新
MapReduce和现在数据库的工具不兼容
MapReduce缺了很多database有的feature
Michael和David的话有没有道理呢,有!是不是都很公平呢,未必。你看Hadoop的发展就证明了很多的工具都来了,连ODBC的driver都出来了。像SQL的语言也出来了。不管怎么样来讲,MapReduce和它所带来的一些很重要的变化,的确是让数据的处理的volume上了一个新台阶。
我想本质上来讲,MapReduce和Michael的column store需要target的市场都是OLAP,所以Michael要卖好自己的Vertica,也需要狠狠的跳出来跳一跳大神。这场撕逼大战在未来的两三年里演的如火如荼。Michael充分的利用了自己在这个圈子里面的影响力来发表各种各样的东西来证明他是正确的。这事情到了2009年的罗德岛的SIGMOD到了一个顶峰。那时候David Dewitt发表了一篇关于performance的论文,比较了Hadoop和他们自己的一个系统,证明Hadoop和一个数据库相比是多么的烂和多么的不堪。我到今天都还记得那次会议的时候开得是一塌糊涂,大家都不一定信那些numbers,然而Michael和David却在那边无动于衷的努力着捍卫这篇论文的准确性。此事的登峰造极的时候是ACM transaction of communication上登出了两篇文章,一篇是Jeff Dean写的,一篇是MIchael和他的Buddy写的,互相对垒唱戏,那一期的杂志非常的热闹。
因此,在我这个传统的做database的人看来,所谓的BigData,最开始是做OS的人对故步自封的做Database的人的一场入侵和战争,他们做的很成功。做database的人应该要感到羞耻。这个团体不往前走自娱自乐已经很久了。突然有一天,不知为什么Michael和Google和解了,私底下到底有什么deal我一点也不知道。我只知道2015年Michael拿了图灵奖,而Google则出了所有的奖金。皆大欢喜的结果。然而Jeff Dean显然没有觉得和解有多开心,因为他和他做的东西,Spanner,明明白白的就是一个database的东西,又在OSDI上发出来了,看来当初被拒过以后,再也不想理database community了。
后来发生了什么,其实无从考据了。我知道的是David退休进了微软,然后搞了个Polybase,可以把SQL Server和Hadoop整合在一起。所以看来这不是像他说的那样:a major step backwards。Michael的徒孙的学生,Daniel Abadi则做了一个HadoopDB:用MapReduce,但是呢每个mapper或者reducer是个postgress的进程。这个傻乎乎的系统又被急病乱投医的Teradata给买去了,颇有骗子把烂东西卖给傻子的感觉。我们的Michael顺理成章的拿到了图灵奖,享受着最Evil公司提供的百万奖金,再也不说a major step backawards了。
�丝的崛起
这两年的database的领域变化很快,快到一个公司刚正确一把站稳了位置,天又变了。
中国有句古话,30年河东30年河西,这句话用到IT行业来说不太合适,应该改成3年河东,3年河西差不多。中国还有一句话,螳螂捕蝉黄雀在后。在HANA瞄准了ORACLE的核心地带狠狠的来一票,ORACLE频繁出招的时候,在Google和某人吵得不得开交的时候,谁也没想到,有那么一个公司,就这样的起来了。
关于这个公司我们有很多的称呼,微软的前CEO巴尔默通常在员工大会上称呼为湖对岸卖书的。也有人叫IT界的美国富士康,血汗工厂等等。但是它的本名是Amazon。
历史总是惊人的相似。有个曾经是数据库行业第三的公司,Sybase在上个世纪卖了一份源代码给微软,结果成就了SQL Server,自己被SAP收购了。到了这个世纪,有个小公司Paraccel卖了点东西给Amazon,然后自己被收购了,Amazon从此有了一个巨牛逼的产品Redshift。
Redshift的出现可谓是出乎了大家的意料之外,一个Postegress 8.0的API的落后版本,没有多少牛逼的技术在里面。提供服务的又是一个名不见经传的公司,对于数据库领域而言,积累很必要,积累很重要。
牛逼如同Google这样的公司,因为苦于没有数据库专业人士的积累,连续很多年也不能够用自己的系统去取代掉MySQL的集群。更何况Amazon这种�丝。
当时数据库人才主要集中在Oracle,IBM,还有微软。当然有一些企业比如说被EMC买去的Greenplum,也有不少牛人。 Greenplum里很多是微软的前员工了。
然而忽如一夜春风来。架不住各大公司犯傻。首先发生的是微软的Satyat正是登录Server and Tools,成为了president之一。对的没错,就是这个后来成为了微软的CEO的老印。一去那边就推行全员上cloud,把做数据库核心引擎的人都强制做cloud去,组解散。
结果就是这群人里很多跑去了亚马逊,Google,还有一些去了其他地方。这就让亚马逊拥有了不少高端数据库人才。当然Google也从中获利,迅速的推出了它的F1以及BigQuery。有关Google的不在这个话题内就略过不谈。
业界后来发生的另外一件事情是Greenplum出现了内斗,导致了人才迅速流失,其中做query optimizer的人就给亚马逊收了。
这些人的加入,加上了亚马逊买的技术源代码,以及亚马逊本来就很强劲的cloud infrastructure,导致了亚马逊这个数据库的后来者,拿着一个功能并不是多么齐全的Redshift,迅速的做到了可以支持PB级别的OLAP数据库。并且由于其便宜的价格,高性能和非常强大的scalability,迅速的成为了各大�丝公司的首选。
得�丝者得天下。等SAP啊Oracle啊醒过来回头一看,我的妈呀,底下到处插着亚马逊的旗帜。
所以,倘若到今天,有机会和HANA的开发团队或者Oracle的核心部门去聊天的话,大家谈论的无疑都是亚马逊这个新的威胁。没有人真的知道应该怎么去对付这个新敌人,因为这个敌人不但cheap,而且cheap,而且非常非常的cheap。开出来的性价比实在不是传统做软件的人吃得消的。所以零售业里出来的公司去和做软件的拼,对成本的控制实在是强太多。
不得不说,亚马逊的崛起是一个很多人意料之外的事情,这很多人里包括我。我也不想否认在这个项目的早期,亚马逊的人联系过我,问我愿意不愿意加入。我当时看了看湖对岸卖书的,心里总是有那么点鄙视,就没从之。结果现在看起来,这才是全世界所有做db公司们的公敌。也是SAP和Oracle现在头疼却不知道应该如何去应对的局面。
尾声和未来展望
HANA系列写到这里,大戏应该是结束了。最近两年里面发生了很多的事情,整个数据库领域的格局也有了很多的变化。所以在这里做一个回顾和展望。
SAP在努力的推行它的HANA战略,作为整个战略最为重要的一点,一切都以HANA作为核心。SAP悄悄的开始了它的下一代UI的开发。新的UI基于HTML5和java,算得上是WEB这一代的标准套路,好处是可以让SAP的组件很方便的迁移到网络上来,但是坏处也就意味着近30年内积累起来的各种组件都开始要进入淘汰的倒计时。
SAP宣布了最后的支持年限是2025年。这对于一个企业级的开发软件来说,时间并不多。至于这样做是不是会如同SAP的愿望一样顺理成章的过渡到下一代,而下一代又不负众望的能够继续维持着SAP在整个ERP领域的统领地位,没有人真的知道。
然而在我看来,现在在SAP的传统ERP市场上的潜在的敌人还很多,尤其是微软最近大手笔的收购Linkedin主要还是冲着Dynamics去的,这个当然CRM和Salesforce首当其冲,而ERP也未必会免得了后尘。
最近内部微软做了一些战略上的调整,主要是缩减了PowerBI的开发而加大了对Dynamics的投入。以至于一个VP离职。所以SAP如果说因为HANA而搞进了Oracle的老巢,却被微软杀入自己的基本盘,得失之间是一件很难衡量的事情。
对于HANA的未来来说,最大的不确定因素是Vishal Sikka的离职。离职的原因当然是因为SAP的奇葩的双CEO制度,他想估计是想当CEO很久但是却被创始人给拍下去了。当然这个离职已经两年了,这位也从SAP跳去了InfoSys成了后者的CEO。
不可否认InfoSys曾经非常的成功,如今却退市私有化,背后唱的什么戏我也就不得而知,只能是盲人摸像的猜猜了。只是InfoSys是另外一个故事,我们后续再说。
SAP面对的另外一个问题是云化自己的产品。因为HANA的出现,HANA的体系架构非常的适合做云计算,不得不说,唯一的问题就是硬件很贵,成本高,但是云上面�丝很多,估计一般来说这生意的margin就薄太多了。我想SAP还是会在云计算的浪潮中杀出一条血路的。
Oracle应该是遇到了公司创业以来的一个非常大的难关了。Larry同学接连嘲笑了云计算,又觉得大数据没钱赚,结果这两马车都倒了。现在Oracle急得在西雅图重金招兵买马的做Cloud,至于能不能有戏,我表示谨慎的悲观。
Oracle依然是作为一个数据库开发者的我最为敬重的公司之一。它们的很多产品足够支持它们撑下去,但是能不能够进入到新天地,不得而知。Oracle的故事展开说,又是一两篇长文了,所以我也就此打住。
Michael还在不停的开着公司。2015年的VLDB吹的是SciDB,我想未来很长一段时间应该是要做Array Database了。Google的故事很长,我想我会在未来开个系列专门讲Google。它们的F1现在做得火热,而BigQuery也是吹得热火朝天,我始终有种中看不中用的偏见。
最后作为database的research圈,还是一片欣欣向荣般的自娱自乐,作为吃瓜群众的我,偶尔还是会发个论文凑个热闹。很多时候歌舞升平的感觉还是挺好的。
有句话说的好,年年岁岁人相似,岁岁年年文不同。我想差不多来说每年见到的主角总是那些人,估计从198x开始到201x了。算起来也横跨两个世纪了。
以上内容由飞总授权转载,版权所有,侵权必究,转载请授权。
飞总的个人微信公众号:飞总的IT世界面面观
飞总, 一位旅居西雅图的华人,祖籍浙江,IT人士。2008年起从事大数据相关的基础构架的研究和开发,素爱读书,博闻强识,对计算机行业和前沿技术的发展有深刻和独到的见解。
本文发布来源:阿明独立自媒体,微信公众号chinastor