Google失之交臂的大数据


今天的讲话有三个主题:

  • 大数据是什么

  • Google的大数据发展

  • Google为什么在大数据市场没做好,就是为什么没赚到钱也没有实际的影响力

 

大数据是什么?

大数据作为一个名词其实是晚于Hadoop的,更是晚于MapReduce。曾经有那么一段时间,流行的词语是MapReduce而不是大数据。当然再后来,大数据这个词就流行开了。但是大数据到底是什么,到今天应该还是稀里糊涂的一笔账。

于是我就请教权威,查了一下百度百科。

百度百科是这样定义的:

大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

 

这个定义最大的特点,和很多红皮书白皮书黑皮书之类的差不多,就是装逼。说白了,不说人话。反正我是没听明白大数据和小数据有什么本质的区别。无非是数据和处理数据的工具以及从数据里面提取有用信息变成钱的过程。曾经我们在做这些事情,现在我们在做这些事情,将来我们也会继续做这些事情。

 

所以呢,我在我的文章里面共享过行为学家Dan Ariely关于大数据的名言,今天的讲座我们继续共享一下这段名言:

Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it.

简单翻译一下:

大数据是造出来的概念,我们人类其实非常擅长造概念,炒概念,然后炒完一个以后再起一个新的。所以大数据作为一个人造的概念飞起来也不奇怪。就像现在的人工智能一样也是炒概念。早年还有纳米洗衣机呢。

 

Google的大数据发展

大凡我们开始提到大数据的时候,都会提到Google。就像学哲学的言必称希腊一样。讲到大数据不提Google,就有点感觉不是正宗做大数据的。我以前认识一个学哲学的中国人,天天都挂着苏格拉底,柏拉图,亚里士多德,希腊三贤人。我们聊大数据,其实也差不多。挂嘴边的就是Google三驾马车。

 

这三驾马车是Google File System, MapReduce和BigTable.这些东西在开源的世界里面的代表分别是Hadoop File System, Hadoop MapReduce, 以及HBase。Google File System出来的最早,MapReduce最有名,BigTable出来的最晚。

 

Google之所以成为大数据的鼻祖,在我个人看来,最主要的原因不是它的技术有多牛,而是它的商业模式向我们展示的东西和前人非常的不同。

 

其实我们需要先了解一下Google发明这些技术最初是为什么?

文件系统很简单,当然是存文件的。Google之所以需要一个新的文件系统是因为Google需要存储的数据是整个互联网加上各种索引等等。这样的数据规模显然无法通过现存的技术来支持,所以Google就发明了自己的文件系统。

能够廉价的海量存储数据是一切后续的基石。这个文件系统其实是整个构架里面最为基础和核心的东西。所以如果我们以此类比去看,在Hadoop的世界里, Hadoop File System才是最牢固的基石,其他东西能变这个也不能变。

正是因为有了HDFS,才成就了Hadoop的生态圈;而不是因为有了Hadoop的MapReduce。要不今天为什么Spark满天飞呢?

 

MapReduce在2006到2012年的期间被炒翻天了。我们先不看为什么MapReduce被吵翻天。本质上来讲,Google发明这个技术最重要的目的是为了它的网页搜索建立inverted index。搜索本质上是搜索关键词到网页的一个对应过程。网络爬虫爬下来的网页会被建立起从网页里面的单词到这个网页的逆向索引。而这种索引的建立在整个互联网的规模下是一个非常有挑战的问题。Google在MapReduce做出来之后最大的目的就是为了建立这个索引。而我们看到的论文里面的word count的例子也可以看做是这种逆序索引的一个简化的例子。

 

至于BigTable,和其他两个东西比其实是一个很突兀的东西。当然BigTable并不是自己称呼自己是Map而是说叫做Key-Value Store,又改一个名字叫做NoSQL。这些东西也是炒作概念了。 BigTable的最大的目的依然是建立 inverted index。只是不同的是,这个工具提供了incremental build的功能。这就是Google新一代的索引引擎Caffeine的基础。

 

我个人的一个观点,Google的技术是为了Google内部的使用而发展起来的,而它带着明显的为互联网搜索服务的特征。所以它们本质上来说也是为了解决Google的问题和需要,这些东西适合不适合外面其他的人,就是两说的了。

 

而我们必须说,实际上,这些工具的确被开源拷贝。但是我们同样看到,开源社区很快就走向其他的途径了。比如SQL-ON Hadoop像HIVE就出来了。

