支撑阿里巴巴“一万亿梦想”的“大数据计算引擎”厉害在哪?

2018-10-09 06:47

两年之内,阿里巴巴经济体的规模就会达到一万亿美元。

在云栖大会现场,阿里巴巴 CEO 张勇猝不及防地放出豪言。

当时我坐在会场的角落,掐着指头算了算。

一万亿美元,相当于苹果的市值,也相当于中石油 2007 年上市第一天的市值。和中石油叫板,这个目标可以说相当野了。

这位马云“钦点”的接班人,以想象力炸裂和果断决绝著称。正是他主导开创了如今闻名天下的“天猫”和“双11”。

张勇在十分钟的演讲中,提到了10次“商业”,却提到了28次“技术”。可见他内心非常清醒地知道,什么才是支撑阿里巴巴版图的基石。这让马云和我很放心,嗯。

所以今天文章的主角,不是张勇,而正是他的雄心最为倚仗的基石之一:大数据计算引擎

1、“大数据计算引擎”是阿里近十年成色最好的作品之一

中哥很佛系,每逢双十一,剁手神马的我都没啥兴趣。唯独双十一庆典的现场,那块跳动着数字的大屏幕是最吸引我的。

就拿去年来说,2017年11月11日当天,淘系创造了总成交额1682亿,32.5 万笔/秒交易创建的历史纪录。

如果你仔细观看当时的大屏就会发现,每隔两三秒,这些交易数据就会刷新。

阿里的朋友告诉我,这些数字是真实地从每秒几千万次写入的数据库中实时计算出来的。我用想象冲印了一下这种数据洪流的场景,心潮开始翻涌。

平胸而论,这种大数据计算力,基本标志了人类在实战场景中的最高水平。

当然,阿里也不是从一开始就这么逆天的。凡俗热闹,皆有因果,中哥给你讲段往事吧。

2008 年,淘宝网的业务出现了核爆炸一般的增长态势。这让马云敲开心,但同时也很焦虑。因为生意大了,眼看自家的IT系统快要忙不过来了。。。

那时候,阿里巴巴底层的计算力系统采购的都是美国公司的软硬件,服务器买的是 IBM,存储用 EMC,大数据系统使用的是全球最出名的商业软件甲骨文(Oracle)。

这些东西血贵血贵的不说,关键问题在于,如果数据量太大,它的计算速度和查询速度都秒变龟速,而且越关键的时刻越掉链子,实在是靠不住的猪队友。

情况危急,马云从微软拉来了王坚,建立了阿里云。当时的军令状是这样的:

第一步、阿里云发明一个用于计算力调度的底层系统——飞天。

第二步、阿里巴巴集团(淘宝网)在这个底层系统的基础上,研发一个好用的大数据计算引擎——ODPS。然后尽快用 ODPS 替代掉之前的老系统。

说是两步走,但时间不等人。

2009年初,时任阿里云的技术负责人林晨曦就找到了淘宝网的技术团队,说:你们可以在我们飞天的基础上研发大数据系统了!

那边的兄弟们说好啊,你的系统写了多少?

林晨曦淡定地一笑:写了几行吧。

所以,当年阿里云的飞天系统和淘宝网的 ODPS,基本上是同时研发的。这就像一边造发动机,一边装配一台整车。

从 2009 年开始研发,到 2013 年 ODPS 上线,那些日子阿里的大牛们经受了五年灵魂和身体双煎熬,如今回想起来都泪如涌泉。。。(这段故事,中哥会发一篇万字长文专门写写。敬请期待~)

后来,ODPS 引擎改了一个更酷的名字:MaxCompute。让人一目了然,想做大规模数据运算,用它肯定没错。

再后来,在这套 MaxCompute 大数据计算系统周围,阿里的大牛们又专门研究了负责实时计算的 Flink 系统、负责人工智能计算的系统 PAI 等等。也正是因为一步步的积累,如今你才有机会体验到双十一每秒搞定几千万数据的淘宝天猫,看到那个脸不变色心不跳的大屏幕。

起码在我心里,阿里巴巴这一整套大数据计算引擎,是他们十年来成色最好的作品之一。

资本市场也认同这一点。阿里巴巴的市值已经达到了四千亿美元,阿里云的估值也达到了四千亿人民币。从中哥的角度来看,四千亿估值里,起码有两千亿要归功于底层技术的突破。

2、“一个 Windows,比尔盖茨卖了一辈子。”

中哥有一个有趣的理论:

评价一个企业做得有多好,不能看它吹什么哔,要看他遇到了什么“怪”。

