返回 登录
0

Apache CouchDB 2.0发布:支持集群,新的查询语言和新的管理界面

阅读10309

Apache CouchDB开发社区很高兴地向大家宣布,我们的2.0版本发布了!

查看官方发布日志

CouchDB 2.0与1.x版本的兼容性高达99%,之前旧版本的大多数app都能正常工作。

集群

CouchDB 2.0最大的新特性就是对集群的原生支持。它的实现基于Dynamo paper,并整合了Cloudant和IBM在BigCouch项目中的工作。

简言之,集群意味着你可以在同一个数据中心中使用多台计算机或虚拟机,让他们的表现如同只有一个CouchDB实例一样。优点主要有三:

  1. 容错:数据不仅仅保存在一台电脑上。CouchDB 2.0集群不需要自己配置CouchDB失效备缓的实例。
  2. 性能:数据在一个集群的每个实例中只保存一小部分。这意味着,相比于单个节点,每个节点只有一小部分工作(比如计算索引)。
  3. 容量:随着可以在多台计算机上存储数据,又将数据分散到多个节点,相比于单台计算机,存储能力扩大了上百倍,使得在CouchDB中存储大数据成为可能。

你可以控制集群的任何属性,适用于任何项目。

注意:如果你对上面的东西都没兴趣,CouchDB 2.0也可以配置成“单一节点”的集群。

对于集群技术的更多技术细节,可以查看这篇CouchDB 2.0架构

简易查询

第二个新特性是支持说明式的查询语言“Mango”。相比现在基于JavaScript的Views,Mango更快,更简单。当然,现在的JavaScript Views仍然可以继续工作。

关于Mango的更多信息,可以查看这篇Mango 查询博客

新的管理接口

CouchDB 2.0带来了全新的管理接口(代号“Fauxton”),使用React.js构建。它使用现代化设计,现今的特性,代码非常容易扩展。

更多信息,查看Fauxton,CouchDB的新控制台

性能

压缩和复制有了显著的性能提升,不仅在CouchDB实例之间的操作有了提速,连和PouchDB、Couchbase Lite之间的操作都有了很大提升。

现在压缩可以在任何时间执行,允许中断。I/O队列系统保证实时的查询效率不会因为压缩而降低。

另外,压缩进程更短了,使用更少的CPU和RAM资源,压缩出的文件更小。

更多信息可以参考Feature:ReplicationFeature: Compaction

新的Logo

CouchDB 2.0更换了全新的Logo,由Constantin Angheloui设计。网站、文档和其它材料都更新了,更多细节详见the CouchDB 2.0 branding guide

更多信息

更多细节信息,请见2.0系列博客

下载

Apache CouchDB 2.0官方下载链接:http://couchdb.apache.org/#download.


讨论

fiatjaf说:作为一个低调的开发者,我已经使用CouchDB很长时间了,几周前我写了一篇有关CouchDB的文章:http://fiatjaf.on.flowi.es/about-couchdb/

SEJeff说既然是一个新集群,没有看到Jepsen测试,非常遗憾。前几天cockroachdb的家伙都写了一个:https://www.cockroachlabs.com/blog/diy-jepsen-testing-cockroachdb/。非常易读 :)

drhayes9说:我很喜欢CouchDB,并且好奇大家都想拿它来做什么?日志记录包是我首先想到的东西,事实上,这也是( http://docs.couchdb.org/en/2.0.0/intro/why.html)这个列表中的一个idea。不过用数据库记录还是用文件记录的争议还很多。

qwertyuiop924说我感到非常激动,看起来有很多新的、有趣的、实用的新特性,我已经是一个couch粉了。

eriknstr说:几年前我买了一本O’Reilly的书: CouchDB: The Definitive Guide。现在网上的版本(http://guide.couchdb.org/draft/tour.html),例子用的依然是0.10.1版。我在想,会不会出一本带Mango、集群和新管理界面的书问世?

原文CouchDB 2.0
作者:CouchDB Blog 翻译赖信涛 责编:仲培艺

评论