前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自建轮子与抱团取暖

自建轮子与抱团取暖

作者头像
用户1564362
发布2018-07-25 11:59:10
4920
发布2018-07-25 11:59:10
举报
文章被收录于专栏:飞总聊IT飞总聊IT

公众号今天起进入休假模式到六月。更新频率不固定。近期回国,停留杭州上海,其他地方尚不确定。有问题请留言,我会不定期文回答。合作请联系本人。

一项技术的发展,有自建轮子和抱团取暖两种选择,前者自己从头搭起,后者大家一起合作搞个开源社区。这两者到底哪个比哪个更好,一直都是说不清楚的问题。当然还有拿来主义的原则,拿别人的轮子改头换面叫做自己的轮子的,这种做法不在我们讨论范围内。

大数据领域自建轮子的主要有三家企业:谷歌,微软和阿里巴巴。谷歌的MapReduce以及后来升级的Flume是自家处理大数据的平台。微软的Cosmos则是微软内部大数据平台。阿里巴巴建的轮子叫做MaxCompute。

至于其他的,大体上都在Hadoop这个框架下抱团取暖。当然抱团取暖也并非意味着和谐,也有竞争。早年有Hadoop的MapReduce以及之上的HIVE,Pig。后来诞生了Impala。再后来到现在,活下来的主要是Spark和Presto。

作为抱团取暖的产物的Hadoop生态圈,在大数据领域可谓风光无限,大部分企业都在用Hadoop。围绕Hadoop也诞生了很多的企业,服务了更多的企业。这无疑是抱团取暖力量大的象征。

而作为自建轮子的企业,谷歌是别无选择,谁叫它最开始做大数据呢。微软也基本上是别无选择。微软在做必应搜索引擎的时候,是开源最大的敌人,没有谁会和微软抱团取暖。至于阿里巴巴的选择,则耐人寻味。

当时从微软亚洲研究院常务副院长的位置上来到阿里巴巴的王坚博士的选择是齐头并进,既有做Hadoop的,也有做自研的。当然自研的原先叫做ODPS的后来改名叫MaxCompute的产品一度要被砍掉,但是最后的结果却是Hadoop这个体系在内部越来越没有人用。

这三家的自研产品,我没有办法货比三家,给出精准的结论来。但是从有限的知识看, 谷歌产品强于对资源的精准控制,执行效率和故障恢复。但是其上层给程序员的开发接口,无论是早期的MapReduce还是后来的Flume,都改不了谷歌一贯的问题---难用。

微软的Cosmos的产品体系和C#生态圈结合紧密,是快糙猛的典范。写的对的用得很好,写错了的报错信息一塌糊涂。盖因时间有限,错误方面的处理非常的粗糙。

至于阿里巴巴的MaxCompute,早年抄了HIVE的前端自己写了后端,试图保持和HIVE的兼容性,却终究是竹篮打水。这个系统好与不好,我不好判断。也许曾经的系统是一般的。2015年整个组织进行了一次大换血,原来微软做Cosmos的人接管了这个团队并推出了MaxCompute V2。可以想象一个系统做两遍也好,做过一个系统的人来做另外一个系统也罢,无论前者还是后者,总是会让MaxCompute V2有长进的。

但是在大数据处理平台到底是个什么东西上,好像这些公司都犯了同样的错误。主要我想还是大家都没有搞清楚大数据和云计算有什么区别。内部有了系统之后,谁都想开放出来给外部用。微软的Cosmos被印度人接管以后就想做一套可以在云上卖的类似的产品。阿里巴巴推行MaxCompute不遗余力。至于谷歌,倒是没有那么大张旗鼓的推销,但是类似的API在不同产品上都出现过。

然而外部的生态圈一直都是围绕着Hadoop展开的,大小用户对于事实标准Hadoop以外的东西毫无兴趣。所以和Hadoop体系的东西卖的如火如荼比起来,这几家要么就是产品还没见到影子,要么就是卖的很惨淡。

但是从另外一个角度讲,服务内部,这几个系统都是很成功的。Hadoop能不能够取得同等成功,这个问题就不好说了。无论是规模还是并发,Hadoop系统远非这些专有的轮子耐操,所以多半会是问题。

只是我这样说也是有偏见的,Facebook在经历自家发明HIVE,又被自家的Presto赶走HIVE之后,现在也是稳定的运行在自己定制的Hadoop上。有时候我想,如果当时阿里巴巴在Hadoop团队上投入更多,而在自研的系统上投入更少甚至干脆不投入的话,那么是不是现在Hadoop系统也可以同样的耐操,不再是问题。而阿里巴巴也不需要因为要维护两套系统而投入更多的人力物力。

但是这些都不重要了,自建轮子的企业,轮子在自己企业里跑的都很欢,远远超过了Hadoop的生态圈在同一个企业里。这个原因可能一方面是自研系统确实有技术上的优势,另外一方面,自研系统公司也投入了更多的资源。但是这些企业如果要做云计算生意的话,不可避免的就需要维护两套系统了,值得吗?我也不知道。毕竟,没有自研系统的亚马逊和Facebook,也活的好好的。亚马逊更是因为卖Hadoop的云计算服务而大发特发。

那么自研系统对企业的好处是什么呢?最大的好处应该是培养了一堆中流砥柱的人才。这些人对分布式系统和大数据的处理框架非常的熟悉,可以帮助公司解决很多实际问题。

当然,回到最后,作为一个从业人员,跳进谷歌,微软或者阿里巴巴的某个自研团队的坑里到底是不是好事情。这个问题很多人一定会关心。毕竟这些自研团队,一方面顶着高大上的光环,一方面到处招人。

这里我给一个我个人的看法,我的观点是,如果一个自研系统的早期,加入进去和系统一起成长,对个人的成长无疑是很有利的。如果说一个自研系统已经和Hadoop生态圈一样足够庞大,学起来费劲的时候,投入到Hadoop生态圈可能比投入自研系统会是更好的选择。前者你学到的不仅仅是系统的知识,而且是可以携带的,在不同公司都适用的经验。后者,你恐怕会掉进自研系统的汪洋大海里,学不过来,不可自拔。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 飞总聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档