2014 年,数据库领域的顶级会议 VLDB 在杭州召开。柏林理工大学的教授沃克尔·马尔科(Volker Markl)做了一场关于大数据计算平台的专题报告,这场报告讲的是一个叫做 Flink 的系统。

沃克尔和他的团队从事大数据研究已经很多年了,他们最初开始做的是一个叫做 Stratosphere 的项目。这个系统并不出名,既无 Hadoop 的声势浩大,也没有 Spark 的迅速扩张。

后来,沃克尔吸取了早年 Stratosphere 系统的教训,并调研了市场上现存的系统不足,经过了重新设计,才制作出了这个叫 Flink 的新系统。

Flink 以非常先进的流计算引擎思想为基本,同时还结合了传统大数据和数据库的优点。于是,这个系统一进入 Apache 软件基金会以后,就迅速火爆了,甚至连 Capital One 和国内的阿里巴巴集团银行都开始相继使用。

Flink 从一出现就获得了很多的关注,这是自 Spark 项目出现以来,所有 Apache 项目里面最受关注的一个。最主要的原因就是 Flink 的理念非常先进,而且 Flink 是基于流模型的一个计算平台,它所使用的流计算模型,又是目前市面上所有开源项目里最为先进的。“先进”“实时”“流计算”,这些词语被放在一起,就给 Flink 带来了无限的光辉。

Flink 一时风头无两,网上很快出现了 Spark 是不是会被 Flink 取代的言论。在美版知乎 Quora 和程序员非常喜欢的 Stack Overflow 上面,这个问题屡次被提出来讨论。

实际上这个问题却没有一个定论,业内大部分的人都觉得 Spark 和 Flink 的竞争中,前者很成熟,商业化也不错;后者的理念先进,也有一定的支持,究竟谁能胜出,还是要看后续的发展。

介绍完了 Flink 的概况,我们再来聊聊它背后的公司。和加州大学伯克利学院对待 Spark 一样,柏林理工 Flink 的主要开发者们,也为 Flink 成立了一家大数据公司 Data Artisans,它的总部位于欧洲柏林,在硅谷设有分公司。

从某种程度上,Data Artisans 和 Databricks 很像,区别只是前者的主打项目是 Flink,后者是 Spark 而已。

Data Artisans 的运营模式和盈利模式和 Databricks 也很像,他们也提供一个基于 Flink 的云计算平台,叫做 dA Platform。这个平台有开源的 Flink,还有不开源的应用管理器,平台不开源的部分就是他们的增值服务。此外,公司同时提供了对 Flink 的培训和咨询服务。

如果我们把 Flink 换成 Spark,忽略主打项目的不同,那么我们几乎可以看到两家公司几乎一样的商业运营模式。而这两个公司唯一的区别是:Data Artisans 目前不做认证服务。

那么说,两个极其相似的产品之间,后来者 Data Artisans 是不是会有一些不利之处呢。

首先,它的竞争对手 Databricks 已经运营很久了。何况 Databricks 的前身,加州大学伯克利分校的 AMP 实验室也已经和工业界有非常紧密的联系,更不要说,Spark 在整个社区里已经建立非常强劲的生态环境。

其次,Flink 作为一个新产品,又出自一个远离湾区的德国柏林的公司,它的境遇自然就要差一些了。先不去谈时间上的短板,仅仅因为它是欧洲公司出品的产品,就可以令它在湾区的使用率被打一个折扣。所以对于 Flink,很多公司一直都是站着看戏的态度。这让 Flink 在号称互联网中心的北美地区推广并不顺利。

最后,虽然 Flink 的产品在理念上很先进,但是理念从来都不是一切,理念之外,还需要有这个产品的实现。这方面,后来的 Data Artisans 比起 Databricks 要差了不少,所以 Flink 实现起来,Bug 会多一些,代码对于大规模的并行处理效率也要更低,有很多的瓶颈等等。

不过,虽然 Flink 有诸多不利之处,但是它先进的流计算引擎思想,代表着比 Spark 更光明的未来。这不妨碍一些公司,尤其是自身学术能力不一定强,但是有着强大工程开发能力和开发资源的公司去支持 Flink。

Data Artisans 的第一个强大的“后盾”就是阿里巴巴。阿里巴巴集团内部组建了一支自己的队伍,在数据库专家蒋晓伟的带领下,对 Flink 的代码进行了大量的改动,这些改动在工程实现上让 Flink 有了一个质的飞跃。这款克隆版的 Flink 就是我们在前面文章中讲到过的 Blink。

我们之前也讲到过,Flink 社区和阿里巴巴的 Blink 团队的合作非常紧密。阿里巴巴把很多自己做的改动都重新贡献回 Flink,这让 Flink 的发展迅速地走向了康庄大道。到今天为止,阿里巴巴是世界上对 Flink 贡献代码第二多的公司,仅次于 Data Artisans。

Data Artisans 和阿里巴巴的结合,让我们对 Flink 的未来多了很多信心。

另外,在北美也有一家公司在支持着 Data Artisans,它就是 Capital One 公司。Capital One 公司也是 Flink 目前在北美的最大使用者,它对 Flink 的表现还是相当满意的。

此外,公开支持 Flink 的还有谷歌。支持 Flink 的原因是谷歌开源了它的数据流定义平台 Apache Beam,而在开源这一平台的过程中,谷歌表示只有 Flink 这个引擎具备了 Beam 需要的所有特性,其他引擎,包括 Spark 在内,都还是差了那么一点。

这些都让 Flink 赢得了一些关注,但是不管怎么样,Flink 在北美的发展,总体上仍然举步维艰。

我们常常说“成就都是站在巨人的肩膀上取得的”,我们还常常会说“失败是成功之母”。Flink 在某种程度上是这两句话的完美体现。

Flink 很晚才被开发出来,所以一方面,它继承了一个失败项目的优点,并规避了缺点。另外一方面,它参考了市场上已有的引擎,学习它们的长处与不足。简而言之,Flink 的起点很高。

但是晚出来的产品也有坏处。如果之前有一个很好的产品基本上已经占据了市场,那么晚出的产品想要得到市场的认可,不但需要技术要非常强大,还需要看自身的运气。而它的前辈 Spark,的确是一个非常厉害的产品。

所以说,Flink 能不能够抢占一整块市场,这一点不太好说。至于它能不能彻底把 Spark 取代了,那更是痴人说梦。只要 Databricks 自己不犯错,Data Artisans 要想取得胜利,实在是一件不容易的事情。但是我想,市场那么大,Data Artisans 应该也能分得自己的一块蛋糕。

你又是怎么看待站在巨人的肩上这个问题呢?你可以给我留言,我们一起讨论。