大數(shù)據(jù)的起源和錯失大數(shù)據(jù)市場鼻祖的Google

大數(shù)據(jù)

大數(shù)據(jù)是什么

我從08年開始實際接觸hadoop的,這得益于當(dāng)年IBM和我在的學(xué)校的一次合作,做一個研究項目:怎么樣用蒙特卡洛的辦法來解決數(shù)據(jù)中的不確定性問題。這個解決方案有兩個特點,第一是計算量非常非常的大,第二是計算和計算之間相對獨立。這就使得基于Hadoop的并行計算成為一個很好的選擇。

大數(shù)據(jù)作為一個名詞其實是晚于Hadoop的,更是晚于MapReduce。曾經(jīng)有那么一段時間,流行的詞語是MapReduce而不是大數(shù)據(jù)。當(dāng)然再后來,大數(shù)據(jù)這個詞就流行開了。但是大數(shù)據(jù)到底是什么,到今天應(yīng)該還是稀里糊涂的一筆賬。

話說我做所謂的大數(shù)據(jù)都不知道多少年了,今天我還是搞不清楚大數(shù)據(jù)到底是什么。于是我就請教權(quán)威吧,查了一下百度百科。

百度百科是這樣定義的:

大數(shù)據(jù)(big data),指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大數(shù)據(jù)時代》中大數(shù)據(jù)指不用隨機分析法(抽樣調(diào)查)這樣捷徑,而采用所有數(shù)據(jù)進(jìn)行分析處理。大數(shù)據(jù)的5V特點(IBM提出):Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實性)。

我不知道大家是不是讀懂了,反正我做大數(shù)據(jù)這么多年,這段定義我是讀不懂。

這個定義最大的特點,和很多紅皮書白皮書黑皮書之類的差不多,就是裝逼。說白了,不說人話。反正我是沒聽明白大數(shù)據(jù)和小數(shù)據(jù)有什么本質(zhì)的區(qū)別。無非是數(shù)據(jù)和處理數(shù)據(jù)的工具以及從數(shù)據(jù)里面提取有用信息變成錢的過程。曾經(jīng)我們在做這些事情,現(xiàn)在我們在做這些事情,將來我們也會繼續(xù)做這些事情。

所以呢,我在我的文章里面共享過行為學(xué)家Dan Ariely關(guān)于大數(shù)據(jù)的名言,今天的講座我們繼續(xù)共享一下這段名言:

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.

簡單翻譯一下:

大數(shù)據(jù)就像青少年性行為:大家都談?wù)摚瑳]有人真正知道怎么做,每個人都認(rèn)為其他人都在做,所以每個人都聲稱自己在做。

以前幾年國內(nèi)大數(shù)據(jù)概念炒上天的情況來看,其實真的誰也不知道大數(shù)據(jù)是什么,誰也不清楚大數(shù)據(jù)怎么玩,但是各行各業(yè)忽如一夜春風(fēng)來,冒出無數(shù)個大數(shù)據(jù)公司大數(shù)據(jù)專家。

說的俗一點,大數(shù)據(jù)是造出來的概念。我們?nèi)祟惼鋵嵎浅I瞄L造概念,炒概念,然后炒完一個以后再起一個新的。所以大數(shù)據(jù)作為一個人造的概念飛起來也不奇怪。就像現(xiàn)在的人工智能一樣也是炒概念。早年還有納米洗衣機呢。

現(xiàn)在我們可以看到各行各業(yè)都在談?wù)摯髷?shù)據(jù)。從政府到企業(yè),從互聯(lián)網(wǎng)行業(yè)到傳統(tǒng)行業(yè),隨便寫個App背后沒有大數(shù)據(jù)都不能叫好App?,F(xiàn)在大數(shù)據(jù)都上升到國家高度了。比如說政府辦公要上大數(shù)據(jù),一個三線城市,放兩三臺機器搞定的,這數(shù)據(jù)真的非常的大。

如果我們撇開大數(shù)據(jù)這個概念不談,自從有了數(shù)據(jù)以來,人類一直做的事情是什么?這個其實也是今天大數(shù)據(jù)的背景下大家都在做的事情,概括起來講:分析數(shù)據(jù),產(chǎn)生有價值的信息。

這個事情20年前在做10年前也在做,今天還是在做,其實沒什么變化。 那么什么東西發(fā)生了變化呢?最大的一個是工具的能力發(fā)生了變化。 現(xiàn)在我們可以幾千幾萬臺機器一起協(xié)同做計算了。其次是性價比的變化。以前買Oracle的數(shù)據(jù)庫IBM大型機Teradata的解決方案,賊貴?,F(xiàn)在開源軟件一搭,弄些PC機就好。糙一點無所謂,所謂便宜才能普及。

