ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Apache CouchDB的前世今生

Apache CouchDB的前世今生

原创 Linux操作系统 作者:jieforest 时间:2012-12-07 14:27:53 0 删除 编辑
在追溯NoSQL运动的源头时,大多数互联网人士都会想到谷歌和亚马逊。

随着自身网络服务日益取得巨大而成功的增长,谷歌和亚马逊需要新的方法来存储不断增加的服务器所带来的数量庞大的数据,于是两家公司都为此而创造了一个新的软件平台——谷歌构建了BigTable平台,而亚马逊则构建了Dynamo平台。在这两家互联网巨头发布研究论文来描述其各自的数据存储平台以后,其他许多公司也都寻求进行复制。

其结果是,一支NoSQL(非关系型数据库)“大军”就此产生,这种数据库是专为在数千台服务器之间运作而设计的。这些新时代的软件平台——包括Cassandra、HBase和Riak等——对数据库市场进行了改造,不仅有助于Facebook和Twitter等诸多互联网巨头的运作,同时也涵盖了更多的传统业务。

“如果你看看市场上所有的NoSQL解决方案,那么就会发现每一种解决方案都能追溯至亚马逊Dynamo论文或谷歌BigTable论文。”云计算公司Joyent首席技术官贾森?霍夫曼(Jason Hoffman)说道。“如果谷歌或是亚马逊没人曾写过一份学术报告(来描述NoSQL平台)的话,那么今天的世界将会是个什么样子呢?”

好吧,如果真是那样,那么世界还将拥有另一种最古老的NoSQL数据库之一,那就是CouchDB。CouchDB的创造者达米安?卡茨(Damian Katz)并未受到谷歌、亚马逊或是其他任何网络巨头的启发,而是受到了在线协作平台Lotus Notes的启发,这个平台最初是在二十世纪七十年代和八十年代开发的。

虽然Lotus Notes以身为一个电子邮件系统而闻名于世,但事实上它并非只是个电邮系统,同时还是构建依赖于数据库的应用的基础——换句话说,是有组织的信息集合。 通过使用Lotus Notes这个平台,企业能构建从开支申报应用到IT帮助桌面工具等所有东西。卡茨就是构建这种应用的人之一,他从1995年开始就为Lotus开发 Notes应用。他表示,即使是在那时,这个平台也已经展示出一些特性,而正是这些特性让今天的NoSQL数据库取得了如此之大的成功。

正如其他NoSQL后继者一样,Lotus Notes也同样来自于关系数据库的“领地”。关系数据库是建立在关系数据库模型基础上的传统数据库,借助于集合代数等概念和方法来处理数据库中的数据。 “那是一个复杂的系统,能通过关系数据库让原本难以做到的事情变得简单。”卡茨说道。

从很多方面来说,卡茨的故事都有助于帮助解释NoSQL运动的兴起——以及为何这种数据库与以往的数据库存在如此巨大的差异。虽然这场运动毫无疑问是取得了成功,但NoSQL数据库的概念仍旧很难确定下来——“NoSQL意味着如此之多且各有不同的事情,要看你正在讨论什么而定。”谷歌杰出工程师安德鲁?菲克斯(Andrew Fikes)最近曾这样对我们说道——在整个科技行业中,还有很多人尚未把握到这些新数据库的重要性。

“NoSQL” 其实该算是用词不当,因为NoSQL数据库并不是为了摒弃SQL(Structured Query Language,结构化查询语言,这是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名);更好的名称本来应该是“non-relational database”(非关系型数据库)。NoSQL数据库不使用为关系数据库提供支撑的整齐数据图表。

NoSQL数据库拥有两种基本特性:首先,这种数据库能在许多服务器之间延展——允许用户在必要时候扩大运算,甚至是在不同的地理位置之间也可以——其次,这种数据库能给用户带来按自己喜欢的方式架构数据的自由度,正是这第二个特性与Lotus Notes非常相似。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/301743/viewspace-750743/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-23

  • 博文量
    441
  • 访问量
    602336