给你举个栗子就明白了。

我小的时候,家里有一台任天堂红白机。但受制于智商,连魂斗罗超级玛丽都玩得极烂,马戏团都只能玩到跳猴子的第二关。所以那时候我特别喜欢看别人打游戏,因为这样我就可以见识到后面关卡的 BOSS 都长什么样了。。。

公司发展和通关打怪差不多。所有的电商企业里,当时阿里巴巴跑得最快,所以他肯定第一个遇到新“怪”。这个新怪就是——“数据计算力不足”。

这一关,在阿里巴巴打通之后五年,很多其他企业自然也打到了。

现在的情况是:不仅只有阿里一家电商,像唯品会、拼多多还有诸多小电商手里都拥有很多用户。他们需要一套大数据计算系统,让订单可以实时准确汇聚,让用户零点一秒就搜到想要的商品,还要根据用户的画像做出准确的智能商品推荐。

当然,绝不仅是电商,现在工业、医疗、农业、气象、教育、城市治理等等各行各业都需要用到“大数据计算引擎”。等下我会详细说。

过来人阿里巴巴深知,“研究大数据计算引擎”这一关,那可是九死一生的。当年自己做的时候,都差点废了。是马云高喊“每年投十亿,连续投十年”,才勉强稳住阵脚做出来的。

既然门槛这么高,他们索性把自家的技术开放。仿佛是在说:

需要大数据引擎的人,也别招大几千人用五年时间花好几十亿自己傻傻地鼓捣了,直接从我这租来用不就好了。我们阿里巴巴用技术赚钱,你们也可以用便宜的价格使用超棒的计算引擎,皆大欢喜。

你可以说这是“技术红利”,也可以说这是“共享经济”。

中哥突然想到了比尔盖茨。1985年,微软搞了一套 Windows 1.0。就这么一个玩意儿,到了2018年,还是微软的最核心产品之一(当然它中间有持续的技术迭代)。这么多年,Windows 在不断帮助微软赚钱的同时,也改变了世界的样子。

可见,微软当年打的这个“怪”有多么重要。

而如果要类比的话,阿里巴巴的“大数据计算引擎”,就相当于企业在大数据计算领域用的 Windows。因为它也像一个操作系统,每家公司都可以利用系统的功能,在上面开发具体的大数据应用软件。

而且,看起来阿里巴巴也想把“大数据计算引擎”卖上很多很多年。

正好在前两天,阿里巴巴在 2018 云栖大会上推出了升级版的“新一代大数据计算引擎”,于是中哥赶紧找到了在这套系统里担当重任的几位大牛,他们是:

阿里巴巴研究员,Maxcompute 大数据引擎负责人,关涛

阿里巴巴研究员,Flink 实时计算负责人,量仔

阿里巴巴研究员,PAI 人工智能平台负责人,林伟

阿里巴巴资深技术专家,Dataworks 统一开发平台负责人,升龙

阿里巴巴集团副总裁,这些技术开放的总老大,周靖人

跟他们聊完之后,我才知道这套“新一代计算引擎”到底有多 Dior。

下面我就给你详细聊聊这套引擎里的几个核心技术。

3、“大数据计算引擎”中的孙悟空、猪八戒和沙和尚

先介绍一下,“新一代计算引擎”的底层技术主要有三个:MaxCompute(离线计算)、Flink(实时计算)、PAI(人工智能)。在它们之上,是用来统一调度各个技术模块的操作系统:DataWorks。

简单说来,这套系统跟西天取经差不多,就是“一带三”的模式。

这三大技术,可谓各有神通。

{  先说 MaxCompute  }

MaxCompute 应该算是三大技术中的大师兄,也是阿里巴巴的“镇山之宝”。它“神通广大,守正出奇”。

它的负责人关涛告诉我,MaxCompute 的独门绝技就是“大型分布式数据计算”。

大型数据计算,要解决的第一个巨大的问题就是“规模”。

不同的数据源,分散在不同的数据库里。就像我们的地球,每个国家都说着自己的语言,要是把不同国家的人拉在一起组成一个“十一国联军”足球队,教练肯定要疯,因为他要用不同的语言指挥不同的球员。

所以关涛和技术宅们使用了一种叫做 Datalake 的技术,把不同的数据源用类似的方式存储,用统一的方法计算。这就像球队的球员们都使用英语交流,就能极大地发挥出集体优势了。

大型的数据计算,要解决的第二个问题是“查询”。

