干貨:對(duì)硅谷和硅谷科技公司的十四問(wèn)

2015/02/02 10:21     

 

從硅谷公司哪家強(qiáng),到人人在議的泡沫問(wèn)題,大數(shù)據(jù)和人工智能如何結(jié)合?2015年的科技前瞻是怎樣一副圖景?來(lái)自硅谷的Coursera軟件工程師董飛將其近日在斯坦福公開(kāi)講座上的干貨和各種場(chǎng)合的問(wèn)答整理出來(lái)和大家分享。文中有他的一手從業(yè)經(jīng)驗(yàn),也有其對(duì)親身就職或深度研究過(guò)的一些公司具體分析,如Hadoop、Amazon、LinkedIn等。董飛的知乎頁(yè)面在這里,郵箱是dongfeiwww@gmail.com。

1、目前硅谷最火最有名的高科技創(chuàng)業(yè)公司都有哪些?

在硅谷大家非常熱情的談創(chuàng)業(yè)談機(jī)會(huì),我也通過(guò)自己的一些觀察和積累,看到了不少最近幾年涌現(xiàn)的熱門創(chuàng)業(yè)公司。我給大家一個(gè)列表,這個(gè)是華爾街網(wǎng)站的全世界創(chuàng)業(yè)公司融資規(guī)模評(píng)選。它本來(lái)的標(biāo)題是 billion startup club,我在去年國(guó)內(nèi)講座也分享過(guò),不到一年的時(shí)間,截至到 2015 年 1 月 17 日,現(xiàn)在的排名和規(guī)模已經(jīng)發(fā)生了很大的變化。

首先估值在 10 Billlon 的達(dá)到了 7 家,而一年前一家都沒(méi)有。第二;第一名是中國(guó)人家喻戶曉的小米;第三,前 20 名中,絕大多數(shù)(8 成在美國(guó),在加州,在硅谷,在舊金山?。┍热?Uber, Airbnb, Dropbox, Pinterest;第四,里面也有不少相似模式成功的,比如 Flipkart 就是印度市場(chǎng)的淘寶,Uber 與 Airbnb 都是共享經(jīng)濟(jì)的范疇。所以大家還是可以在移動(dòng) (Uber),大數(shù)據(jù)(Palantir),消費(fèi)級(jí)互聯(lián)網(wǎng),通訊 (Snapchat),支付 (Square),O2O App 里面尋找下大機(jī)會(huì)。這里面很多公司我都親自面試和感受過(guò)他們的環(huán)境。

2、有如此之多的高估值公司,是否意味著存在很大的泡沫?

看了那么多高估值公司,很多人都覺(jué)得非常瘋狂,這是不是很大泡沫了,泡沫是不是要破了,是很多人的疑問(wèn)。我認(rèn)為在硅谷這個(gè)充滿夢(mèng)想的地方,投資人鼓勵(lì)創(chuàng)業(yè)者大膽去做同樣也助長(zhǎng)了泡沫,很多項(xiàng)目在幾個(gè)月的時(shí)間就會(huì)估值翻 2,3 倍,如 Uber,Snapchat 上我也驚訝于他們的巨額融資規(guī)模。那么這張圖就是講“新興技術(shù)炒作”周期,把各類技術(shù)按照技術(shù)成熟度和期望值分類。

創(chuàng)新萌芽 Innovation Trigger”、“期望最頂點(diǎn) Peak ofInflated Expectation”、“下調(diào)預(yù)期至低點(diǎn) Trough of Disillusion”、“回歸理想 Slope ofEnlightenment”、“生產(chǎn)率平臺(tái) Plateau of Productivity”,越往左,技術(shù)約新潮,越處于概念階段;越往右,技術(shù)約成熟,約進(jìn)入商業(yè)化應(yīng)用,發(fā)揮出提高生產(chǎn)率的效果??v軸代表預(yù)期值,人們對(duì)于新技術(shù)通常會(huì)隨著認(rèn)識(shí)的深入,預(yù)期不斷升溫,伴之以媒體炒作而到達(dá)頂峰;隨之因技術(shù)瓶頸或其他原因,預(yù)期逐漸冷卻至低點(diǎn),但技術(shù)技術(shù)成熟后,期望又重新上升,重新積累用戶,然后就到了可持續(xù)增長(zhǎng)的健康軌道上來(lái)。

Gartner 公司每年發(fā)布技術(shù)趨勢(shì)炒作圖。今年和去年的圖對(duì)比顯示,物聯(lián)網(wǎng)、自動(dòng)駕駛汽車、消費(fèi)級(jí) 3D 打印、自然語(yǔ)言問(wèn)答等概念正在處于炒作的頂峰。而大數(shù)據(jù)已從頂峰滑落,NFC 和云計(jì)算接近谷底。

3、未來(lái),高科技創(chuàng)業(yè)的趨勢(shì)是什么?

我先提一個(gè)最近看的一部電影《Imitation Game》,講計(jì)算機(jī)邏輯的奠基者艾倫圖靈(計(jì)算機(jī)屆最高獎(jiǎng)以他命名)艱難的一生,他當(dāng)年為破譯德軍密碼制作了圖靈機(jī)為二戰(zhàn)勝利作出卓越貢獻(xiàn),挽回幾千萬(wàn)人的生命,可在那個(gè)時(shí)代因?yàn)橥詰俦慌谢瘜W(xué)閹割,自殺結(jié)束了短暫的 42 歲生命。他的一個(gè)偉大貢獻(xiàn)就是在人工智能的開(kāi)拓工作,他提出圖靈測(cè)試(Turing Test),測(cè)試某機(jī)器是否能表現(xiàn)出與人等價(jià)或無(wú)法區(qū)分的智能。