然而本質(zhì)來講,大家做的事情并無改變。所以我們不需要去糾結(jié)于大數(shù)據(jù)到底是什么,而是要看清楚具體業(yè)務(wù)問題是什么,有什么合適的工具去解決。這些工具可能是新的也可能是舊的。我想大數(shù)據(jù)的所謂發(fā)展無非就是工具的進(jìn)步使得大家能夠更有能力去在限定的時間內(nèi)處理更多的數(shù)據(jù),獲得更有效的信息。

Google的大數(shù)據(jù)發(fā)展

大凡我們開始提到大數(shù)據(jù)的時候,都會提到Google。就像學(xué)哲學(xué)的言必稱希臘一樣。講到大數(shù)據(jù)不提Google,就有點感覺不是正宗做大數(shù)據(jù)的。我以前認(rèn)識一個學(xué)哲學(xué)的中國人,天天都掛著蘇格拉底,柏拉圖,亞里士多德,希臘三賢人。我們聊大數(shù)據(jù),其實也差不多。掛嘴邊的就是Google三駕馬車。

這三駕馬車是Google File System, MapReduce和BigTable.這些東西在開源的世界里面的代表分別是Hadoop File System, Hadoop MapReduce, 以及HBase。Google File System出來的最早,MapReduce最有名,BigTable出來的最晚。

Google之所以成為大數(shù)據(jù)的鼻祖,在我個人看來,最主要的原因不是它的技術(shù)有多牛,而是它的商業(yè)模式向我們展示的東西和前人非常的不同。

在Google之前很多互聯(lián)網(wǎng)服務(wù)是收費的,比如說郵箱。Google搞起了免費的Gmail,然后越是免費就越是賺錢。因為Google有一個有針對性投放廣告的系統(tǒng)。而投放廣告則給Google帶來了規(guī)模效應(yīng),越多的人用,收入也就越多。Google之所有能夠讓這個廣告系統(tǒng)有效,重要的就是對用戶的數(shù)據(jù)做了分析,并且從分析以后的海量數(shù)據(jù)里面變成了真金白銀。雪花花的銀子擺在大家面前,所謂財帛動人心。因為有錢賺,別人才會在乎它家的技術(shù)。任何的技術(shù)都沒有Google每次財務(wù)報告里面不斷滾動增長的錢來得有說服力。

Google三架馬車分別的意思是:

Google File System:文件系統(tǒng)

MapReduce:編程模式和運行環(huán)境

BigTable:一個SortMap

其實我們需要先了解一下Google發(fā)明這些技術(shù)最初是為了什么。

文件系統(tǒng)很簡單,當(dāng)然是存文件的。Google之所以需要一個新的文件系統(tǒng)是因為Google需要存儲的數(shù)據(jù)是整個互聯(lián)網(wǎng)加上各種索引等等。這樣的數(shù)據(jù)規(guī)模顯然無法通過現(xiàn)存的技術(shù)來支持,所以Google就發(fā)明了自己的文件系統(tǒng)。

能夠廉價的海量存儲數(shù)據(jù)是一切后續(xù)的基石。這個文件系統(tǒng)其實是整個構(gòu)架里面最為基礎(chǔ)和核心的東西。所以如果我們以此類比去看,在Hadoop的世界里, Hadoop File System才是最牢固的基石,其他東西能變這個也不能變。

正是因為有了HDFS,才成就了Hadoop的生態(tài)圈;而不是因為有了Hadoop的MapReduce。要不今天為什么Spark滿天飛呢?

MapReduce在2006到2012年的期間被炒翻天了。我們先不看為什么MapReduce被吵翻天。本質(zhì)上來講,Google發(fā)明這個技術(shù)最重要的目的是為了它的網(wǎng)頁搜索建立inverted index。搜索本質(zhì)上是搜索關(guān)鍵詞到網(wǎng)頁的一個對應(yīng)過程。網(wǎng)絡(luò)爬蟲爬下來的網(wǎng)頁會被建立起從網(wǎng)頁里面的單詞到這個網(wǎng)頁的逆向索引。而這種索引的建立在整個互聯(lián)網(wǎng)的規(guī)模下是一個非常有挑戰(zhàn)的問題。Google在MapReduce做出來之后最大的目的就是為了建立這個索引。而我們看到的論文里面的word count的例子也可以看做是這種逆序索引的一個簡化的例子。

