當前位置:
首頁 > 科技 > 普通工程師簡史

普通工程師簡史

圖片來源@視覺中國

文|郭華

我今年大概三十多歲,因為工作的關係,看上去比實際年齡還要老一些,像個微禿的胖子,但如果硬要回憶的話,我也是有過青春的。

只不過時間稍微有些久遠,要到2004年。

那年周星馳拍了《功夫》,王寶強出演了《天下無賊》,百度收購了hao123,騰訊剛剛上市,而支付寶還沒出現。

那年我剛上高一,才知道縣城比村子大的多。於是開始在懵懂中新奇,又在新奇中自卑,我不知道歐洲杯,不認識貝克漢姆,也沒用過摩托羅拉,我不大愛說話,只是喜歡晚自習。

因為只有在這個時候我才會感到一種青澀的希望,我可以用左手托著腦袋,把耳機藏在袖子里聽周杰倫的七里香,然後目光穿過右手,偷偷的看隔壁背單詞的女同學,她的馬尾辮擺來擺去,嘴巴嘟嘟囔囔不敢出聲,在紅白校服的襯托下,我覺得她好像一個誰。

我常常想,如果時間可以定格的話,那最好一直留在那個瞬間。

但這是不可能的,關於我的未來正在展開,只是遙遠的像與我無關。

2003、2004年的時候,谷歌接連發表了兩篇論文,大概意思就是自己的數據太多了,所以就開發了兩個系統,一個是分散式存儲系統GFS,一個是分散式計算系統MapReduce,然後說在這兩個系統的幫助下,谷歌已經完美的解決了這些問題,所以如果你也有類似問題的話,最好也這麼試試,因為如果我們都沒想出來的話,應該是不存在什麼其他辦法了云云。

論文很短,也沒什麼公式,再加上是谷歌寫的,所以很快就傳播開了。

在眾多讀者之中,有一個叫Doug Cutting人。

他當時正在弄自己的開源搜索引擎Nutch,碰到了很多論文里描述的問題,所以他在看到這兩篇文章的時候眼睛立馬就亮了,斷定這就是他苦苦追尋的東西,很快便照著文章在Nutch里把兩個系統都實現了一遍。在這個過程中,他還敏銳的意識到這種處理範式有著比搜索引擎廣闊的多的應用空間,所以又在2006年把這兩個系統從Nutch中獨立了出來,創建了大名鼎鼎的Hadoop項目。

他看到了Hadoop的前景,也意識到了自己的局限,Hadoop要發展僅僅靠自己是不夠的,他還要找一個地方,一個適合Hadoop成長的地方。於是他來到了雅虎,也就是在雅虎,Hadoop集群突破了一千台,從一個試驗品變成了真正可用的大系統,然後以燎原之勢席捲了全球互聯網公司。

2007年,中國的百度、淘寶等紛紛開始調研Hadoop。

而我也在當年上了大學,來到了海濱城市大連。

實話實說,我對計算機只有抗拒,因為每次坐到它面前我都會頭昏腦脹,所以報志願的時候便避開了所有與之相關的專業,只不過由於分數不夠,我還是被調劑到了軟體工程系。這個系有兩個特點,一個是學費高,一個是分數低,所以當時大部分同學都是被調劑過來的,很少有人對學習有什麼熱情。

輔導員也看到了這一點,於是他給我們推薦了《世界是平的》這本書,讓我們好好看看,計算機就是未來。

我大約看了,也或者沒看,總之除了書名外什麼都不記得,但交了學費總要學習,上了大學總要畢業。而且退一萬步講,班裡都是比自己又高又帥的男生,看著那三四個女同學,我便不再抱任何希望了,於是就借了幾本C 的書跑去了圖書館,開始琢磨計算機這個莫名其妙的東西。

我的進步是緩慢的,大數據的發展卻是迅猛的。

Hadoop不斷攻城略地,在展示力量的同時也暴露了自己的問題,一是運行起來太慢,二是MapReduce的編程方式太難用——這就是開源軟體的運作方式,我並不完美,但你可以一起完善。

2008年的時候,Facebook率先開始了對Hadoop易用性的改造,發起了一個叫做Hive的項目,其目的就是在MapReduce上加一層SQL,讓所有的人都能直接上手Hadoop。這個項目迅速走紅,Hadoop加Hive成了很多公司大數據的標準解決方案,直到今天都沒過時。

但是如果把Hadoop比做一輛車的話,Hive只是把原來的手動擋換成了自動擋,好開是好開了,但引擎沒變,所以速度還是上不來。

這時號稱比Hadoop快一百倍的Spark就出現了。

Spark的作者曾經在谷歌做過分散式系統。他覺得Hadoop最大的問題就是數據都放硬碟了,如果能把他們放在內存的話,速度肯定會快很多。在這個思路的引導下,他發明了一種叫做RDD的分散式數據結構,巧妙的利用內存解決了Hadoop的性能問題。

Spark很快就成了MapReduce的替代方案。