今天人工智能已經(jīng)有了很大進(jìn)步,從專家系統(tǒng)到基于統(tǒng)計(jì)的學(xué)習(xí),從支持向量機(jī)到神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí),每一步都帶領(lǐng)機(jī)器智能走向下一個(gè)階梯。

在 Google 資深科學(xué)家吳軍博士(數(shù)學(xué)之美,浪潮之巔作者),他提出當(dāng)前技術(shù)發(fā)展三個(gè)趨勢(shì),第一,云計(jì)算和和移動(dòng)互聯(lián)網(wǎng),這是正在進(jìn)行時(shí);第二,機(jī)器智能,現(xiàn)在開(kāi)始發(fā)生,但對(duì)社會(huì)的影響很多人還沒(méi)有意識(shí)到;第三,大數(shù)據(jù)和機(jī)器智能結(jié)合,這是未來(lái)時(shí),一定會(huì)發(fā)生,有公司在做,但還沒(méi)有太形成規(guī)模。他認(rèn)為未來(lái)機(jī)器會(huì)控制 98%的人,而現(xiàn)在我們就要做個(gè)選擇,怎么成為剩下的 2%?

4、為什么大數(shù)據(jù)和機(jī)器智能結(jié)合的未來(lái)一定會(huì)到來(lái)?

其實(shí)在工業(yè)革命之前(1820 年),世界人均 GDP 在 1800 年前的兩三千年里基本沒(méi)有變化,而從 1820 年到 2001 年的 180 年里,世界人均 GDP 從原來(lái)的 667 美元增長(zhǎng)到 6049 美元。由此足見(jiàn),工業(yè)革命帶來(lái)的收入增長(zhǎng)的確是翻天覆地的。這里面發(fā)生了什么,大家可以去思考一下。但人類的進(jìn)步并沒(méi)有停止或者說(shuō)穩(wěn)步增長(zhǎng),在發(fā)明了電力,電腦,互聯(lián)網(wǎng),移動(dòng)互聯(lián)網(wǎng),全球年 GDP 增長(zhǎng)從萬(wàn)分之 5 到 2%,信息也是在急劇增長(zhǎng),根據(jù)計(jì)算,最近兩年的信息量是之前 30 年的總和,最近 10 年是遠(yuǎn)超人類所有之前累計(jì)信息量之和。在計(jì)算機(jī)時(shí)代,有個(gè)著名的摩爾定律,就是說(shuō)同樣成本每隔 18 個(gè)月晶體管數(shù)量會(huì)翻倍,反過(guò)來(lái)同樣數(shù)量晶體管成本會(huì)減半,這個(gè)規(guī)律已經(jīng)很好的 match 了最近 30 年的發(fā)展,并且可以衍生到很多類似的領(lǐng)域:存儲(chǔ)、功耗、帶寬、像素。

