據(jù)《連線》雜志報道,開源分布式NoSQL數(shù)據(jù)庫系統(tǒng)Cassandra最初由Facebook開發(fā),后又被其HBase數(shù)據(jù)庫取代而遭拋棄??墒乾F(xiàn)在,Cassandra已經(jīng)成為諸多網(wǎng)絡(luò)巨頭關(guān)鍵的網(wǎng)絡(luò)基礎(chǔ)之一,正幫助蘋果等公司發(fā)展壯大。
順勢而起
馬特·法伊爾(Matt Pfeil)開車從奧斯汀前往圣安東尼奧的一路上,腦子里只想著一件事:阻止喬納森·埃利斯(Jonathan Ellis)從云計算公司Rackspace辭職。此前,埃利斯曾給包括法伊爾在內(nèi)的同事發(fā)郵件,宣稱他將離開Rackspace,創(chuàng)建一家以Cassandra為核心的新公司。
Cassandra是一套開源分布式NoSQL數(shù)據(jù)庫系統(tǒng),最初由社交網(wǎng)站Facebook開發(fā),幫助應付后者產(chǎn)生的大量數(shù)字信息。法伊爾曾在Rackspace公司接觸過Cassandra,因此他知道這套系統(tǒng)的價值。但法伊爾不希望Rackspace失去埃利斯。在不寫代碼時,法伊爾還幫助公司招募志同道合之人,因此他非常不想看到埃利斯離開。
法伊爾與埃利斯在圣安東尼奧的泰國小餐館見面吃午餐,他提出埃利斯不應該辭職的一大串理由。但很快,他此來的初衷就被改變。當法伊爾指出,埃利斯還沒有找到可以運營初創(chuàng)企業(yè)業(yè)務的人才時,埃利斯立刻邀請他加入新公司。法伊爾回憶說:“當埃利斯邀請我時,我開始思考自己想要什么樣的生活。我才20多歲,還沒有組建家庭,這正是創(chuàng)業(yè)的最佳時機。盡管但是我沒有立即答應,但心中已埋下種子。”
不久后,甚至就連Rackspace也加入進來。這家公司不僅為法伊爾和埃利斯新的冒險發(fā)出祝福,甚至還為他們提供啟動資金。Rackspace已經(jīng)初見Cassandra展示出的強大威力,因為至少其2名重要員工對其信心十足。Rackspace也知道,隨著網(wǎng)絡(luò)數(shù)據(jù)數(shù)量的日益龐大,處理起來將越來越困難復雜,而Cassandra的作用將逐漸顯現(xiàn)出來。4年以后,埃利斯等人的冒險終于獲得豐厚回報。
回報豐厚
今天,埃利斯與法伊爾的初創(chuàng)企業(yè)DataStax已經(jīng)成了眾多重塑數(shù)百萬數(shù)據(jù)庫市場的眾多公司之一,軟件業(yè)巨頭甲骨文也正逐漸放松對這個市場的控制。與甲骨文的傳統(tǒng)數(shù)據(jù)庫不同,Cassandra等數(shù)據(jù)庫系統(tǒng)專被設(shè)計用于在機器集群中運行,可同時處理大量數(shù)據(jù),而這正是現(xiàn)代世界所需要的。
盡管Facebook已經(jīng)全部放棄Cassandra,但這種技術(shù)已經(jīng)成為諸多網(wǎng)絡(luò)巨頭最關(guān)鍵的網(wǎng)絡(luò)基礎(chǔ)之一,比如Twitter、Netflix,甚至包括蘋果公司。DataStax也為其他各種行業(yè)建立了不同版本的Cassandra工具。DataStax已經(jīng)籌資8400萬美元,目前有員工300多人,正準備IPO。埃利斯稱,他們已經(jīng)有500多家客戶,包括“財富100強”中的25家大公司。
誕生之旅
Facebook工程師阿維納什·拉克希曼(Avinash Lakshman)與普拉杉特·馬利克(Prashant Malik)是Cassandra的最早建立者,其目的是幫助用戶在社交網(wǎng)絡(luò)上搜尋你的收件箱。如同其他的NoSQL數(shù)據(jù)庫一樣,Cassandra廢除了傳統(tǒng)關(guān)系模型(即將數(shù)據(jù)在單臺機器上整齊地排成行與列),其主要特點就是它不再是一個數(shù)據(jù)庫,而是由一堆數(shù)據(jù)庫節(jié)點共同構(gòu)成的一個分布式網(wǎng)絡(luò)服務。對于日益擴大的Facebook來說,這種功能非常重要。
拉克斯曼曾為亞馬遜研究分布式數(shù)據(jù)儲存系統(tǒng)Dynamo,但是他與馬利克也從谷歌2006年出版的書中獲得靈感,這本書專門介紹谷歌的網(wǎng)絡(luò)數(shù)據(jù)庫BigTable。Facebook及其創(chuàng)始人馬克·扎克伯格(Mark Zuckerberg)決定于2008年夏為Cassandra開源,與CouchDB和MongoDB等其他數(shù)據(jù)庫一起,拉開了當前宏大的NoSQL運動序幕。
就在這一年,Rackspace雇傭了埃利斯,請其對下一代數(shù)據(jù)庫進行評估。當時,埃利斯幾乎測試了所有可以找到的NoSQL數(shù)據(jù)庫,他稱Cassandra表現(xiàn)最棒。埃利斯說:“Facebook為Cassandra開源,但沒有繼續(xù)推動它向前發(fā)展,可是其技術(shù)基礎(chǔ)依舊領(lǐng)先于任何人。”
Facebook沒有圍繞Cassandra建立一個用戶群體,Cassandra既代表著責任,也代表著機遇。埃利斯可以整合開源計劃以滿足Rackspace的需要,即建立和引導用戶群。但是直到2010年,埃利斯才有了創(chuàng)建自己的Cassandra公司的想法。Cassandra已經(jīng)獲得Facebook和Rackspace之外的關(guān)注,當另一家公司的一名工程師告訴埃利斯,該公司已經(jīng)決定利用NoSQL數(shù)據(jù)庫,因為一家初創(chuàng)企業(yè)將會提供軟件技術(shù)支持,埃利斯知道他必須行動起來。