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应该也能分得自己的一块蛋糕。

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