Cassandra数据库:曾被Facebook抛弃 现正帮苹果壮大

据《连线》杂志报道,开源分布式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数据库,因为一家初创企业将会提供软件技术支持,埃利斯知道他必须行动起来。