馮諾伊曼是 20 世紀(jì)最重要的數(shù)學(xué)家之一,在現(xiàn)代計(jì)算機(jī)、博弈論和核武器等諸多領(lǐng)域內(nèi)有杰出建樹(shù)的最偉大的科學(xué)全才之一。他提出(技術(shù))將會(huì)逼近人類歷史上的某種本質(zhì)的奇點(diǎn),在那之后 全部人類行為都不可能以我們熟悉的面貌繼續(xù)存在。這就是著名的奇點(diǎn)理論。目前會(huì)越來(lái)越快指數(shù)性增長(zhǎng),美國(guó)未來(lái)學(xué)家 Ray Kurzweil 稱人類能夠在 2045 年實(shí)現(xiàn)數(shù)字化永生,他自己也創(chuàng)辦奇點(diǎn)大學(xué),相信隨著信息技術(shù)、無(wú)線網(wǎng)、生物、物理等領(lǐng)域的指數(shù)級(jí)增長(zhǎng),將在 2029 年實(shí)現(xiàn)人工智能,人的壽命也將會(huì)在未來(lái) 15 年得到大幅延長(zhǎng)。

5、國(guó)外值得關(guān)注的大數(shù)據(jù)公司都有哪些?國(guó)內(nèi)又有哪些?

這是 2014 年總結(jié)的 Big Data 公司列表,我們大致可以分成基礎(chǔ)架構(gòu)和應(yīng)用,而底層都是會(huì)用到一些通用技術(shù),如 Hadoop,Mahout,HBase,Cassandra,我在下面也會(huì)涵蓋。我可以舉幾個(gè)例子,在分析這一塊,cloudera,hortonworks,mapr 作為 Hadoop 的三劍客,一些運(yùn)維領(lǐng)域,mangodb,couchbase 都是 nosql 的代表,作為服務(wù)領(lǐng)域 AWS 和 Google BigQuery 劍拔弩張,在傳統(tǒng)數(shù)據(jù)庫(kù),Oracle 收購(gòu)了 MySQL,DB2 老牌銀行專用,Teradata 做了多年數(shù)據(jù)倉(cāng)庫(kù)。上面的 Apps 更多,比如社交消費(fèi)領(lǐng)域 Google, Amazon, Netflix, Twitter, 商業(yè)智能:SAP,GoodData,一些在廣告媒體領(lǐng)域:TURN,Rocketfuel,做智能運(yùn)維 sumologic 等等。去年的新星 Databricks 伴隨著 Spark 的浪潮震撼 Hadoop 的生態(tài)系統(tǒng)。

對(duì)于迅速成長(zhǎng)的中國(guó)市場(chǎng),大公司也意味著大數(shù)據(jù),BAT 三家都是對(duì)大數(shù)據(jù)的投入也是不惜余力。

我 5 年前在百度的時(shí)候,就提出框計(jì)算的東東,最近兩年他們成立了硅谷研究院,挖來(lái) Andrew Ng 作為首席科學(xué)家,研究項(xiàng)目就是百度大腦,在語(yǔ)音、圖片識(shí)別大幅提高精確度和召回率,最近還做了個(gè)無(wú)人自行車,非常有趣。騰訊作為最大的社交應(yīng)用對(duì)大數(shù)據(jù)也是情有獨(dú)鐘,自己研發(fā)了 C++ 平臺(tái)的海量存儲(chǔ)系統(tǒng)。淘寶去年雙十一主戰(zhàn)場(chǎng),2 分鐘突破 10 億,交易額突破 571 億,背后是有很多故事,當(dāng)年在百度做 Pyramid(按 Google 三輛馬車打造的金字塔三層分布式系統(tǒng))的有志之士,繼續(xù)在 OceanBase 創(chuàng)造神話。而阿里云當(dāng)年備受爭(zhēng)議,馬云也懷疑是不是被王堅(jiān)忽悠,最后經(jīng)歷了雙十一的洗禮證明了阿里云的靠譜。小米的雷軍對(duì)大數(shù)據(jù)也是寄托厚望,一方面這么多數(shù)據(jù)幾何級(jí)數(shù)增長(zhǎng),另一方面存儲(chǔ)帶寬都是巨大成本,沒(méi)價(jià)值就會(huì)破產(chǎn)。

 

