NoSQL-MongoDB与CouchDB [英] NoSQL - MongoDB vs CouchDB

查看:68
本文介绍了NoSQL-MongoDB与CouchDB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

关于NoSQL运动,我是一个完整的菜鸟.我听说过很多有关MongoDB和CouchDB的信息.我知道两者之间存在差异.您建议您学习哪些知识作为NoSQL世界的第一步?

I am a complete noob when it comes to the NoSQL movement. I have heard lots about MongoDB and CouchDB. I know there are differences between the two. Which do you recommend learning as a first step into the NoSQL world?

推荐答案

请参阅以下链接

  • CouchDB Vs MongoDB
  • MongoDB or CouchDB - fit for production?
  • DB-Engines - Comparison CouchDB vs. MongoDB

更新:我发现很棒的比较NoSQL数据库.

MongoDB(3.2)

  • 写在:C ++
  • 要点:JSON文档存储
  • 许可证:AGPL(驱动程序:Apache)
  • 协议:自定义二进制(BSON)
  • 主/从复制(具有副本集的自动故障转移)
  • 内置阴影
  • 查询是javascript表达式
  • 在服务器端运行任意的javascript函数
  • 具有地理空间索引和查询
  • 具有不同性能特征的多个存储引擎
  • 性能优于功能
  • 文档验证
  • 日记
  • 强大的聚合框架
  • 在32位系统上,限制为〜2.5Gb
  • 集成了文本搜索
  • GridFS用于存储大数据和元数据(实际上不是FS)
  • 了解数据中心
  • Written in: C++
  • Main point: JSON document store
  • License: AGPL (Drivers: Apache)
  • Protocol: Custom, binary (BSON)
  • Master/slave replication (auto failover with replica sets)
  • Sharding built-in
  • Queries are javascript expressions
  • Run arbitrary javascript functions server-side
  • Has geospatial indexing and queries
  • Multiple storage engines with different performance characteristics
  • Performance over features
  • Document validation
  • Journaling
  • Powerful aggregation framework
  • On 32bit systems, limited to ~2.5Gb
  • Text search integrated
  • GridFS to store big data + metadata (not actually an FS)
  • Data center aware

最常用:如果您需要动态查询.如果您想定义索引,则不希望映射/归约函数.如果您需要大型DB上的良好性能.如果您想要CouchDB,但是您的数据变化太大,则填满了磁盘.

Best used: If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you wanted CouchDB, but your data changes too much, filling up disks.

例如:对于大多数使用MySQL或PostgreSQL进行的操作,但是具有预定义的列确实会使您退缩.

For example: For most things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back.

CouchDB(1.2)

  • 写在:Erlang
  • 要点:数据库一致性,易用性
  • 许可证:Apache
  • 协议:HTTP/REST
  • 双向(!)复制,
  • 连续或临时
  • 具有冲突检测功能,
  • 因此,主-主复制. (!)
  • MVCC-写入操作不会阻止读取
  • 可以使用文档的先前版本
  • 仅崩溃(可靠)的设计
  • 需要不时地压实
  • 视图:嵌入式地图/缩小
  • 设置视图格式:列表和演出
  • 可以进行服务器端文档验证
  • 可以进行身份​​验证
  • 通过'_changes'(!)实时更新
  • 附件处理
  • Written in: Erlang
  • Main point: DB consistency, ease of use
  • License: Apache
  • Protocol: HTTP/REST
  • Bi-directional (!) replication,
  • continuous or ad-hoc,
  • with conflict detection,
  • thus, master-master replication. (!)
  • MVCC - write operations do not block reads
  • Previous versions of documents are available
  • Crash-only (reliable) design
  • Needs compacting from time to time
  • Views: embedded map/reduce
  • Formatting views: lists & shows
  • Server-side document validation possible
  • Authentication possible
  • Real-time updates via '_changes' (!)
  • Attachment handling

最常用:用于累积,偶尔更改的数据,在这些数据上运行预定义的查询.版本控制很重要的地方.

Best used: For accumulating, occasionally changing data, on which pre-defined queries are to be run. Places where versioning is important.

例如:CRM,CMS系统.主-主复制是一项特别有趣的功能,可以轻松进行多站点部署.

For example: CRM, CMS systems. Master-master replication is an especially interesting feature, allowing easy multi-site deployments.

这篇关于NoSQL-MongoDB与CouchDB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