MapReduce后來就被神話了。MapReduce的論文,我其實很難區(qū)分是Google故意攪渾水還是Google自己也被自己的虛假成就給迷惑了。有一段時間,MapReduce在Google和數(shù)據(jù)庫元老、圖靈獎獲得者M(jìn)ichael Stonebraker之間展開了一場大撕逼。基本上的原則來說,圖靈獎獲得者覺得這個東西沒什么,很傻逼。而Google則認(rèn)為這是救市良藥。唯一的作用是在那些年里,MapReduce催生了無數(shù)的論文。大家把成年的各種問題用MapReduce重新實現(xiàn)了一遍。應(yīng)該說給廣大科研工作者創(chuàng)造了很多的研究機會。而對于實際上這個業(yè)界的毒害是很明顯的。Hadoop長期以來就只提供了MapReduce的實現(xiàn),笨,慢,資源浪費等等。

至于BigTable,和其他兩個東西比其實是一個很突兀的東西。當(dāng)然BigTable并不是自己稱呼自己是Map而是說叫做Key-Value Store,又改一個名字叫做NoSQL。這些東西也是炒作概念了。 BigTable的最大的目的依然是建立 inverted index。只是不同的是,這個工具提供了incremental build的功能。這就是Google新一代的索引引擎Caffeine的基礎(chǔ)。

所以我們?nèi)绻莻€皮來看的話,這三駕馬車本質(zhì)上來說首先是為了Google的互聯(lián)網(wǎng)搜索服務(wù)的。這樣的工具是否具有普適性。其實很難說。文件系統(tǒng)當(dāng)然是好東西。但是Hadoop的文件系統(tǒng)其實被很多人罵。所以有人直接重新寫了文件系統(tǒng)保留了接口。MapReduce這個東西,連做join都非要把兩個數(shù)據(jù)源硬合并成一個數(shù)據(jù)源,怎么樣來看都是模型本身太過于狹隘。做不得是一個很通用的計算模型。至于BigTable嗎,連Google自己的廣告部門都寧愿用MySQL也不肯用BigTable,這個沒有實現(xiàn)transaction支持的系統(tǒng)其對用戶寫應(yīng)用有很多的負(fù)擔(dān)和要求。在Facebook里面一度有傳出來要用HBase取代MySQL的做法。但是不知道是HBase本身不成熟還是BigTable的概念的問題,這個一直沒做成,而MySQL則一直活下去了。

Google的大數(shù)據(jù)技術(shù)的發(fā)展還可以展開說很多。但是我只是想強調(diào)我個人的一個觀點,Google的技術(shù)是為了Google內(nèi)部的使用而發(fā)展起來的,而它帶著明顯的為互聯(lián)網(wǎng)搜索服務(wù)的特征。所以它們本質(zhì)上來說也是為了解決Google的問題和需要,這些東西適合不適合外面其他的人,就是兩說的了。

而我們必須說,實際上,這些工具的確被開源拷貝。但是我們同樣看到,開源社區(qū)很快就走向其他的途徑了。比如SQL-ON Hadoop像HIVE就出來了。

HIVE這個東西,雖然下面還是用了MapReduce,它對用戶的編程模型就變了,變得不是那么的搜索相關(guān)了。下面的引擎現(xiàn)在也給換成更通用的TEZ了。

因此我這里最主要的觀點是Google本身發(fā)展出來的技術(shù)的目的性其實明確,沒有那么多的普適性。到開源生態(tài)圈里面,慢慢就會有變化,而這種變化作為技術(shù)的最初發(fā)明者的Google其實并沒有迅速的接受并且改變。

Google為什么錯失了大數(shù)據(jù)市場

我們繼續(xù)聊第三個問題,為什么Google作為大數(shù)據(jù)的鼻祖一般的公司,有三駕馬車的奠基性工作,但是其實在這場大數(shù)據(jù)概念和由概念引起的賺錢風(fēng)潮里面沒有賺到錢,也沒有實際的話語權(quán)。很多人會說很簡單啊,不就是有Hadoop嗎?但是Hadoop是怎么來的?又是怎么就成了這個龐然大物?Google就任由Hadoop成長嗎?

這個問題我們先說第一點,Google是個很奇葩的不會做生意的公司。(我先聲明,下面都代表我個人觀點。大家可以不同意,聽聽就好。)