6、Hadoop是現(xiàn)今最流行的大數(shù)據(jù)技術(shù),在它出現(xiàn)的當(dāng)時(shí),是什么造成了Hadoop的流行?當(dāng)時(shí)Hadoop具有哪些設(shè)計(jì)上的優(yōu)勢(shì)?

看 Hadoop 從哪里開(kāi)始的,不得不提 Google 的先進(jìn)性,在 10 多年前,Google 出了 3 篇 paper 論述分布式系統(tǒng)的做法,分別是 GFS, MapReduce, BigTable, 非常 NB 的系統(tǒng),但沒(méi)人見(jiàn)過(guò),在工業(yè)界很多人癢癢的就想按其思想去仿作,當(dāng)時(shí) Apache Nutch Lucene 的作者 Doug Cutting 也是其中之一,后來(lái)他們被 Yahoo 收購(gòu),專門成立 Team 去投入做,就是 Hadoop 的開(kāi)始和大規(guī)模發(fā)展的地方,之后隨著 Yahoo 的牛人去了 Facebook, Google, 也有成立了 Cloudera, Hortonworks 等大數(shù)據(jù)公司,把 Hadoop 的實(shí)踐帶到各個(gè)硅谷公司。而 Google 還沒(méi)有停止,又出了新的三輛馬車,Pregel, Caffeine, Dremel, 后來(lái)又有很多步入后塵,開(kāi)始新一輪開(kāi)源大戰(zhàn)。

為啥 Hadoop 就比較適合做大數(shù)據(jù)呢?首先擴(kuò)展很好,直接通過(guò)加節(jié)點(diǎn)就可以把系統(tǒng)能力提高,它有個(gè)重要思想是移動(dòng)計(jì)算而不是移動(dòng)數(shù)據(jù),因?yàn)閿?shù)據(jù)的移動(dòng)是很大的成本需要網(wǎng)絡(luò)帶寬。其次它提出的目標(biāo)就是利用廉價(jià)的普通計(jì)算機(jī)(硬盤),這樣雖然可能不穩(wěn)定(磁盤壞的幾率),但通過(guò)系統(tǒng)級(jí)別上的容錯(cuò)和冗余達(dá)到高可靠性。并且非常靈活,可以使用各種 data,二進(jìn)制,文檔型,記錄型。使用各種形式(結(jié)構(gòu)化,半結(jié)構(gòu)化,非結(jié)構(gòu)化所謂的 schemaless),在按需計(jì)算上也是個(gè)技巧。

7、圍繞在Hadoop周圍的有哪些公司和產(chǎn)品?

提到 Hadoop 一般不會(huì)說(shuō)某一個(gè)東西,而是指生態(tài)系統(tǒng),在這里面太多交互的組件了,涉及到 IO,處理,應(yīng)用,配置,工作流。在真正的工作中,當(dāng)幾個(gè)組件互相影響,你頭疼的維護(hù)才剛剛開(kāi)始。我也簡(jiǎn)單說(shuō)幾個(gè):Hadoop Core 就三個(gè) HDFS,MapReduce,Common,在外圍有 NoSQL: Cassandra, HBase, 有 Facebook 開(kāi)發(fā)的數(shù)據(jù)倉(cāng)庫(kù) Hive,有 Yahoo 主力研發(fā)的 Pig 工作流語(yǔ)言,有機(jī)器學(xué)習(xí)算法庫(kù) Mahout,工作流管理軟件 Oozie,在很多分布式系統(tǒng)選擇 Master 中扮演重要角色的 Zookeeper。

8、能否用普通人都能理解的方式解釋一下Hadoop的工作原理?

