《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > Facebook為何被稱為算法的變革者

Facebook為何被稱為算法的變革者

2019-03-05
關(guān)鍵詞: Facebook 服務(wù)器 瀏覽器 硬件

在過去的15年中,Facebook改變了朋友之間的溝通方式、處理家人關(guān)系、人們看待隱私的觀點,以及我們?nèi)绾卫斫鈦碜远砹_斯的資訊,這些改變并非總是朝著更好的方向。Facebook也改變了計算方式。從Netflix到Uber再到Walmart的網(wǎng)站,我們每日使用的許多APP和服務(wù)都是利用Facebook率先開發(fā)并與全世界共享的技術(shù)構(gòu)建的。

隨著公司發(fā)展到服務(wù)數(shù)百萬、甚至數(shù)十億用戶時,F(xiàn)acebook創(chuàng)建了一系列的工具,從能夠處理大量用戶信息的數(shù)據(jù)存儲軟件到托管這些數(shù)據(jù)庫的數(shù)據(jù)中心的硬件規(guī)劃。最近,F(xiàn)acebook開發(fā)了為其網(wǎng)頁端和移動APP構(gòu)建界面的新方法。至關(guān)重要的是,F(xiàn)acebook沒有將這些創(chuàng)新保密,而是發(fā)布了大量的開源項目,這意味著其他任何人都可以使用、修改和分享Facebook的發(fā)明成果。

“多年以來,F(xiàn)acebook一直是開源的驅(qū)動力,與廣大開源社區(qū)共享諸多關(guān)鍵技術(shù),”Linux基金會執(zhí)行董事Jim Zemlin這樣說。該基金會擁有一個致力于服務(wù)GraphQL的組織,GraphQL是一種由Facebook創(chuàng)建的編程語言,用于處理當(dāng)前許多其他公司使用的APP和服務(wù)器之間的通信。

由于Facebook的開放性,其許多技術(shù)已成為行業(yè)標(biāo)準(zhǔn)。“Facebook不僅在我們構(gòu)建服務(wù)器的方式上發(fā)揮了巨大的作用,而且在我們?yōu)榫W(wǎng)頁瀏覽器和手機(jī)編寫代碼方面發(fā)揮了巨大作用,”Airbnb的技術(shù)負(fù)責(zé)人Adam Neary說。“整個生態(tài)系統(tǒng)都是由Facebook開創(chuàng)并隨后開源的技術(shù)推動的。”

1549960801637098933.png

大數(shù)據(jù)的誕生

Facebook對大型計算社區(qū)的首批重大貢獻(xiàn)之一是Cassandra,這是一個可以擴(kuò)展到數(shù)百或數(shù)千臺服務(wù)器的數(shù)據(jù)庫系統(tǒng)。

Facebook并不是第一家組建這樣一個數(shù)據(jù)庫的公司。亞馬遜和谷歌都發(fā)表了詳細(xì)介紹他們自己的分布式數(shù)據(jù)庫創(chuàng)新的論文,但兩家公司都沒有真正發(fā)布這些內(nèi)部應(yīng)用程序的代碼。Facebook工程師Avinash Lakshman曾參與過亞馬遜的論文,而Prashant Malik則將亞馬遜和谷歌的論文結(jié)合起來創(chuàng)建了Cassandra。然后,在2008年,他們發(fā)布了代碼。很快這部分代碼被其他公司采用,例如云計算公司Rackspace。

“他們不僅復(fù)制了谷歌和亞馬遜的創(chuàng)新,他們還做了不同的事情,”Jonathan Ellis說道,他在Rackspace工作時曾經(jīng)大量使用Cassandra,并在2010年參與DataStax的創(chuàng)立,DataStax是一家為企業(yè)客戶提供Cassandra支持的公司。

根據(jù)網(wǎng)站DB-Engines的說法,如今Cassandra是世界上第11個最受歡迎的數(shù)據(jù)庫。蘋果、Netflix、Instagram和Uber都采用該技術(shù)并且為之作出持續(xù)的貢獻(xiàn)。

Facebook也是開源數(shù)據(jù)處理平臺Hadoop的早期貢獻(xiàn)者,Hadoop幾乎成了大數(shù)據(jù)的代名詞。Hadoop的早期開發(fā)大部分是基于Google發(fā)布的論文,由雅虎完成。但Facebook是雅虎以外首批采用Hadoop并為該平臺貢獻(xiàn)附加工具的公司之一。Hadoop催生了多家創(chuàng)業(yè)公司,如Cloudera,由前Facebook研究科學(xué)家Jeff Hammerbacher參與創(chuàng)立。