到這時,Hadoop已經成了一個龐大的生態系統,從計算到存儲到查詢到工作流,其版圖擴展到了大數據的方方面面,一時間成了所有人談論的焦點。

這大概是2010年。

當時我剛上大四,正在頭疼研究生實驗室的事情,拿不準該選哪個,便去諮詢一個學長。學長說現在Hadoop最火,找工作只要說懂這個很快就能拿到offer,反正你讀研也是要工作的,不如選個Hadoop相關的吧。我信以為真,再加上當時一直想和幾個同學出去玩,早有點不耐煩了,就隨便選了一個介紹里有Hadoop的實驗室,背著書包離開了大連。

2011年,我來到杭州,開始真正接觸Hadoop,然後在導師的建議下看了03、04年谷歌那兩篇文章,終於弄懂了什麼叫MapReduce,但這並沒有讓我有多少成就感,反而覺得越看不懂的越多,一想起Hadoop那龐大的版圖,便覺得前路漫漫怎麼都學不完。

我是悲觀的心灰意冷,但有人卻是樂觀的熱血向前。

比如Nathan Marz,他在這年興緻勃勃的發布了Storm,口號是實時的Hadoop。

簡單來說,那時Hadoop版圖雖大,裡邊卻存在著空缺,這個空缺就是流式處理。Hadoop的所有系統都假設數據已經歸檔,從沒假設過數據正在產生,然而在真實的世界中,數據卻總是正在產生的。Nathan Marz意識到了這個問題,並想到了流式處理的概念,即把數據當成水流一樣,源源不斷的流過來,來一條處理一次,然後立即推送結果——圍繞這些想法,他開發了一個叫做Storm的引擎,並在Twitter的推動下大獲成功,最終補上了Hadoop拼圖裡實時計算的這一角。

Spark很快,Storm也很快,兩者有什麼區別呢?

我舉個例子。

大家知道公交車開起來肯定比電瓶車快,所以要去十公里外你肯定會不假思索的選擇坐公交車而不是騎電瓶車,可如果要去五百米外的隔壁小區,你的選擇可能會截然相反,因為可能等車的功夫你已經騎到了。

Spark是公交車,Storm就是電瓶車,Spark需要等大家都上車之後一批運過去,而Storm不用,來一個走一個。

當然了,這個例子也是我現在才想到的,因為當時的我完全沒有動力再看任何關於Hadoop的東西,心情就像莊子說的「吾生也有涯,而知也無涯?。以有涯隨無涯,殆已」,乾脆放棄了。

抱著這個念頭的我,2014年研究生一畢業便選擇了一家三線城市的國企,做好了這輩子也就這樣的準備。

可大數據實在是太火了,領導一聽我學過Hadoop便兩眼放光,興沖沖的把我塞到了公司的大數據實驗室里,於是我開始在一個連不上網的環境里繼續折騰Hadoop,除了版本低一些、集群小一點之外和互聯網公司也沒什麼區別,一樣辛苦,一樣996。

後來我覺得這輩子可能是躲不開了大數據了,這樣干著也不是個事,不如索性堂堂正正的面對這個問題。

所以在2015年的時候,我又回到了杭州。

作為一個剛畢業的壯勞力,我很快就在一家不大不小的公司里找到了工作,生活開始變的很簡單,每天就是寫各種SQL,然後加著和大部分人差不多的班,業餘時間看看InfoQ上分享的大數據架構,憧憬著什麼時候能有一套自己的房子。雖然我很快就又一次確定了自己對大數據毫無興趣的事實,但不同的是我這次找到了堅持的力量,因為我結婚了,還要很多事情要做,而這都需要錢。

時間過的很快,我開始記不起年少時的模樣,在這種日復一日的工作之中,我的兒子出生了,這件事給平淡的生活增加了一絲樂趣,也給我那日漸稀疏的頭頂增加了一層壓力。

有一次在帶娃的間歇里,我坐在馬桶上刷手機,不經意間看到了阿里收購Flink的消息,裡邊講了Flink的種種神跡,我隨手便轉到了公司的群里,過了一會,主管回復說,有點意思,那誰誰你就負責研究研究看看吧。

我一邊在心裡說,得,手賤了,一邊快速在群里回復說「收到,沒問題」。

時間已經是2019年了,我還沒搞懂2014年發布的Flink,我被時代裹挾著向前,卻不知道要去哪裡。兒子正在長大,父母越來越老,我看著那些裁員的新聞,不敢想像未來。

但我必須強行充滿希望。

馬換了一次又一次,路愈趕越遠,再要回去已經來不及了,於是我只得繼續往前趕。朝霧早已在一片肅穆中消散凈盡,那花花世界就展現在我的面前。

借狄更斯的話,敬所有人都有遠大前程。(本文首發鈦媒體)

大數據計算引擎發展史

【鈦媒體作者介紹:郭華,微信kakuka1988】

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 鈦媒體APP 的精彩文章:

2019年了,為什麼手機銷售還是渠道為王?

TAG:鈦媒體APP |