我們先說(shuō) HDFS,所謂 Hadoop 的分布式文件系統(tǒng),它是能真正做到高強(qiáng)度容錯(cuò)。并且根據(jù) locality 原理,對(duì)連續(xù)存儲(chǔ)做了優(yōu)化。簡(jiǎn)單說(shuō)就是分配大的數(shù)據(jù)塊,每次連續(xù)讀整數(shù)個(gè)。如果讓你自己來(lái)設(shè)計(jì)分布式文件系統(tǒng),在某機(jī)器掛掉還能正常訪問(wèn)該怎么做?首先需要有個(gè) master 作為目錄查找(就是 Namenode),那么數(shù)據(jù)節(jié)點(diǎn)是作為分割好一塊塊的,同一塊數(shù)據(jù)為了做備份不能放到同一個(gè)機(jī)器上,否則這臺(tái)機(jī)器掛了,你備份也同樣沒(méi)辦法找到。HDFS 用一種機(jī)架位感知的辦法,先把一份拷貝放入同機(jī)架上的機(jī)器,然后在拷貝一份到其他服務(wù)器,也許是不同數(shù)據(jù)中心的,這樣如果某個(gè)數(shù)據(jù)點(diǎn)壞了,就從另一個(gè)機(jī)架上調(diào)用,而同一個(gè)機(jī)架它們內(nèi)網(wǎng)連接是非??斓模绻莻€(gè)機(jī)器也壞了,只能從遠(yuǎn)程去獲取。這是一種辦法,現(xiàn)在還有基于 erasure code 本來(lái)是用在通信容錯(cuò)領(lǐng)域的辦法,可以節(jié)約空間又達(dá)到容錯(cuò)的目的,大家感興趣可以去查詢。

接著說(shuō) MapReduce,首先是個(gè)編程范式,它的思想是對(duì)批量處理的任務(wù),分成兩個(gè)階段,所謂的 Map 階段就是把數(shù)據(jù)生成 key, value pair, 再排序,中間有一步叫 shuffle,把同樣的 key 運(yùn)輸?shù)酵粋€(gè) reducer 上面去,而在 reducer 上,因?yàn)橥瑯?key 已經(jīng)確保在同一個(gè)上,就直接可以做聚合,算出一些 sum, 最后把結(jié)果輸出到 HDFS 上。對(duì)應(yīng)開(kāi)發(fā)者來(lái)說(shuō),你需要做的就是編寫(xiě) Map 和 reduce 函數(shù),像中間的排序和 shuffle 網(wǎng)絡(luò)傳輸,容錯(cuò)處理,框架已經(jīng)幫你做好了。

9、MapReduce模型本身也有一些問(wèn)題?

第一:需要寫(xiě)很多底層的代碼不夠高效,第二:所有的事情必須要轉(zhuǎn)化成兩個(gè)操作 Map/Reduce,這本身就很奇怪,也不能解決所有的情況。

10、Spark從何而來(lái)?Spark相比于Hadoop MapReduce設(shè)計(jì)上有什么樣的優(yōu)勢(shì)?

其實(shí) Spark 出現(xiàn)就是為了解決上面的問(wèn)題。先說(shuō)一些 Spark 的起源。發(fā)自 2010 年 Berkeley AMPLab,發(fā)表在 hotcloud 是一個(gè)從學(xué)術(shù)界到工業(yè)界的成功典范,也吸引了頂級(jí) VC:Andreessen Horowitz 的 注資. 在 2013 年,這些大牛(Berkeley 系主任,MIT 最年輕的助理教授)從 Berkeley AMPLab 出去成立了 Databricks,引無(wú)數(shù) Hadoop 大佬盡折腰,它是用函數(shù)式語(yǔ)言 Scala 編寫(xiě),Spark 簡(jiǎn)單說(shuō)就是內(nèi)存計(jì)算(包含迭代式計(jì)算,DAG 計(jì)算, 流式計(jì)算 )框架,之前 MapReduce 因效率低下大家經(jīng)常嘲笑,而 Spark 的出現(xiàn)讓大家很清新。 Reynod 作為 Spark 核心開(kāi)發(fā)者, 介紹 Spark 性能超 Hadoop 百倍,算法實(shí)現(xiàn)僅有其 1/10 或 1/100。在去年的 Sort benchmark 上,Spark 用了 23min 跑完了 100TB 的排序,刷新了之前 Hadoop 保持的世界紀(jì)錄。

11、如果想從事大數(shù)據(jù)方面的工作,是否可以推薦一些有效的學(xué)習(xí)方法?有哪些推薦的書(shū)籍?

