据《连线》杂志报道,开源分布式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数据库中的数据。埃利斯说:“我们正尝试打造可驱动应用程序进化的数据库,而非没有必要的分析性数据库。”(风帆)