NoSQL数据库,Apache CouchDB 1.3.0 发布
jopen 12年前
Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST 接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB 是 Apache 基金会的顶级开源项目。
与现在流行的关系数据库服务器不同,CouchDB 是围绕一系列语义上自包含的文档而组织的。 CouchDB 中的文档是没有模式的(schema free),也就是说并不要求文档具有某种特定的结构。 CouchDB 的这种特性使得相对于传统的关系数据库而言,有自己的适用范围。一般来说,围绕文档来构建的应用都比较适合使用 CouchDB 作为其后台存储。 CouchDB 强调其中所存储的文档,在语义上是自包含的。这种面向文档的设计思路,更贴近很多应用的问题域的真实情况。对于这类应用,使用 CouchDB 的文档来进行建模,会更加自然和简单。与此同时,CouchDB 也提供基于 MapReduce 编程模型的视图来对文档进行查询,可以提供类似于关系数据库中 SQL 语句的能力。 CouchDB 对于很多应用来说,提供了关系数据库之外的更好的选择。
Apache CouchDB 1.3.0 发布了,该版本主要改进包括以下几个方面:
HTTP 接口
- 不再重写 X-CouchDB-Requested-Path
- URL 重写时限制递归的深度,最大 100 ,可配置
- 修复 IE7 的 _session
- 增加 Server-Sent 事件协议到 db 更改 API (详情)
- 通过使用 /_config/admins API 实现密码哈希同步
- 在 show/list ETags 中包含用户名
- 对 Cross-Origin Resource Sharing (CORS) 的体验支持
复制器
- 复制器将在 IDs 检查点处使用新的服务器范围的 UUID 以改进有效恢复的可能性
存储系统
- 修复在同一个批处理中删除和创建文档一些不必要的冲突
视图服务器
- 额外响应的头信息稍比 send() 提前
- GetRow() 无副作用
Futon
- 禁用链接到 Futon 测试套件,这些测试在浏览器上运行会导致问题
- 增加视图请求持续时间
- 禁用用户没有权限的按钮
安全
- 密码使用 PBKDF2 算法进行哈希,并可配置工作因子
测试套件
- Moved the JS test suite to the CLI.
- Improved tracebacks printed by the JS CLI tests.
- Improved the reliability of a number of tests.
UUID 算法
- 增加 utc_id 算法.
URL 重写和 & Vhosts
- 数据库名在重写时进行编码,允许使用特殊字符
- 新请求时重置重写计算器,避免不必要的请求失败
构建系统
- 改进对 C/C++ 编译器的检测
- 要求 Autoconf v2.63 版本