所谓大数据,就是老么老么大的数据,从里面检索一类结果往往要等很久。比如你可以做这样的查询:“找出全中国20-30岁之间养猫的人“。那你就得先从中国找到所有符合年龄的人,再去看看 Ta 们家里有没有猫。

(你可以试试在自己的电脑上搜索带有某个关键词的文件,仅仅是一台小破个人电脑,随便搜索个什么都要半分钟左右。如果在巨大的数据库中搜索,意味着“今天提交搜索需求,明天再回来看结果吧。。。”)

面对这个问题,解决的方法是“交互式查询”。简单来说:系统会根据信息预判你将会做哪些查询,提前搞点半成品出来。例如它已经找好了全中国养猫的人都有哪些。当你真的提出这个搜索需求的时候,它只要在里面找20-30岁的人就好了,这就会快很多。

当然,MaxCompute 的独门秘籍还有超强的稳定性和容错性等等,篇幅有限暂时不一一详述了。总之,淘宝天猫的基础交易功能,都离不开 MaxCompute 快速、稳定的运算力。

{  再说 PAI  }

PAI 应该在三大技术中可以算二师兄,因为它“思维活跃,幽默智能”。

它的负责人林伟告诉我,PAI 的独门绝技是人工智能运算。要解决的问题就是“丰富+易用”。

所以,PAI 平台的任务很清晰,就是尽可能丰富地提供人工智能算法、环境和框架,让开发者不用费劲搭建环境,就能够按照自己的想法快速进行机器学习的训练。

举个例子:

淘宝的实时推荐系统里,就利用了 PAI 提供的人工智能技术。

比如,你搜索了“棺材”,接着往下刷,下面可能就会给你推荐全套殡葬服务。

再比如,你搜索了“睫毛增长膏”,下面的画风也许就会变成这样:

{  再说 Flink  }

Flink 应该算是三大技术中的沙师弟,它“兢兢业业,不休不眠”。

它的负责人量仔告诉我,Flink 的独门绝技是“实时运算”,可以牺牲一定的计算资源,但是必须在第一时间给出结果。所以它要解决的重要问题,就是“速度”。

举个栗子:

本来,一家电商跟路边的小卖部差不多:白天卖货,晚上盘点。

一盘点就能知道很多信息。

比如:今天火腿肠存货不多,第二天该进货了;今天酸奶买二送一却没卖出多少,明天我得改成买二送二;隔壁李铁头今天买了好多辣条,下次见到他我得给他多推荐辣条。

这个盘点其实就是 MaxCompute 负责计算的。

但是,如今已经到了8102年,作为一个有理想的电商,一天盘点一次已经完全不够了。它们需要“实时盘点”。

库存下降,商家需要得到实时预警,一秒钟之内就要启动物流备货。这需要 Flink 的实时计算。

一个促销战略不奏效,我要马上知道,下一秒我就要所有亲看到新的促销策略。这也需要 Flink 的实时计算。

“从我开店那天起,到现在这一秒为止,我的货总共卖掉了多少?”想知道这个答案,就要把今天以前的数据和今天凌晨到现在的数据相加,需要 MaxCompute 和 Flink 合作给我答案。

你还记得我刚才说的天猫双十一大屏目上每隔几秒就跳动的总成交额数字吗?这也是 Flink 实时计算的效果。

在这三个主线技术以外,还有例如 FunctionStudio、DataStudio、AppStudio 等很多其他技术,篇幅限制这里也暂时不展开了。

4、唐僧是谁?

刚才我给你介绍了三位神通广大的“师兄弟”。他们都驻扎在“新一代计算引擎”里面。

但其实作为一个普通用户,你并不需要分别认识他们。。。。你只需要认识一位“唐僧”,唐僧是他们的“带盐人”,会根据你给的任务,自动调度三位师兄来工作。

这位唐僧,就是 DataWorks。

DataWorks 的负责人升龙告诉我:

你只需要在 DataWorks 里面编辑好你的任务,系统会在后台自动为你选择“离线计算”还是“实时计算”,也会为你自动调用“人工智能的算法”。

DataWorks 既支持傻瓜式的拖拽编程,也支持各种编程环境的代码开发。完成度非常高。

有了三大技术加持,DataWorks 能干什么呢?我给你举几个小例子。

1)

闵万里博士是阿里云机器智能首席科学家,他负责研发阿里云的“镇店之宝”——各种“ET大脑”,包括“城市大脑”“工业大脑”“农业大脑”等等。就拿城市大脑举例吧。

城市大脑可以收集全杭州1300个交通摄像头的视频,然后实时分析几百万辆车的方向和速度,从而给出现在每个路口最优的红绿灯的设置。