HIVE这个东西,虽然下面还是用了MapReduce,它对用户的编程模型就变了,变得不是那么的搜索相关了。下面的引擎现在也给换成更通用的TEZ了。

 

Google为什么错失了大数据市场

我们继续聊第三个问题,为什么Google作为大数据的鼻祖一般的公司,有三驾马车的奠基性工作,但是其实在这场大数据概念和由概念引起的赚钱风潮里面没有赚到钱,也没有实际的话语权。很多人会说很简单啊,不就是有Hadoop吗?但是Hadoop是怎么来的?又是怎么就成了这个庞然大物?Google就任由Hadoop成长吗?

 

Google做生意最大的特点在于,把自己当聪明人把其他人都当傻子。对傻子么, 骗一个是一个。先举个例子,Google推出一个东西叫做Chromebook,一台电脑打开来,里面只有一个Chrome浏览器。然后Google的想法其实是,你上了浏览器的贼船以后你的所有数据都必须存在我这里了。我有了你的数据就可以这样那样的利用你的隐私给我更好的赚钱。你想吧,花钱买个硬件,里面只有浏览器,你愿意吗?这是典型的广告厂商的大数据思维。但是宣传不是这样的,宣传是这样多好多好。未来的趋势就是什么都在“我Google”的Cloud上。

 

换句话说如果Google发表了论文,然后发起一个开源项目,主推的话,今天的世界早就不一样了。有影响力有技术,开源都是Google的,妥妥的。用了AppEngine这个方式去,是Google一个比较大的战略错误。

 

为什么在08年推AppEngine,目的就是和当年推Chromebook异曲同工。想要别人把数据都放到它那里。才能更好地做广告。

 

第二个原因其实在于Google的优越感和对其他公司的低估。Google的技术领先业界很多年。但是其他公司比如Facebook,Linkedin有点规模的显然不会选择通过重写自己的应用,绑到AppEngine的API上去来用Google的系统。所以很大程度上来说,Hadoop是业界自然而然对于这些技术的一个回应。Google不做肯定是有人做的。

 

第三个原因在于Google不是一个实诚的公司。Google常常会通过发表不实的论文来误导整个业界造成战略欺骗,或者故意隐瞒重要的信息。

比较大的一件事情是Google的MapReduce数据跑起来非常的牛逼。但是Hadoop死活就是做不到那么好,无论稳定性还是资源的精确控制。这个原因今天大家知道了,Google很早就开始使用容器了。cgroup这个关键的补丁就是Google提交给linux的,但是Google从来没有宣传过它是用容器的。这个秘密是后来随着Google人才流失而慢慢被大家知道的。

 

最后一个原因吧,Google始终都没有明白一件事,就是解决一个或者几个规模非常巨大的问题的体系架构,不一定就适用于解决无数多个问题,但是每个问题规模都不大的场景。

 

答疑环节

Q1:现有的大数据云平台越来越多,例如百度的云智,阿里的御膳房,提供的大数据服务越来越多元化,是不是意味着小创公司可以不需要自己的大数据团队?

飞总:我觉得小公司可以不需要做大数据基础架构的团队,但是做数据分析的团队还是要的吧。数据到有用的信息,不可能指望大数据云平台给你自动做掉啊。

Q2:大数据有什么具体应用?什么情况下才会用大数据?

飞总:这个问题是太宽泛了。非要我回答,只要能从数据里面变出钱来,就可以啊。最后大家用大数据,无非是想多赚钱。贴个笑话回答这个问题吧:昨天和淘宝一卖奢侈品的店主聊天,说起大数据在淘宝的应用,他就跟我讲,其实他们一般看好评和花费这两项:舍得花钱且从来不给差评的,就给他们高仿的;不舍得花钱不过也不给差评的,那就给他们假的;而给差评的一般是愿意较真的,所以一般就会跟他们说没货了取消订单;这就是大数据的应用啦。

大家笑笑就好。基本上来说业务逻辑需要的时候,就用呗。业务逻辑是什么,业务和业务不同啊。现在比较成熟的就是广告里面怎么靠大数据赚钱了。

Q3:Google大数据没发展,其实我是觉得他是布局到更遥远的人工智能吧,人工智能需要的基础其中之一就是大数据不是吗?

飞总:呵呵,我想,人工智能其实就是一个炒起来的概念,鬼知道什么是人工智能呢?google做的东西,无非是神经网络,这个理论其实一直在,计算能力不够,训练样本不够而已。我想Google自己都不好意思用人工智能给自己大数据没赚到钱去背锅。