mongodb 可靠吗?为什么经常看到一些如[不要使用mongodb]的言论?

2013-11-27 09:46:53 +08:00
 family
15609 次点击
所在节点    MongoDB
45 条回复
ritksm
2013-11-27 12:00:17 +08:00
@halfelf 我这么回答的意思就是,能够让楼主rest assured,去研究如何靠谱地用MongoDB而不是怀疑MongoDB到底可不可靠....我感觉没啥逻辑上的问题
wesley
2013-11-27 12:21:43 +08:00
我司JAVA部门的猪头们从来不管业务逻辑都坚定不移地用mongodb
xzl
2013-11-27 13:42:37 +08:00
让靠谱的人在靠谱的应用环境下靠谱的用。看哪些喷的不是没切片就是没做副本集,一不小心加个索引加没了。热数据大于内存?加内存啊,前端再换上redis哈,热数据大于内存你换mysql就能好使?
yuxing1171
2013-11-27 14:30:26 +08:00
要根据业务需求来决定, 单纯的为了mongodb而使用, 才是最不靠谱的。
seraphln
2013-11-27 18:34:47 +08:00
@ibaser 可以试试 compact.不过会锁库。
另外,直接remove数据mongodb不会直接释放文件。所以体积会越来越大。
willmouse
2013-11-27 19:32:42 +08:00
josephshen
2013-11-27 20:14:14 +08:00
水平不够,用什么都不靠谱。
winiex
2013-11-27 20:26:32 +08:00
@ritksm 老江你说日志收集用 mongodb 做,然后以后数据分析基于它,这个 use case 靠谱么?
est
2013-11-27 20:39:38 +08:00
我看过对mongodb的吐槽都是因为开发者2了。
txlty
2013-11-27 20:41:11 +08:00
用惯了mssql/mysql/oracle,会很难理解mangodb。
ritksm
2013-11-27 20:56:03 +08:00
@winiex 靠谱啊...我现在就做了个上报分析的...然后结合Redis基本上简单的数据分析挖掘没啥问题
ritksm
2013-11-27 20:56:53 +08:00
@winiex 当然很吃内存是个问题...不过现在内存都可以弄到很大了也无所谓了...BTW你暴露我了
reorx
2013-11-27 21:39:52 +08:00
对未知事物的恐惧,以及维护自己所擅长事物权威性的本能。
ritksm
2013-11-27 21:43:25 +08:00
@timothyye 其实这个tokumx也解决掉了...虽然我没用到 http://www.tokutek.com/2013/04/mongodb-transactions-yes/
jamiesun
2013-11-27 21:50:54 +08:00
@winiex 我也在计划用mongodb做日志分析了
gihnius
2013-11-27 23:31:17 +08:00
ritksm
2013-11-27 23:43:42 +08:00
@gihnius
第一个Its volume on disk is growing 3-4 times faster than the real volume of data it store:设计就是这样的 参见 http://docs.mongodb.org/manual/faq/storage/
第二个 it eats up all the memory without the possibility to limit this:MongoDB设计的时候的想法(我记得哪里看到)就是用系统的内存管理去控制而不是自己搞一套(参见 http://docs.mongodb.org/manual/faq/fundamentals/#does-mongodb-require-a-lot-of-ram ),但是Tokumx加了一个参数叫做cacheSize可以限制缓存大小,虽然如果你的数据超过了这个大小,会依赖磁盘性能。而且如果内存真的占用过大了一定是你的索引建的不科学,再大就参照第四个吧。
第三个it begins to slow down the application because of frequent disk access:什么db超过了缓存大小不会去读磁盘数据,我表示不知,求科普
第四个We don’t want to set a server with more than 100Gb of memory to Errbi:那他一定不知道有个东西叫做auto-sharding,这么强大的功能都不用=_=
第五个MongoDB require much more attention than we have time. Perhaps we just have more experience in working with postgresql:正如@reorx 所说,难以跳出自己的comfort zone


点个赞吧亲嘿嘿
winiex
2013-11-28 00:19:46 +08:00
@ritksm = =,爆爆更健康......。看上这个 use case 主要是因为 mongodb 的数据模型对于查询来说太方便了,确实挺适合于这个场景的。我听说,貌似为了提供这种强大的检索能力就不得不各种吃内存吃硬盘,此乃原因之一,这个确实是一只比较纠结的事情。

另外,mongodb 做读写分离、replication 什么的方便吗?要优化读写什么的,单单 scale up 肯定是不行的吧~。
winiex
2013-11-28 00:22:08 +08:00
@ritksm 我想你用 redis 应该也是做 mongodb 前端的 cache,并且利用 redis 的数据类型的可查询性来做 mongodb 的查询备胎吧。现在这种方式够用咩?
ritksm
2013-11-28 00:30:04 +08:00
@winiex MongoDB的replication其实挺方便的了 http://docs.mongodb.org/manual/replication/

Redis的set和sorted set太好用了- -

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

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

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

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

© 2021 V2EX