Google做生意最大的特點在于,把自己當(dāng)聰明人把其他人都當(dāng)傻子。對傻子么, 騙一個是一個。先舉個例子,Google推出一個東西叫做Chromebook,一臺電腦打開來,里面只有一個Chrome瀏覽器。然后Google的想法其實是,你上了瀏覽器的賊船以后你的所有數(shù)據(jù)都必須存在我這里了。我有了你的數(shù)據(jù)就可以這樣那樣的利用你的隱私給我更好的賺錢。你想吧,花錢買個硬件,里面只有瀏覽器,你愿意嗎?這是典型的廣告廠商的大數(shù)據(jù)思維。但是宣傳不是這樣的,宣傳是這樣多好多好。未來的趨勢就是什么都在“我Google”的Cloud上。

Chromebook曾經(jīng)很長時間都賣得不好。等到Google開放了本地硬盤存儲作為cache以后,這個局面才得到改善。我并不否認(rèn)有一部分的人一部分的場景需要Chromebook這樣的東西。但是如果把這個吹成了所有的人未來都是這樣的,那么到底是Google傻還是消費者傻呢?

Google想給大家提供大數(shù)據(jù)的服務(wù)的念頭和實踐其實非常早。在2008年的時候,就主推一個叫做AppEngine的東西。如果有機會去聽那個年代的Google的講話和宣傳,大概的說法就是你看我們多牛逼,發(fā)表了三架馬車的論文。我們現(xiàn)在開放了這些牛逼的技術(shù)的API,你只要把數(shù)據(jù)放到我們這里來,我們就替你搞定了。

問題呢?很多時候用戶并不想把數(shù)據(jù)存到你的那個BigTable里面去。一方面是自己的數(shù)據(jù)進(jìn)到別人肚子里了,另外一方面BigTable的API實在難用,不如SQL寫的痛快。

用戶,哪怕是用云的用戶,很多時候也是希望用一些看得見摸的著的東西。這種把用戶變成純粹寫APP而所有的基礎(chǔ)架構(gòu)都要用Google的想法,在今天可能還是有些機會的。

但是在2008年的時候,不由得各大彎曲創(chuàng)業(yè)公司擔(dān)心Google是不是會把所有的創(chuàng)業(yè)公司都變成它龐大的基礎(chǔ)架構(gòu)上面寫APP的人。所以AppEngine出來一直都不死不活的。沒人敢用啊,免費都不敢。Google大概4年以后不得不學(xué)亞馬遜開始賣虛擬機,叫做compute engine。但是那個時候已經(jīng)太晚了。當(dāng)然也不是沒傻子被騙,有個前幾天剛上市的SnapChat,就上了google的賊船?,F(xiàn)在每年要給Google交租很貴。

而且沒法換,數(shù)據(jù)都在人家那個奇葩的東西里,想倒出來還不是太容易。業(yè)務(wù)邏輯也和其他的云計算提供商不一樣,改用亞馬遜,程序都要重寫。

換句話說如果Google發(fā)表了論文,然后發(fā)起一個開源項目,主推的話,今天的世界早就不一樣了。有影響力有技術(shù),開源都是Google的,妥妥的。用了AppEngine這個方式去,是Google一個比較大的戰(zhàn)略錯誤。

為什么在08年推AppEngine,目的就是和當(dāng)年推Chromebook異曲同工。想要別人把數(shù)據(jù)都放到它那里。才能更好地做廣告。

第二個原因其實在于Google的優(yōu)越感和對其他公司的低估。Google的技術(shù)領(lǐng)先業(yè)界很多年。但是其他公司比如Facebook,Linkedin有點規(guī)模的顯然不會選擇通過重寫自己的應(yīng)用,綁到AppEngine的API上去來用Google的系統(tǒng)。所以很大程度上來說,Hadoop是業(yè)界自然而然對于這些技術(shù)的一個回應(yīng)。Google不做肯定是有人做的。

在Hadoop出來的早年,那個難用:性能差,功能差。Google很開心的和IBM買下了一個破舊的datacenter裝上Hadoop,以便可以讓學(xué)術(shù)界的人領(lǐng)會一下MapReduce的偉大,然后可以投奔Google。

這當(dāng)然沒有成功。相反的,正是因為大家都知道和Google的差距,這么多公司才會在Hadoop項目的早期就一路開源互相合作來打造一個生態(tài)系統(tǒng)。我想Google的科技肯定是領(lǐng)先的,人才也是濟濟的。但是雙拳難敵四腿。一個從一開始就試圖把大家綁到自己戰(zhàn)車上,又對周圍所有人看不起的公司,最后是會被亂拳打死的。永遠(yuǎn)不要小看了整個世界。

