CouchDB 1.3.0 的新特性以及算法的强化

  • Anand Narayanaswamy
  • 李彬

2013 年 4 月 15 日

话题:语言 & 开发

Apache软件基金会发布了CouchDB 1.3.0,修复了 IE7 中使用 _session 的问题,支持跨域资源分享(CORS)并将 URL 重写器中的最大递归深度限制为 100 次调用。在递归调用重写器过程中不再重写 X-CouchDB-Requested-Path,并且将服务器端发送事件(Server-sent Event) 协议添加到 db 变更 API 中。此外,该最新版本还允许通过使用 /_config/admins API 实现密码哈希同步,并在 show/list ETags 中包含用户名。

CouchDB 1.3.0 针对在同一个批处理中创建、删除某个文档时的不必要冲突提供了解决方案,而数据库包含的复制程序将新的服务器范围的 UUID 用于检查点 ID 以增进有效恢复的机会。它还将 JS测试套件迁移到 CLI,并改进了它的回溯和测试的可靠性。

该版本禁止链接到Futon测试套件,对 Futon 增加了视图请求持续时间,同时禁用了用户没有权限使用的按钮。此外,如果从 Git 的本地签出直接构建,则必须使用Autoconf v2.63。根据官方的说法,当从 web 浏览器中运行的时候,Futon 测试套件会导致一些问题,因此现在要通过 CLI 提供测试套件。

在 CouchDB 1.3.0 中,密码通过结合可配置工作因子的PBKDF2(Password-Based Key Derivation Function 2:基于密码的密钥派生函数)算法生成哈希值,并提供对 utc_id 算法的支持。此外,数据库名称也在重写过程中进行编码,并改进了 C/C++ 编译器检测。当新请求发生时重置重写计数器,并修复了在 couchdb 脚本中的进程退出前就返回停止状态的问题。

CouchDB 1.3.0 包含针对 Windows 和 OS X 的预先构建的包,以及一份由 Futon 直接管理的手册。与安装包一道,Apache 还提供了 PDF 形式的手册。

查看英文原文:CouchDB 1.3.0 Adds New Features and Algorithm Enhancements


感谢侯伯薇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发