018|Hadoop三国之吴国MapR
文章目录
今天我要介绍的这个 Hadoop 发行商是 MapR。它算得上是一家特立独行的公司,它实力很强,但却比较少去参与争斗,所以我们把它称作“吴国”吧。
MapR 成立于 2009 年,由 CEO 约翰 · 施罗德(John Schroeder)和 CTO 斯里瓦斯(M. C. Srivas)创立。到 2016 年的时候,施罗德卸任 CEO,做了执行主席(Executive Chairman),斯里瓦斯则去了 Uber。为什么 CEO 和 CTO 下台的下台,去 Uber 的去 Uber,这是个有意思的问题;我留到文章最后来说。
先从 MapR 这个名字聊起,它是 MapReduce 的缩写。在心理学上有这样一个说法:人们总是会在潜意识里面,流露出对自己不擅长的东西的关注。从这一点上来看,MapR 这个公司拿了 MapReduce 来做商标,而事实上它擅长的也的确不是 MapReduce。
MapR 的 Hadoop 发行版和其他公司很不一样,它是一个挂着 Hadoop 外壳,但是夹杂着自己私货的版本。
MapR 的联合创始人兼 CTO 曾经在谷歌的文件系统组做过经理,所以他很强烈地认为 Hadoop 的文件系统是个“渣子”。于是这个 CTO 用很低廉的薪资在印度雇用了一群程序员,重构了一个文件系统。这个文件系统据说有比 Hadoop 的文件系统优越无数倍的性能、稳定性、安全性,等等。
而 MapR 的 Hadoop 版本,简单一点来说,就是把 Hadoop 里面的文件系统替换成了自己的这个不开放源代码的文件系统,同时又做了很多工作,让这个文件系统和现有的 Hadoop 体系兼容。这种兼容性在我看来其实挺难做的,但是 MapR 号称是做到了。
本着在文件系统道路上越走越远的想法,MapR 踏出了第二步:瞄准了在 Hadoop 生态圈里非常重要的 NoSQL 产品 HBase。
HBase 的大名可谓众人皆知,但是因为 HBase 受到了 Hadoop 文件系统本身的一些限制,以及设计与底层的存储分离得太厉害,其性能一直不是很好。
MapR 的下一步做法是改变文件系统,在文件系统内实现对 HBase 的支持,并且提供 HBase 的接口给上层应用。这样用户其实不需要额外装 HBase,就自然而然地拥有了 HBase 的功能。
**这还没完,MapR 在自我改造的道路上越走越远。它们又瞄准了 Kafka——这个在 Hadoop 系统里面做数据交换的重要服务。**MapR 的做法还是继续改改改,改它的文件系统,让文件系统又拥有了 Kafka 的功能。于是,用户们不需要安装,就可以使用 Kafka 了。
**没错,就是这样。这个创业公司凭借一己之力,集聚了一群程序员,挑战了全世界,重新实现了这么多的功能,然后再包装进自己的发行版卖给客户。更重要的是这些重新实现的功能,据说性能上要好很多。**而开源的东西,按照 MapR 的说法,实在是只能凑合着用。怎么样也比不上 MapR 的高大上。
MapR 的说法是,这种做法不只实现了同样的东西,而且做得更好、更高效。“更快、更高、更强”是每个人追求的目标,如果后面再加个“更便宜”,那就太完美了。
只是 MapR 的这套系统本身以赚钱为目的,和“便宜”是没有什么关系了:MapR 的系统卖得比其他人的系统都贵,因为他们觉得自己的系统更好。
此外,但凡是存储相关的功能,MapR 都重新实现了一遍,其他部分则选用开源的,这就导致了两个问题。
第一,那些开源的东西在这个文件系统下的兼容性需要仔细测试。所以很多时候你会发现,只有伴随着 MapR 的发行版一同发行的开源工具,才能在 MapR 的文件系统上很好地工作,而外部下载的就不能保证这一点了。
第二,就是客户有顾虑。客户会想:你的系统是自己实现的,如果我上了你的“贼船”,再想回头去用 Cloudera 的,就不太可能了吧?因为你的数据存储,对别人来说就是不透明的,迁移起来会有障碍。为了避免被“绑”在 MapR 的战车上,还是不要买你家的东西吧?
这其实很考验市场人的宣传功力。当然 MapR 的宣传队伍不是吃素的,他们把自己的系统定义为“二进制代码无差别兼容”。简单一点来说就是,在其他的 Hadoop 发行版和 MapR 之间,可以互换模块随便运行。
这个口号看上去很美好,但实际测试的时候往往就是另一番景象了。这个所谓的“二进制代码无差别兼容”,从来没有真正实现过。不过,倒是很多人在宣传的时候说“我们就是 Hadoop,没有兼容性问题”。这个 Hadoop 发行版终究没能成功开疆拓土,在美国以外地区几乎没有什么人用。
相对于存储系统,MapR 在系统的执行方面就显得没这么自信了。MapR 有关执行的部分,比如说 MapReduce,或者在 MapReduce 之上开发的各种查询语言——如 HIVE、PIG 等,都是直接用开源的。不过,MapR 对开源社区的贡献是有目共睹得低。
MapR 主导了一个开源项目 Apache Drill 的开发。大概在 2013 年的时候 MapR 的人来找过我,我和当时的 Drill 项目负责人聊过以后,感觉对方对很多问题都还没想清楚,所以没有去 MapR 工作。
后来 Drill 的发展也并不顺利,再后来变更了主要负责人,项目也慢慢起来了,参与进来的公司越来越多。再后来,伴随着 MapR 创始人的下野,Drill 的人也跑去开了个创业公司。我个人对于这个创业公司的前景不是特别看好,主要还是感觉 Drill 这个产品不是很出彩。
Drill 这个东西是开源的,但是 MapR 这个企业对于好东西,往往都不开源。因此,我们难免要仔细审视一下 Drill。至于 Drill 发展至今又是个什么境况,我就不妄加评论了。
MapR 的融资过程比较有意思,前后融了好几轮,最后一轮时,谷歌旗下的风险投资部门 Google Venture 投了钱。为什么说有意思呢?因为谷歌很少在 Hadoop 的相关领域撒很多钱,比如在 Cloudera 上投入就不多。
我想,可能谷歌从来都没有看好过 Hadoop 的文件系统,或者 Hadoop 整个生态圈。但是对于凭一己之力去重写文件系统的公司,并且其创始人还是从谷歌出来的,知道 Hadoop 内部是怎么做的,可能就刮目相看了。谷歌也许认为这样的公司有可能成功,所以才投入了很多钱。
**MapR 的生意很有意思。它真正的客户量很少,可能连 Cloudera 的 10% 都不到。但是很奇怪,MapR 和 Cloudera 在营收上差不多。也就是说,MapR 的每个客户,贡献给它的钱都要多很多。**这到底是什么原因导致的呢?因为客户上了 MapR 的“贼船”下不来,而不得不继续使用?还是这家公司的产品真的受有钱公司的欢迎?我无法去辨别。
**MapR 的 CTO 兼联合创始人,在 2016 年离开 MapR 成了 Uber 的首席数据架构师。**创始人下台或者离职,显然不是什么好事情。那么,这个印度人为什么放着自己好好的公司不做,非要跑去 Uber 呢?
**我想不外乎两个可能性:一是自己做得没兴趣,不想做下去了,二是资本的力量进来了。**也许 CTO 觉得钱赚得不够多,不是上市的好时期,而资本没有这个耐心继续等下去,因此就只能把“拦路虎”清掉了。我想,第二个原因可能性更大。
但是我们必须要提醒大家的是,MapR 的这套发行版能够出来,这位 CTO 功不可没。离开了他,MapR 是不是依然具备继续前进的能力呢?这就留给时间来检验吧。
不知道 MapR 到底什么时候要上市,也不知道上市以后会采取什么举措,但这种创始人离职的现象,也许不是一个好的信号。我很难理解一个创始人需要在公司上市前夕,离开自己辛苦创业的公司这种情境。我只能说,要么是公司层面的问题,要么就是资本的力量太强大了。你认为,这对 MapR 又会有什么影响呢?
文章作者 anonymous
上次更新 2024-02-08