CouchDB與MongoDB比較

CouchDB與MongoDB在架構和用途上,有很多相似的地方,詳細的對比如下表中所示 -

CouchDB vs. MongoDB

特徵比較

CouchDB

MongoDB

數據模型

它遵循面向文檔的模型,數據以JSON格式呈現。

它遵循面向文檔的模型,但數據以BSON格式呈現。

接口

CouchDB使用基於HTTP/REST的接口。它非常直觀,設計非常好。

MongoDB在TCP/IP上使用二進制協議和自定義協議。

對象存儲

在CouchDB中,數據庫包含文檔。

在MongoDB中,數據庫包含集合,而集合包含文檔。

查詢方法

CouchDB遵循Map/Reduce查詢方法(JavaScript+其他)

MongoDB遵循Map/Reduce(JavaScript)創建集合+基於對象的查詢語言。

複製

CouchDB支持使用自定義衝突解析功能的主-主複製。

MongoDB支持主從複製。

併發

它遵循MVCC(多版本併發控制)

就地更新

偏向

CouchDB優先考慮可用性

MongoDB優先考慮一致性

性能一致性

在CouchDB中比MongoDB更安全

在MongoDB中數據庫包含集合,而集合包含文檔。

一致性

CouchDB最終是一致的。

MongoDB也是一致的。

編寫語言

使用Erlang語言編寫

使用C++語言編寫