网易首页 > 网易号 > 正文 申请入驻

MongoDB 与 CouchDB 相比如何?各自的优缺点是什么?

0
分享至

查询

理查德是对的,Mongo 将更像 MySQL,其 sql-esque 查询结构。

CouchDB 可以在没有任何 map-reduce 函数的情况下按 ID 进行查询,但是一旦您想要更复杂的查询,是的,您需要在存储在 CouchDB 服务器中的 JavaScript 中编写一个 map(和一个可选的 reduce)函数。如果您对此感兴趣,这个 (
http://www.slideshare.net/gabriele.lana/couchdb-vs-mongodb-2982288) 是我见过的最好的幻灯片,它描述了如何使用示例。

有些人实际上喜欢 CouchDB 的这一方面;我觉得它不必要的复杂。

使用上

Couch 使用基于 HTTP REST 的接口。非常直观,设计得非常好。还允许您编写基于 JavaScript 的应用程序,这些应用程序直接从客户端的浏览器调用数据库(孩子们正在调用 CouchApps;)

Mongo 使用二进制协议。

存储

CouchDB 不会将其数据存储为 JSON;它将它存储为 Erlang 术语(自定义二进制格式)。每次您对数据库进行读写时,它实际上都会对 JSON 进行序列化和反序列化。在 CouchDB 1.2 中,它们包含一个新的 C 解析器,以帮助显着加快速度。

这是我创建 UBJSON 规范 (http://ubjson.org/) 的原因之一来回磁盘以响应查询。如果您有兴趣,Tim Anglade 做了一些有趣的基准测试,只需更改沙发的响应格式,并看到了巨大的性能提升 -

理查德是正确的,Mongo 专门处理 BSON 格式的内容。

性能和一致性

Mongo 开箱即用,速度更快; CouchDB 开箱即用是安全的。

Mongo 对其磁盘上的数据进行就地更新,CouchDB 采用了写时复制/仅追加设计几乎是错误的。

它以fsync'ing所有内容并不断重新复制文档突变(B +路径更新)的数据文件部分为代价,使其具有疯狂的弹性。由于这种核心设计,Couch 将始终(按设计)在单服务器容量中,比 Mongo 更安全。由于 Mongo 的就地编辑,您总是有可能损坏旧数据。

在多服务器配置中,这个问题被冲掉了,您可以只查看您需要/想要的数据库的其他方面。

使用 Mongo,您可以使用 'w' 参数强制它对每次写入进行 fsync,并强制它在您的复制集上复制 1+ 个已写入数据的副本(如果您的配置很大)。根据您的设置,Mongo 是“最终一致”或“一致”-仅取决于您可以等待写入的 ACK 多长时间。

相反,使用 CouchDB,如果您需要在每个服务器的基础上获得更快的性能,您可以在每次写入时关闭 fsync'ing,并让它在刷新之前缓存一些更改。关于远程复制,因为是master-master,双向的,所以没有办法在write返回之前等待一个write复制到所有替代server,因为server无法知道有多少client在等待更改;他们只是解析更改日志并自行消化更改。

复制

CouchDB 是一个分布式多主数据存储。如果您需要许多独立的节点来相互协作,而没有一个是权威(例如在像 CDN 这样的地理分布式系统中),那么您需要这个。

Mongo 以称为“副本集”的分组进行复制;每组允许一个单一的主人。只能写入 master。在分布式系统中,您需要通过“回拨”到主节点来执行所有写入操作。

这通常是第一个可以帮助团队根据他们的应用程序类型决定他们需要哪种 DBMS 的项目;

理查德说的其他一切都恰到好处。

复杂性/难度

大型 CouchDB 部署最终几乎都使用 BigCouch(一个自动分片和复制的 CouchDB 版本,它结合了 Dynamo,将来会被结合到 CouchDB 中)。您还可以创建一个完全连接的复制规则图(A 更新 B、B 更新 C、A 更新 C 并且每个人都相互更新。Huzzah!),具体取决于问题的具体情况。

大型 MongoDB 部署看起来像大型 MySQL 部署,最好留给经验丰富的 Mongo 人员或来自我们维度之外的能量生物。

它并没有那么糟糕,但您将拥有:

副本集由 2 个以上的服务器组成,每个服务器代表您数据的一个分片。 2 个以上的副本集集合,代表您的整个可操作数据集。

然后你有仲裁节点来帮助在主节点失败时在新的主节点中投票。钍en 有新服务器启动的配置节点可以从中提取副本信息,我认为在某些地方也有代理节点。

很多时候,这些较小的服务可以在与数据服务器节点本身相同的硬件上运行,但关键是,有多种类型,您的网络设置并不简单。

就像我说的;扩展 Mongo 很像扩展 MySQL。 Scaling Couch 开箱即用要简单得多,即使您使用 BigCouch 在 Couch 中间完成分片,它仍然相对简单。

总结(如何选择)

我在 G + (
https://plus.google.com/107397941677313236670/posts/LFBB233PKQ1) 上面详细地写了这篇文章,但归结为以下几点:

你需要大师大师吗?然后是 CouchDB。

您需要最大 R/W 吞吐量吗?然后是 MongoDB,讨论结束(您可以像 Blitz.io 那样进行 Couch / Redis 设置,但假设我们在这里只是讨论单个数据库决策,而不是整个基础架构决策)

您是否需要终极的单服务器持久性,因为您将只拥有一台数据库服务器?然后是 CouchDB。

您是否在存储需要分片的海量数据集,同时保持疯狂的吞吐量?然后是MongoDB。

我相信还有更多好的决定因素;如果您好奇,请留下评论,我会将它们附加到列表中。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
A股:来不及等开盘了,种种迹象表明,明天周一市场将这么走!

A股:来不及等开盘了,种种迹象表明,明天周一市场将这么走!

一丛深色花儿
2024-12-01 04:25:03
揭开模特圈不为人知的秘密, 潜规则司空见惯,想挣钱就要跪着……

揭开模特圈不为人知的秘密, 潜规则司空见惯,想挣钱就要跪着……

极品小牛肉
2023-11-15 11:43:40
在设计院,性能力才是第一生产力

在设计院,性能力才是第一生产力

黯泉
2024-11-21 19:48:40
papi酱表示《再见爱人》后,麦琳李行亮推掉了很多活动,理由超搞笑

papi酱表示《再见爱人》后,麦琳李行亮推掉了很多活动,理由超搞笑

娱最资讯
2024-11-30 20:27:42
阿萨德家族,属于小众的阿拉维派,为何他们能执掌叙利亚半个世纪

阿萨德家族,属于小众的阿拉维派,为何他们能执掌叙利亚半个世纪

历史摆渡
2024-10-12 19:30:02
四省区发布40位干部任前公示

四省区发布40位干部任前公示

鲁中晨报
2024-11-30 14:56:06
玩家用3000多电脑玩黑神话,铁扇仙衣服都被卡没了,这画面太涩了

玩家用3000多电脑玩黑神话,铁扇仙衣服都被卡没了,这画面太涩了

仟游电竞
2024-11-23 08:21:53
表现天差地别,火箭手握汤普森说明书,奥萨不被重用或将另有打算

表现天差地别,火箭手握汤普森说明书,奥萨不被重用或将另有打算

拾叁back
2024-12-01 04:35:34
谈判再次失败?我国可能关闭大使馆,外交部告诫公民别前往!

谈判再次失败?我国可能关闭大使馆,外交部告诫公民别前往!

现代小青青慕慕
2024-11-30 08:07:07
河南洛阳出现“石虎”,躲在草丛中被无人机拍到,眼神非常警惕

河南洛阳出现“石虎”,躲在草丛中被无人机拍到,眼神非常警惕

动物速递
2024-11-30 14:53:31
王石再预测中国未来楼市走向:若无意外,或又是对的

王石再预测中国未来楼市走向:若无意外,或又是对的

巢客HOME
2024-11-30 05:15:02
鹈鹕很喜欢勇士手中的交易筹码,但英格拉姆无意前往金州打球

鹈鹕很喜欢勇士手中的交易筹码,但英格拉姆无意前往金州打球

鸡丁侃球
2024-12-01 07:55:01
杜特尔特父女生死关头,解放军亮剑黄岩岛,60艘舰船布控中业岛?

杜特尔特父女生死关头,解放军亮剑黄岩岛,60艘舰船布控中业岛?

影孖看世界
2024-11-30 16:52:53
花费4000万,IG全神班成了!选手合伙入股:姜高宋王持股14.6%

花费4000万,IG全神班成了!选手合伙入股:姜高宋王持股14.6%

残影电竞
2024-11-30 22:39:36
博主让糖尿病母亲停西药,改中药后腿部结痂流脓,称:二甲双胍的毒逼出来了

博主让糖尿病母亲停西药,改中药后腿部结痂流脓,称:二甲双胍的毒逼出来了

小萝卜丝
2024-11-22 20:32:00
可惜了!全红婵的妹妹和弟弟正式告别跳水,父母支持

可惜了!全红婵的妹妹和弟弟正式告别跳水,父母支持

娱乐的小灶
2024-12-01 02:46:42
终于被打疼了!400多名西方雇佣兵被团灭!

终于被打疼了!400多名西方雇佣兵被团灭!

猫哥世界观
2024-11-30 18:25:39
嘴硬的印度被美国一击即溃,就这样还天天喊自己是超级大国?

嘴硬的印度被美国一击即溃,就这样还天天喊自己是超级大国?

星辰故事屋
2024-11-29 16:05:12
重返巅峰!郭艾伦32+7+5,赛后听听各界媒体专家怎么说

重返巅峰!郭艾伦32+7+5,赛后听听各界媒体专家怎么说

邹维体育
2024-11-30 21:43:18
1-4惨败!中国队又输了,18分钟丢4球崩盘,球迷失望

1-4惨败!中国队又输了,18分钟丢4球崩盘,球迷失望

象牙三
2024-11-30 11:52:52
2024-12-01 10:32:49
读历史学知识
读历史学知识
读历史学知识
44文章数 20关注度
往期回顾 全部

科技要闻

我国首个商业航天发射场首发成功

头条要闻

男子买二手LV包送客户 鉴定结果"符合工艺"又"不通过"

头条要闻

男子买二手LV包送客户 鉴定结果"符合工艺"又"不通过"

体育要闻

巴萨1-2拉帕3轮不胜 125周年庆告负

娱乐要闻

恶意炒作!李行亮麦琳和好后口碑崩塌

财经要闻

女首富,死刑!交出800亿,免死!

汽车要闻

比亚迪方程豹豹8推送首次OTA 新增暴力模式

态度原创

游戏
数码
手机
公开课
军事航空

梦幻西游:175超强九黎城,5把高伤武器随便换,当今的主流物理!

数码要闻

B&O Beoplay Eleven 入耳式耳机上架官网:,499 欧元

手机要闻

iQOO Neo10系列线下上手体验:不吐不快,说说真实感受!

公开课

一块玻璃,如何改变人类世界?

军事要闻

泽连斯基开出停火条件 俄方回应

无障碍浏览 进入关怀版