Mangodb 的缺点是什么?性能?

2015-07-01 17:39:52 +08:00
 shyrock
最近一个项目打算采用mangodb替换mysql。吹了一堆好处后,销售问我,这些好处的代价是什么?他不懂技术,但是坚持一个朴素的理念“有得必有失”。

我翻了一下网络,发现根据CAP原则,mangodb的归类是CP,是牺牲了可用性来保证一致性和分片容忍性,换句话说mangodb的性能比归类为CA的mysql在性能上应该有所降低。
但是很遗憾,网上做两者性能对比的文章观点互相矛盾,且都不具权威性。

所以想问问各位有没有权威的说法啊?
20359 次点击
所在节点    MongoDB
88 条回复
CIVITAS
2015-07-01 17:40:55 +08:00
Mongodb.
EPr2hh6LADQWqRVH
2015-07-01 17:41:32 +08:00
就是没有事务,没有Join
tabris17
2015-07-01 17:41:50 +08:00
没有事务
blacktulip
2015-07-01 17:42:25 +08:00
没有权威说法,实测方知
9hills
2015-07-01 17:43:51 +08:00
你看到的什么文章。MongoDB性能不如MySQL,人用它干嘛,难道没有事务比带事务还要慢?
lilydjwg
2015-07-01 17:45:19 +08:00
我的感受:

1. 不支持事务
2. 不支持 schema、值约束等等 SQL 才有的东西
3. 程序都是静态链接的,一个程序十几 M
4. mongo 命令行 shell 使用 linenoise 而不是 readline,中文支持问题严重

另据说 MongoDB 存 JSON 的性能不如 PostgreSQL 9.4 的 jsonb 数据类型。
shyrock
2015-07-01 17:53:50 +08:00
小结一下,截止6楼提到的都是没有事务和值约束、外键这些,然而这些都跟CAP原则中的A可用性没有关系啊。换句话说,Mangodb比mysql多了分盘容错性的好处,但是却没有因此而付出代价。
TheJuli
2015-07-01 17:59:55 +08:00
@shyrock
MongoDB
*
aisk
2015-07-01 18:00:04 +08:00
CAP 理论是针对分布式系统的,跟你单机使用没有关系。
另外求楼主千万不要用 mongodb,因为 mongodb 现在最大的问题就是属于这种「不知道现在系统有什么问题」「不知道新的系统解决了什么问题」的人误用导致的各种问题。
blacktulip
2015-07-01 18:05:26 +08:00
CAP 不单是针对分布式系统的,而且跟性能没有关系,可用性跟性能是两回事
Had
2015-07-01 18:16:58 +08:00
坑很多... 修坑很慢,尤其Query Plans相关的... 很痛苦有没有...
shyrock
2015-07-01 18:18:13 +08:00
@aisk 忘了在问题里面说明,就是在分布式系统中使用的,可没有说是单机系统。
我这不是在使用之前专门求教MangoDB的优缺点吗?您的意思是只有生而知之的人配得上用MangoDB?
shyrock
2015-07-01 18:18:46 +08:00
@blacktulip 求教CAP中的A可用性是指什么?
shyrock
2015-07-01 18:19:35 +08:00
@Had 被你一说,心里有点怕。。。都这么些年了,应该还是基本可用吧?
xlrtx
2015-07-01 18:20:32 +08:00
好像不支持acid
Had
2015-07-01 18:24:34 +08:00
@shyrock 来看看这张卡。
https://jira.mongodb.org/browse/SERVER-13866

最后那个人的回复就是我们遇到的:
If I drop and regenerate the index the problem resets itself, but I assume that's similar to just restarting mongod. What is normally a 1ms query jumps to 100ms or more.
yoa1q7y
2015-07-01 18:33:55 +08:00
Mongodb
Mongodb
Mongodb
Mongodb!!!
shyrock
2015-07-01 18:37:24 +08:00
@Had 看懂了,不过这应该是bug。其实我想问的是MangoDB在设计上所付出的代价是什么,也就是说理论上无法通过补丁解决的问题。
shyrock
2015-07-01 18:38:15 +08:00
@yoa1q7y Sorry,前几个人的提醒我以为重点是大小写呢。。。
shyrock
2015-07-01 18:38:59 +08:00
@9hills 不是所有数据库设计都以性能为第一诉求的。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/202547

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX