| 比较特性 | CouchDB | MongoDB |
|---|
| 数据模型 | 它遵循面向文档的模型,数据以 JSON 格式呈现。 | 它遵循面向文档的模型,但数据以 BSON 格式呈现。 |
| Interface | CouchDB 使用基于 HTTP/REST 的接口。 它非常直观,设计得很好。 | MongoDB 使用二进制协议和 TCP/IP 上的自定义协议。 |
| 对象存储 | 在 CouchDB 中,数据库包含文档。 | 在 MongoDB 中,数据库包含集合,而集合包含文档。 |
| 查询方法 | CouchDB 遵循 Map/Reduce 查询方法。(JavaScript+其他) | MongoDB 遵循 Map/Reduce (JavaScript) 创建集合 + 基于对象的查询语言。 |
| 复制 | CouchDB 支持带有自定义冲突解决功能的 master-master 复制。 | MongoDB 支持主从复制。 |
| 并发性 | 它遵循 MVCC(多版本并发控制)。 | 就地更新。 |
| 偏好 | CouchDB 倾向于可用性。 | MongoDB 倾向于一致性。 |
| 性能一致性 | CouchDB 比 MongoDB 更安全 | 在 MongoDB 中,数据库包含集合,而集合包含文档。 |
| 一致性 | CouchDB 最终一致。 | MongoDB 是强一致性的。 |
| 编写于 | 它用 Erlang 编写。 | 它用 C++ 编写。 |