MongoDB和CouchDB的区别
1. MongoDB: MongoDB 是一个开源的面向文档的数据库,用于大容量数据存储。它属于 NoSQL 数据库的分类。NoSQL 工具意味着它不使用通常的行和列。MongoDB 使用 BSON(文档存储格式),它是 JSON 文档的二进制样式。
2. CouchDB: Apache CouchDB 是一个开源的面向文档的 NoSQL 数据库,它使用多种格式和协议来存储、传输和处理其数据,它使用 JSON 来存储数据,JavaScript 作为其使用 MapReduce 的查询语言,HTTP 用于一个 API。它由 Apache Software Foundation 开发,最初于 2005 年发布。它是用 Erlang 编写的。
MongoDB 和 CouchDB 之间的区别:
编号 | MongoDB | CouchDB |
---|---|---|
1 | 由 MongoDB, Inc 于 2009 年开发。 | CouchDB 由 Apache Software Foundation 开发,最初于 2005 年发布。 |
2 | MongoDB 是用 C++ 编写的。 | CouchDB 是用 Erlang 编写的。 |
3 | MongoDB是最流行的文档存储之一,既可作为完全托管的云服务,也可用于部署在自我管理的基础架构上。 | CouchDB是原生 JSON——受 Lotus Notes 启发的文档存储,可从全球分布式服务器集群扩展到移动电话。 |
4 | MongoDB 的主要数据库模型是文档存储。 | CouchDB 的主要数据库模型是 Document Store。 |
5 | MongoDB没有辅助数据库模型。 | CouchDB具有文档存储作为辅助数据库模型。 |
6 | MongoDB 的服务器操作系统有 Linux、OS X、Solaris 和 Windows。 | CouchDB 的服务器操作系统有 Android、BSD、Linux、OS X、Solaris 和 Windows。 |
7 | MongoDB支持字符串、整数、双精度、小数、布尔或日期等预定义数据类型。 | CouchDB不支持预定义的数据类型。 |
8 | MongoDB支持通过 MongoDB Connector for BI 进行只读 SQL 查询。 | CouchDB不支持 SQL 查询语言。 |
9 | MongoDB只支持一种复制方式——Master-master复制。 | CouchDB支持两种复制方式——主-主复制和主从复制。 |
10 | MongoDB支持内存功能。 | CouchDB不支持内存中的功能。 |
11 | MongoDB支持多文档ACID事务,快照隔离。 | CouchDB不支持在对数据进行非原子操作后确保数据完整性。 |
12 | MongoDB遵循就地更新。 | CouchDB遵循 MVCC(多版本并发控制)。 |
13 | MongoDB 强一致性。 | CouchDB 最终是一致的。 |