在2008年的時候Hadoop和Google差距是巨大的,到2016年呢?這個差距就沒有那么大了,技術(shù)的先進(jìn)性只有這么多。一個人永遠(yuǎn)不要小看整個世界的力量。

第三個原因在于Google不是一個實誠的公司。大家對Google都有信任危機。Google常常會通過發(fā)表不實的論文來誤導(dǎo)整個業(yè)界造成戰(zhàn)略欺騙,或者故意隱瞞重要的信息。比如說,我對Google披露的信息是不信任的。

早年的時候,Google有過關(guān)于數(shù)據(jù)中心怎么建設(shè)的研究,內(nèi)部研究表明不是越大越好,差不多是最有效的。然而對外的宣傳卻一直是越大越好,大的才能省能耗。關(guān)于這個誤導(dǎo)了業(yè)界一段時間。

后來比較大的一件事情是Google的MapReduce數(shù)據(jù)跑起來非常的牛逼。但是Hadoop死活就是做不到那么好,無論穩(wěn)定性還是資源的精確控制。這個原因今天大家知道了,Google很早就開始使用容器了。cgroup這個關(guān)鍵的補丁就是Google提交給linux的,但是Google從來沒有宣傳過它是用容器的。這個秘密是后來隨著Google人才流失而慢慢被大家知道的。這才有了twitter做Mesos的故事。

從某種程度上來說,這種利用自己影響力來做戰(zhàn)略欺騙的做法可以一時得逞,若干年得逞。但是到最后當(dāng)然就是大家都不信任了。也可以這樣說,今天Google有很多大殺器,但是沒有人愿意把自己的未來綁定到大殺器上。其他的云服務(wù)商,比如亞馬遜比如微軟,客戶所選擇的是通用的Hadoop體系,所以到最后這成了標(biāo)準(zhǔn)。Google也就沒有了話語權(quán)。一時的得利,換來整個行業(yè)對這個公司的警惕和不信任。值得不值得呢?

Google顯然意識到了信任危機,所以最近這兩年開源的開源,然后繼續(xù)開源。但是,我想這種壞印象的形成,不容易改變了。

最后一個原因吧,Google始終都沒有明白一件事,就是解決一個或者幾個規(guī)模非常巨大的問題的體系架構(gòu),不一定就適用于解決無數(shù)多個問題,但是每個問題規(guī)模都不大的場景。

亞馬遜賣云服務(wù),基本上來說大客戶少,有的是龐大的小客戶,所以要支持無數(shù)多個小客戶。而Google解決互聯(lián)網(wǎng)搜索和跨大洲做事務(wù)處理的這些黑科技,這世界上絕大部分小客戶都用不上。

Hadoop這個東西好啊,20臺node就能工作了,worker很多,浪費的機器很少。代價當(dāng)然是各種不穩(wěn)定各種沒辦法scale。Namenode出了名的爛。

但是在Google這種體系里面,系統(tǒng)的基本目標(biāo)是要支持幾千幾萬臺機器的。那就必須有一些機器去做無用功。比如要watchdog啊,要記錄寫log啊,這些機器的比例在大數(shù)據(jù)中心的前提條件下不高,但是哪怕只有20臺機器,這些服務(wù)每個起碼一臺機器也得占上。所以如果我要20臺的話,跑個Google版本的MapReduce,能不能跑起來先不說,跑起來了估計18臺機器都在干雜活,兩臺機器能用。

Google雖然號稱做大數(shù)據(jù),它也確實解決了大數(shù)據(jù)運算的問題,比如說互聯(lián)網(wǎng)搜索,比如說圍棋,但是這套體系是不是和為大量的中小型用戶去服務(wù)的體系很好的切合,我認(rèn)為不是的。所以Google并沒有具備競爭優(yōu)勢。它提供的大數(shù)據(jù)服務(wù)也就是看看好看而已了。

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2017-11-07
大數(shù)據(jù)的起源和錯失大數(shù)據(jù)市場鼻祖的Google
大數(shù)據(jù)是什么 我從08年開始實際接觸hadoop的,這得益于當(dāng)年IBM和我在的學(xué)校的一次合作,做一個研究項目:怎么樣用蒙特卡洛的辦法來解決數(shù)據(jù)中的不確定性問題

長按掃碼 閱讀全文