Cassandra曾被Facebook拋棄,現正幫蘋果壯大

發表於2022-11-27

據《連線》雜誌報導,開源分散式NoSQL資料庫系統Cassandra最初由Facebook開發,後又被其HBase資料庫取代而遭拋棄。可是現在,Cassandra已經成為諸多網路巨頭關鍵的網路基礎之一,正幫助蘋果等公司發展壯大。

順勢而起

馬特·法伊爾(Matt Pfeil)開車從奧斯汀前往聖安東尼奧的一路上,腦子裡只想著一件事:阻止喬納森·埃利斯(Jonathan Ellis)從雲端計算公司Rackspace辭職。此前,埃利斯曾給包括法伊爾在內的同事發郵件,宣稱他將離開Rackspace,建立一家以Cassandra為核心的新公司。

Cassandra是一套開源分散式NoSQL資料庫系統,最初由社交網站Facebook開發,幫助應付後者產生的大量數字資訊。法伊爾曾在Rackspace公司接觸過Cassandra,因此他知道這套系統的價值。但法伊爾不希望Rackspace失去埃利斯。在不寫程式碼時,法伊爾還幫助公司招募志同道合之人,因此他非常不想看到埃利斯離開。

法伊爾與埃利斯在聖安東尼奧的泰國小餐館見面吃午餐,他提出埃利斯不應該辭職的一大串理由。但很快,他此來的初衷就被改變。當法伊爾指出,埃利斯還沒有找到可以運營初創企業業務的人才時,埃利斯立刻邀請他加入新公司。法伊爾回憶說:“當埃利斯邀請我時,我開始思考自己想要什麼樣的生活。我才20多歲,還沒有組建家庭,這正是創業的最佳時機。儘管但是我沒有立即答應,但心中已埋下種子。”

不久後,甚至就連Rackspace也加入進來。這家公司不僅為法伊爾和埃利斯新的冒險發出祝福,甚至還為他們提供啟動資金。Rackspace已經初見Cassandra展示出的強大威力,因為至少其2名重要員工對其信心十足。Rackspace也知道,隨著網路資料數量的日益龐大,處理起來將越來越困難複雜,而Cassandra的作用將逐漸顯現出來。4年以後,埃利斯等人的冒險終於獲得豐厚回報。

回報豐厚

今天,埃利斯與法伊爾的初創企業DataStax已經成了眾多重塑數百萬資料庫市場的眾多公司之一,軟體業巨頭甲骨文也正逐漸放鬆對這個市場的控制。與甲骨文的傳統資料庫不同,Cassandra等資料庫系統專被設計用於在機器叢集中執行,可同時處理大量資料,而這正是現代世界所需要的。

儘管Facebook已經全部放棄Cassandra,但這種技術已經成為諸多網路巨頭最關鍵的網路基礎之一,比如Twitter、Netflix,甚至包括蘋果公司。DataStax也為其他各種行業建立了不同版本的Cassandra工具。DataStax已經籌資8400萬美元,目前有員工300多人,正準備IPO。埃利斯稱,他們已經有500多家客戶,包括“財富100強”中的25家大公司。

誕生之旅

Facebook工程師阿維納什·拉克希曼(Avinash Lakshman)與普拉杉特·馬利克(Prashant Malik)是Cassandra的最早建立者,其目的是幫助使用者在社交網路上搜尋你的收件箱。如同其他的NoSQL資料庫一樣,Cassandra廢除了傳統關係模型(即將資料在單臺機器上整齊地排成行與列),其主要特點就是它不再是一個資料庫,而是由一堆資料庫節點共同構成的一個分散式網路服務。對於日益擴大的Facebook來說,這種功能非常重要。

拉克斯曼曾為亞馬遜研究分散式資料儲存系統Dynamo,但是他與馬利克也從谷歌(微博)2006年出版的書中獲得靈感,這本書專門介紹谷歌的網路資料庫BigTable。Facebook及其創始人馬克·祖克伯(Mark Zuckerberg)決定於2008年夏為Cassandra開源,與CouchDB和MongoDB等其他資料庫一起,拉開了當前宏大的NoSQL運動序幕。

就在這一年,Rackspace僱傭了埃利斯,請其對下一代資料庫進行評估。當時,埃利斯幾乎測試了所有可以找到的NoSQL資料庫,他稱Cassandra表現最棒。埃利斯說:“Facebook為Cassandra開源,但沒有繼續推動它向前發展,可是其技術基礎依舊領先於任何人。”

Facebook沒有圍繞Cassandra建立一個使用者群體,Cassandra既代表著責任,也代表著機遇。埃利斯可以整合開源計劃以滿足Rackspace的需要,即建立和引導使用者群。但是直到2010年,埃利斯才有了建立自己的Cassandra公司的想法。Cassandra已經獲得Facebook和Rackspace之外的關注,當另一家公司的一名工程師告訴埃利斯,該公司已經決定利用NoSQL資料庫,因為一家初創企業將會提供軟體技術支援,埃利斯知道他必須行動起來。

堅持前進

即使Cassandra在默默成長,但最初的熱情也在消退。今天,已經有許多NoSQL資料庫與其競爭。當Facebook決定利用Hbase取代Cassandra時,後者的榮光再受重創。即使NoSQL的激情消退, 但Cassandra依然堅持前進,並繼續沿途尋找新的使用者。據奧地利諮詢公司Solid IT彙編的資料顯示, Cassandra是世界上第二受歡迎的NoSQL資料庫,僅次於MongoDB,也是世界上增長速度第三快的資料庫系統。

DataStax在此過程中貢獻良多,包括為Cassandra提供名為DataStax Enterprise的專有服務和支援。埃利斯說:“許多公司的時間比資金更充裕,因此它們可以利用開源Cassandra,並提供反饋。但是其他公司更希望選擇以金錢換時間,它們付錢購買企業版本的資料庫。就我個人而言,儘管銷售團隊會有歧義,但我很高興與來自其他陣營的人合作。”

隨著Cassandra使用者群的持續擴大,越來越多的公司開始支援其開發。蘋果現在已經是這一專案的第二大貢獻者,儘管其對於如何使用這種資料依然庫閉口不言。埃利斯沒有證實蘋果是否是DataStax的客戶,但3名蘋果工程師正準備參加9月份一年一度的Cassandra峰會。Cassandra甚至已經找到迴歸Facebook的路,這要感謝後者併購了Instagram,Instagram是Cassandra的忠實使用者。

角逐未來

科技界的發展已經達到了一個瓶頸,一家公司開發的資料庫產品將不可能再主導整個市場。現在,有許多儲存和處理資料的方法。但從2008年以來,大資料的前景始終在進化。谷歌公佈諸多新工具,比如Dremel(可以極速速度查詢資料)、Spanner(受Cassandra啟發開發的資料庫)。

開源客戶群體正試圖保持這些優勢。MapR2012年開始建造Dremel的複製版本Drill,名為Databricks的初創企業已開發一款分析系統Spark,雅虎正在使用。近來,一群前谷歌工程師開始建造Spanner的克隆版CockroachDB。

埃利斯說,對於Cassandra和DataStax來說,當前的戰略是確保其技術能與其他新技術相容。比如,DataStax近來為Spark推出一款聯結器,能讓軟體設計師更輕鬆地使用Spark去分析儲存在Cassandra資料庫中的資料。埃利斯說:“我們正嘗試打造可驅動應用程式進化的資料庫,而非沒有必要的分析性資料庫。”(風帆)

相關文章