我也有一些建議,首先還是打好基礎(chǔ),Hadoop 雖然是火熱,但它的基礎(chǔ)原理都是書(shū)本上很多年的積累,像算法導(dǎo)論,Unix 設(shè)計(jì)哲學(xué),數(shù)據(jù)庫(kù)原理,深入理解計(jì)算機(jī)原理,Java 設(shè)計(jì)模式,一些重量級(jí)的書(shū)可以參考。Hadoop 最經(jīng)典的 the definitive guide, 我在知乎上也有分享。

其次是選擇目標(biāo),如果你像做數(shù)據(jù)科學(xué)家,我可以推薦coursera的data science課程,通俗易懂。學(xué)習(xí) Hive,Pig 這些基本工具,如果做應(yīng)用層,主要是把 Hadoop 的一些工作流要熟悉,包括一些基本調(diào)優(yōu),如果是想做架構(gòu),除了能搭建集群,對(duì)各個(gè)基礎(chǔ)軟件服務(wù)很了解,還要理解計(jì)算機(jī)的瓶頸和負(fù)載管理,Linux 的一些性能工具。最后還是要多加練習(xí),大數(shù)據(jù)本身就是靠實(shí)踐的,你可以先按 API 寫(xiě)書(shū)上的例子,能夠先調(diào)試成功,在下面就是多積累,當(dāng)遇到相似的問(wèn)題能找到對(duì)應(yīng)的經(jīng)典模式,再進(jìn)一步就是實(shí)際問(wèn)題,也許周邊誰(shuí)也沒(méi)遇到,你需要些靈感和網(wǎng)上問(wèn)問(wèn)題的技巧,然后根據(jù)實(shí)際情況作出最佳選擇。

12、與大數(shù)據(jù)技術(shù)關(guān)系最緊密的就是云計(jì)算,您曾在Amazon 云計(jì)算部門工作過(guò),能否簡(jiǎn)單介紹一下亞馬遜的Redshift框架嗎?

我在 Amazon 云計(jì)算部門工作過(guò),所以還是比較了解 AWS,總體上成熟度很高,有大量 startup 是基于其開(kāi)發(fā),比如有名的 Netflix,Pinterest,Coursera。Amazon 還是不斷創(chuàng)新,每年召開(kāi) reInvent 大會(huì)推廣新的云產(chǎn)品和分享成功案例,在這里面我隨便說(shuō)幾個(gè):像 S3 是簡(jiǎn)單面向?qū)ο蟮拇鎯?chǔ),DynamoDB 是對(duì)關(guān)系型數(shù)據(jù)庫(kù)的補(bǔ)充,Glacier 對(duì)冷數(shù)據(jù)做歸檔處理,Elastic MapReduce 直接對(duì) MapReduce 做打包提供計(jì)算服務(wù),EC2 就是基礎(chǔ)的虛擬主機(jī),Data Pipeline 會(huì)提供圖形化界面直接串聯(lián)工作任務(wù)。

Redshift,它是一種(massively parallel computer)架構(gòu),是非常方便的數(shù)據(jù)倉(cāng)庫(kù)解決方案,就是 SQL 接口,跟各個(gè)云服務(wù)無(wú)縫連接,最大特點(diǎn)就是快,在 TB 到 PB 級(jí)別非常好的性能,我在工作中也是直接使用,它還支持不同的硬件平臺(tái),如果想速度更快,可以使用 SSD 的,當(dāng)然支持容量就小些。

13、Linkedin都采用了哪些大數(shù)據(jù)開(kāi)源技術(shù)?

在 Linkedin,有很多數(shù)據(jù)產(chǎn)品,比如 People you may like, job you may be interested, 你的用戶訪問(wèn)來(lái)源,甚至你的 career path 都可以挖掘出來(lái)。那么在 Linkedin 也是大量用到開(kāi)源技術(shù),我這里就說(shuō)一個(gè)最成功的 Kafka,它是一個(gè)分布式的消息隊(duì)列,可以用在 tracking,機(jī)器內(nèi)部 metrics,數(shù)據(jù)傳輸。數(shù)據(jù)在前端后端會(huì)經(jīng)過(guò)不同的存儲(chǔ)或者平臺(tái),每個(gè)平臺(tái)都有自己的格式,如果沒(méi)有一個(gè) unified log,會(huì)出現(xiàn)災(zāi)難型的 O(m*n) 的數(shù)據(jù)對(duì)接復(fù)雜度,如果你設(shè)定的格式一旦發(fā)生變化,也是要修改所有相關(guān)的。所以這里提出的中間橋梁就是 Kafka,大家約定用一個(gè)格式作為傳輸標(biāo)準(zhǔn),然后在接受端可以任意定制你想要的數(shù)據(jù)源(topics), 最后實(shí)現(xiàn)的線性的 O(m+n) 的復(fù)雜度。對(duì)應(yīng)的設(shè)計(jì)細(xì)節(jié),還是要參考設(shè)計(jì)文檔。這里面主要作者 Jay Kreps,Rao Jun 出來(lái)成立了 Kafka 作為獨(dú)立發(fā)展的公司。

