大数据那些事(12):Michael,Daniel和轮子

美国大选,公司年度用户大会,事情繁多一直不能更新,诸位见谅。

在大数据时代,最著名的故事莫过于造轮子,有些轮子很成功,早年的比如Hadoop,Hive,有些一般般,比如Pig,还有很多泯然众人的消失在历史长河里。晚一点的有JStorm和Storm的故事,Spark和Flink的故事。

今天的故事比较偏门一些,我们来看看09年开始的造轮子的Michael,以及差不多同时代造轮子的Daniel. 在数据库领域,我们通常会把从威斯康辛大学出来的以及和他们相关的一群人算成一个大的派系。与之对应的,在北美,可能只有Stanford了,尽管Stanford还是怎么看怎么稍微差那么点底蕴。

Database的圈子里有那么几个Michael,都算得上是这一大的派系,都各自赫赫有名。

最有名的当然是Michael Stonebraker,2015年图灵奖获得者。他的名字和Ingres,Postgres,Vertica,Informix等很多名字相关联。是不是database领域里面贡献最深远的人暂且不论,肯定是这个领域里振臂一呼无数人崇拜,有着极其深远影响力的人。

还有一个叫Michael Franklin的,伯克利和DataBricks的小朋友们都知道他,AMP lab的director。Spark上插了一脚做了Shark。传闻随着AMP Lab的取消这位大牛也将离开伯克利。早年从威斯康辛毕业,拿过无数奖。最著名的特点就是你做一个什么东西,我就可以做得比你更快更好更强。和伯克利的另外一个大牛教授Joseph Hellerstein风格迥异。后者更擅长推陈出新做很多很新奇的东西,挖坑大牛,填坑最后靠后来者努力。

最后一个Michael是今天的主角Michael Carey。 Michael Carey,博士毕业于伯克利,早年在威斯康辛大学做教授,搞出了非常著名的Wisconsin Benchmark。后来去了IBM Almaden研究院工作了几年,之后就开始了Industry的路程。做到了BEA的senior engineering director。BEA被Oracle买了以后不久就宣布重回学术界,在UC Irvine做了一名著名的professor。

2008年的时候,我通过industry的关系听说这位决定干一票大的,要造个BigData的大轮子。从美国NSF搞了一大票的钱,然后又从各大公司那边拐了不少。因为在database的圈子里面,有那么强的academia背景又有那么强的公司经验的人终究是少数。这一票大的是要从storage开始一路往上搭execution,搭language,搭object model,做一个一统天下的BigData platform。

大家都知道2008年算得上是多事之秋,美国经济正迎接它奔溃前最后的高潮。Google因为MapReduce而烧了脑。另外一个Michael和他的小伙伴David Dewitt以 MapReduce:A Step Backward开始大鸣大放。这位也不甘落后的宣布,那么天将降大任于斯人也,就降给我吧降给我吧,我要做一票大的,拉上一群学生做个大系统,涵盖BigData的方方面面。

必须说,我对实干家的尊重远远的多余了嘴炮家。也必须说无论是过去还是现在,也可能是将来,我对Michael Carey一直都有很高的敬意。当然很多时候天将降大任于斯人也,都得看命。也许是耳湾这地方水土不太好,没有出像伯克利那样一个顶一万个用的大牛,也就没有出现一人独写Spark那样牛气轰天的事。经过5年多奋斗,这个名字叫做AsterixDB的系统终于出来了。其实我一直有关注他们在做这个东西,包括早期的storage系统,execution层,algebra 层,后期的object model,programming language等等。他们在2014年的VLDB上发了一篇详细介绍这个系统方方面面的论文。此外还有其他的论文介绍每个component的。论文挺有意思,值得一读。

我在这里就不详细介绍整个系统了。简单一点来说,底层stroage存的是object,用的也是大行其道的LSM-Tree。往上走搭了一层execution,比MapReduce通用,又没Dryad那么底层。然后实现了一些database常见的operator,比如说repartition-join啊, broadcast join啊之类的。上面是一层algebra,然后有若干个language可以编译到这个algebra。最著名最重要的是AsterixDatabase Query Language, 简称AQL. 该系统用了semi-structure的结构支持类似于JSON object的类型。系统的语言更像XQuery而不是SQL。有各种adapter可以连其他的东西。按照论文的说法,他们把系统拿去给若干个公司实验做小白鼠,这些实验让他们积累了丰富的经验。

所谓时过境迁,这个系统在这个时候才拿出来,到底有多少影响力我想大家可见一斑。然而不管怎么样,Michael和他的团队是实实在在的从下到上的搭了一个系统,我对于此非常的钦佩。我同样也敬佩那些在做Spark或者Flink的人。很多时候学校里的研究创新只有踏踏实实的做了才实实在在的让大家受益。

回头我们看看Daniel。Daniel是Daniel Abadi,MIT毕业进了耶鲁,算起来也是这一派系的人,和Michael Stonebraker关系应该不错。我见到Daniel的次数和见到Michael的差不多,只是开会的时候多远观几番。面对他的长辈们说的MapReduce这个烂东西是a step backward,聪明的Daniel也造了一个轮子,论文也发出来了,虽然我不知道那些评委怎么审稿的。

Daniel做的那个东西叫做HadoopDB,非常高大上的名字。聪明的Daniel觉得既然MapReduce不靠谱,我们不还是有Postgress吗?我可以把两者杂交一下,让Hadoop的每个Mapper或者Reducer上跑个Postgress的instance不就好了么。

于是这个HadoopDB就这样的出炉了,论文发出来了,startup开起来了,顿时好不热闹。对Daniel的最深刻的印象是有次他访问微软研究院,给一个talk,底下坐了几个老头子,比如Paul Larson, Phil Berstein。Phil Berstein就问了一个问题,我不太记得这问题是什么了,但是和transaction 有关。Phil算是这个领域的老祖宗了。但是问题大致就是“那个,你这个东西靠谱么?”

我想以聪明的Daniel能迅速的杂交Hadoop和Postgress的智商,这东西靠谱不靠谱大家心里应该有数。而且大家都是Engineer,到底要花多少时间去写这样一个系统,肯定大家心里也有杆尺。

当然最有意思的事情莫过于这个startup居然被人买了。我当时特别好奇是哪个傻子买了,一查,是Teradata。我顿时恍然大悟。以这几年Teradata在大数据市场的表现,Teradata早就不是当年用一辆18轮大卡车去运送全球第一台能存储1TB数据的机器的Teradata了。这场交易真是骗子把东西卖给傻子的最好例子。Teradata还买过一个叫Aster Data System的公司。这个公司做的产品怎么样我不记得,但是这个公司干过一件巨恶心的事情,对我和我的一些朋友。就是假装电话面试,然后把对方自己不知道怎么办的database底层的一些问题当做面试题出过来,然后回答完,窃取了我们的脑力劳动之后再开始不搭理我们。既然Teradata能买了HadoopDB,买下Aster Data也不奇怪。想想就是这样,好公司发现坏掉的时候其实早有迹象。
转自:飞总聊IT