Facebook近年來在人工智能研究方面投入了大量資金,以便更多地利用其數(shù)據(jù),并且已經(jīng)發(fā)布了一些相關(guān)成果。2015年,F(xiàn)acebook開放了一些人工智能算法的實現(xiàn)方式,用于當(dāng)下很流行的人工智能平臺Torch,比谷歌開放其AI引擎TensorFlow還要早一年。據(jù)數(shù)據(jù)科學(xué)家杰夫·黑爾(Jeff Hale)的一項分析顯示,F(xiàn)acebook還為Torch的改版PyTorch提供資金,PyTorch現(xiàn)在是第三大最受歡迎的人工智能框架。

開放數(shù)據(jù)中心

Facebook構(gòu)建可以處理數(shù)百萬級用戶的軟件是不夠的。Facebook還不得不設(shè)計計算機(jī)和建筑物來容納和管理所有數(shù)據(jù)。

在此過程中,F(xiàn)acebook提出了一些不尋常的想法,從使用外部空氣冷卻而不是工業(yè)冷卻系統(tǒng)的“露天”數(shù)據(jù)中心到“模塊化”服務(wù)器,實現(xiàn)快速更換處理器和其他組件。

Facebook發(fā)布了所有這些設(shè)計方案作為“開放計算項目”的一部分,該項目現(xiàn)在是一個獨立的組織。Facebook在2011年宣布“開放計算”時受到質(zhì)疑。盡管開源軟件已經(jīng)很好地建立起來,但目前還不清楚Facebook的奇思妙想是否對其他公司有用。很快,像臺灣公司廣達(dá)電腦這樣的供應(yīng)商就開始銷售基于Facebook設(shè)計的電腦,包括Rackspace,微軟和蘋果在內(nèi)的其他公司也為這項計劃貢獻(xiàn)了硬件方面的設(shè)計。

如今,F(xiàn)acebook正在與愛立信和德國電信等電信公司合作開展電信基礎(chǔ)設(shè)施項目,以幫助他們建立新的開源電信基礎(chǔ)設(shè)施,包括一個名為ARIES的遠(yuǎn)程天線系統(tǒng)和一個名為Terragraph的無線連接無線電塔的系統(tǒng)。

完成拼圖

在其第一個十年的大部分時間里,F(xiàn)acebook最廣泛使用開源貢獻(xiàn)的是這些幕后的基礎(chǔ)設(shè)施。Netflix可能使用Cassandra來管理你在數(shù)據(jù)中心的信息,但這并不意味著你將在其網(wǎng)站上與Facebook的代碼進(jìn)行交互。這種情況在2013年開始發(fā)生變化,當(dāng)時Facebook發(fā)布了React,這是一個開放源代碼的“庫”,F(xiàn)acebook和現(xiàn)在許多其他公司用其來構(gòu)建看起來像原生APP的Web界面。

React過了一段時間才流行起來,但近年來它已成為構(gòu)建“前端”應(yīng)用程序最流行的庫,超越了Google框架的Angular。Airbnb、Netflix和Walmart都使用React。

編程教學(xué)網(wǎng)站FreeCodeCamp的創(chuàng)始人Quincy Larson表示:“在2015年,我突然發(fā)現(xiàn)在舊金山的朋友們開始放棄像jQuery和Angular這樣的工具,毅然決然地改成使用React?!?/p>

這可能與2015年React Native的發(fā)布有關(guān)。React Native使開發(fā)人員能夠使用React為Android和iOS開發(fā)原生APP,這意味著他們可以為Web和移動應(yīng)用程序使用相同的代碼。

Facebook并不是第一個提供使用Web技術(shù)構(gòu)建移動APP工具的公司,也不是第一個提供用于構(gòu)建Web應(yīng)用程序開源庫工具的公司。但咨詢公司Rightpoint的首席創(chuàng)新官Greg Raiz表示,將這兩種想法結(jié)合起來是巨大的成果?!拔艺J(rèn)為這樣故事就完整了,”他說。“這一步完成了整個拼圖?!?/p>


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。