在 Linkedin,Hadoop 作為批處理的主力,大量應(yīng)用在各個(gè)產(chǎn)品線上,比如廣告組。我們一方面需要去做一些靈活的查詢分析廣告主的匹配,廣告預(yù)測(cè)和實(shí)際效果,另外在報(bào)表生成方面也是 Hadoop 作為支持。如果你想去面試 Linkedin 后端組,我建議大家去把 Hive, Pig, Azkaban(數(shù)據(jù)流的管理軟件),Avro 數(shù)據(jù)定義格式,Kafka,Voldemort 都去看一些設(shè)計(jì)理念,Linkedin 有專門的開(kāi)源社區(qū),也是 build 自己的技術(shù)品牌。

14、談一談Coursera在大數(shù)據(jù)架構(gòu)方面和其他硅谷創(chuàng)業(yè)公司相比有什么特點(diǎn)?是什么原因和技術(shù)取向造成了這些特點(diǎn)?

Coursera 是一個(gè)有使命驅(qū)動(dòng)的公司,大家不是為了追求技術(shù)的極致,而是為了服務(wù)好老師,同學(xué),解決他們的痛點(diǎn),分享他們的成功。這點(diǎn)是跟其他技術(shù)公司最大的區(qū)別。從一方面來(lái)說(shuō),現(xiàn)在還是早期積累階段,大規(guī)模計(jì)算還沒(méi)有來(lái)臨,我們只有積極學(xué)習(xí),適應(yīng)變化才能保持創(chuàng)業(yè)公司的高速成長(zhǎng)。

Coursera 作為創(chuàng)業(yè)公司,非常想保持敏捷和高效。從技術(shù)上來(lái)說(shuō),所有的都是在基于 AWS 開(kāi)發(fā),可以想像隨意啟動(dòng)云端服務(wù),做一些實(shí)驗(yàn)。我們大致分成產(chǎn)品組,架構(gòu)組,和數(shù)據(jù)分析組。我把所有用到的開(kāi)發(fā)技術(shù)都列在上面。因?yàn)楣颈容^新,所以沒(méi)有什么歷史遺留遷移的問(wèn)題。大家大膽的使用 Scala 作為主要編程語(yǔ)言,采用 Python 作為腳本控制,比如產(chǎn)品組就是提供的課程產(chǎn)品,里面大量使用 Play Framework,Javascript 的 backbone 作為控制中樞。而架構(gòu)組主要是維護(hù)底層存儲(chǔ),通用服務(wù),性能和穩(wěn)定性。

我在的數(shù)據(jù)組由 10 多人構(gòu)成,一部分是對(duì)商業(yè)產(chǎn)品,核心增長(zhǎng)指標(biāo)做監(jiān)控,挖掘和改進(jìn)。一部分是搭建數(shù)據(jù)倉(cāng)庫(kù)完善跟各個(gè)部門的無(wú)縫數(shù)據(jù)流動(dòng),也用到很多技術(shù)例如使用 Scalding 編寫(xiě) Hadoop MapReduce 程序,也有人做 AB testing 框架, 推薦系統(tǒng),盡可能用最少人力做影響力的事情。其實(shí)除了開(kāi)源世界,我們也積極使用第三方的產(chǎn)品,比如 sumologic 做日志錯(cuò)誤分析,Redshift 作為大數(shù)據(jù)分析平臺(tái),Slack 做內(nèi)部通訊。而所有的這些就是想解放生產(chǎn)力,把重心放到用戶體驗(yàn),產(chǎn)品開(kāi)發(fā)和迭代上去。

相關(guān)閱讀