闵万里告诉我:首先,这里面的整套算法极其复杂,其次,所有车辆的实时数据量非常庞大。但是对于计算的速度要求却非常苛刻。必须得靠 MaxCompute、Flink 这些底层计算系统的支持,才能在一秒钟以内获得有效的决策结果。

2)

当然,作为一个普通的开发者,也许还玩不到闵万里博士那么高级。但是,你完全可以利用 DataWorks 开发一个特定行业的大数据应用。

比如,阿里巴巴在发布 DataWorks 的时候,顺便搞了一个“云上智能编程大赛”。参赛队伍可以利用卫星云图数据,在 DataWorks 上开发出一套“预测某地实际降雨量的软件”。

3)

你甚至还可以大开脑洞,根据自己独特的实际需求开发软件。

假如你是一家连锁超市的程序猿,你就可以开发一套自动识别超市货架是否需要补货的软件。

具体来说,你可以利用 PAI 的人工智能套件和 Flink 的实时计算能力,训练系统实时识别货架上的位置是不是空的,然后在 DataWorks 上用“AppStudio”套件生成一个 App,供自家超市使用,还可以把它卖给其他的超市来赚钱。

中哥见识有限,上面的例子都是我临时找到的。而实际生活中,大数据可以应用的方面远远超过我举的例子,甚至超过我的想象范围。这些未来,显然需要更多的行业开发者来参与创造。

5、阿里巴巴想要的,是“大数据国度的淘宝”

在2018年10月的云栖大会上,阿里巴巴集团副总裁周靖人摩拳擦掌,他终于对外公布了消息:

最新的 DataWorks 将在阿里云上对外提供服务。

这意味着,所有人都可以在统一的平台上使用阿里巴巴十年的底层技术:MaxCompute、Flink、PAI、AppStudio 等等等等来编写自己的大数据应用。

DataWorks 卖钱这件事本身是商业行为,没什么可说的。但中哥觉得,追光之外显然有一些更让人心潮澎湃的事实。

回到 2009 年。需要大数据分析引擎的只有BAT这样的公司,那时候即使 BAT 把大数据引擎免费送给其他企业,他们恐怕也没有利用的能力。而把时间轴拉到 2018 年的此刻,数据从“路边的野花”变成了“人人争夺的金矿”,数据分析能力从“别人家的事儿”成为了“人人梦寐以求的炼金术”。

这让我想到了石油的历史。

1900年以前,世界上大多数国家都没有办法利用石油,石油只是一种有趣的“魔术道具”,就像班固在《汉书》里写得那样,“高奴有洧水可燃”。当福特把汽车量产之后的一百年间,全世界才开始趋之若鹜,头破血流地争抢石油资源,重金研究石油化工的技术。

从本质上来说,这是因为我们的科技正如箭不回头一般前行。人类用自己数十年的奋斗,正在学会利用一种新的资源——数据。

我们站在前人从未踏足的科技边境上,这里的风景让人动容。

此时此刻,我们可以看到数据世界三个泾渭分明的历史拐点:

1)2010年,只有 BAT 这样的大公司,自己开发独立的工具,“孤独地”使用数据。

2)2018年,人类使用数据的方法,从单独的工具进化成了全套的系统,DataWorks 就是一例。

3)未来,无数行业开发者将会利用成型的“大数据操作系统”,开发出各行各业专用的大数据应用,改变农业、商业、医疗、教育和每个人的真实生活。

在周靖人看来,DataWorks 不甘于只做大数据开发者的操作系统,他希望把这里建成一个“交易平台”,让人们把自己开发的大数据应用分享给更多需要的人。

DataWorks 的野心是成为“大数据国度的淘宝”。

这才是让这些大牛真正心动的未来。

这一时刻我突然明白,几年前马云高举双手,喊出“DT 时代”的时候,台下观众看到的是一个让人生疑的狂人,而马云的眼前一定是奔腾的数据洪流,比汹涌的钱塘江潮壮阔千倍万倍。

(本文首发于微信公号“浅黑科技”,作者浅黑科技创始人史中)

 

「版权声明:多维客是一个汇聚各方言论的平台,所述观点不代表本网立场。如有侵权文章或者图片,请立即联系我们。」

眼界

着眼IT、数码、创业、AI及软件应用等众多领域,为您展现全球最先进、最前沿的科学技术和先进文明成果。

评论

【声明】评论应与内容相关,如含有侮辱、淫秽等词语的字句,将不予发表。

推荐阅读