CouchDB與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++語言編寫 |