MongoDB 3.0 出来了

2015-03-12 17:35:58 +08:00
 immjun
MongoDB 3.0 出来了,性能提高7到10倍。

The latest features in 3.0:

Pluggable storage engines, including WiredTiger;
Higher performance & efficiency;
Simplified operations through Ops Manager;
End-to-end auditing;
Enhanced Query Language and Tools.
8123 次点击
所在节点    MongoDB
20 条回复
scys
2015-03-12 18:02:59 +08:00
早期版本,不过。。。已经编译,准备上在测试服务器上面
yueyoum
2015-03-12 18:03:38 +08:00
性能提升这么NB?

现在这个项目用的mongo,一开始觉得方便,但用了一段时间觉得还是不方便
没有事务, 锁粒度的问题。

但到了后面又觉得其实 mongo 还是挺方便的。

下个项目还在纠结用 mongo 还是 postgres
sopato
2015-03-12 18:13:19 +08:00
测试环境上周就用上了。。。。
looly
2015-03-12 19:28:47 +08:00
@yueyoum 因为MongoDB是非结构化的,最好用在不需要太多事务的地方。MongoDB支持行级锁了
facat
2015-03-12 19:36:41 +08:00
要求gcc 4.9+以上版本编译,够极端了。
tencoldays
2015-03-12 22:26:06 +08:00
我的建议是,永远也不要用MongoDB。
yueyoum
2015-03-12 23:18:41 +08:00
@looly
我知道 mongodb 是非结构化的,但这不能成为它不支持 事务的理由

有类似于 mongodb 的数据库是 支持事务的。

(我不关注,所以忘记名字了)
cevincheung
2015-03-12 23:28:58 +08:00
@yueyoum
tokumx copy自mongodb,支持事物、行级锁。

另外,如果还纠结的话,果断pgsql
crabRunning
2015-03-13 08:33:13 +08:00
已用一个礼拜
typcn
2015-03-13 08:51:49 +08:00
一会去编译一下,本机测试。

我觉得外键,触发器之类的功能很少用得到,在不需要事务的情况下,mongodb 应该是非常好的选择。
xiaket
2015-03-13 11:02:36 +08:00
@tencoldays 能给下具体原因吗?
millken
2015-03-13 11:21:00 +08:00
尼玛!每出一个版本,性能就提升N个级别。

早干嘛去了。
tencoldays
2015-03-13 11:57:08 +08:00
@xiaket 你查下豆瓣、简悦他们对mongodb的评价
dingyaguang117
2015-03-13 12:06:03 +08:00
在用 tokumx
love
2015-03-13 14:01:25 +08:00
@cevincheung tokumx的事务只是本地事务没什么用
vicalloy
2015-03-13 16:48:02 +08:00
MongoDB毕竟是NoSQL数据库。
如果数据本身是关系的,用起来体验并不会太好。
PS:
性能提高7到10倍,应当是说在特定情况下的性能提升,日常应用里体验不会太明显。
lwjhere
2015-03-13 19:38:37 +08:00
benchmark了一下,性能提高10倍是扯淡的,空间省了80%到是

2.6(老版本)
space: 5.951GB
ITEM C1 C2 C3 C4 C5
update(100k) 4.87 8.73 12.25 13.38 14.17
find(5k) 16.23 2.52 5.72 3.13 2.82
insert(100k) 7.25 9.95 9.30 9.45 9.59

3.0 wiredTiger + Snappy(新版本,新存储引擎,默认压缩)
space: 1.156GB
ITEM C1 C2 C3 C4 C5
update(100k) 7.01 7.95 8.13 7.68 6.04
findOne(5k) 15.77 8.56 5.04 3.26 2.54
insert(100k) 7.15 10.05 10.43 11.11 11.02

3.0 wiredTiger + Snappy + small db(新版本,新存储引擎,压缩,库小内存可装下)
ITEM C1 C2 C3 C4 C5
update(100k) 4.20 5.67 6.71 8.12 10.38
findOne(5k) 18.04 5.77 3.89 3.48 2.89
insert(100k) 7.05 9.11 10.65 10.71 13.44

3.0 wiredTiger + no compress(新版本,新存储引擎,不压缩)
ITEM C1 C2 C3 C4 C5
update(100k) 6.86 6.58 7.64 7.40 7.17
findOne(5k) 18.25 10.58 5.07 5.25 3.0
insert(100k) 7.18 8.84 11.02 10.86 9.97

3.0 mmap(新版本,老存储引擎)
ITEM C1 C2 C3 C4 C5
update(100k) 4.48 14.84 15.40 15.17 17.64
findOne(5k) 17.95 10.72 2.94 3.44 2.91
insert(100k) 6.86 12.81 13.31 13.85 14.11

后面的数字,单位是秒,C1-C5表示并发数
lwjhere
2015-03-13 19:40:32 +08:00
概括一下结论:就是find和insert的性能,略低于2.6版本。update的性能在高并发的情况下,2+倍于2.6版本,这个其实得益于document级别的锁。
fish748
2015-03-14 00:14:50 +08:00
@yueyoum SequoiaDB,语法跟 MongoDB 几乎一模一样。
cevincheung
2015-05-16 22:22:46 +08:00
@yueyoum 妥妥的postgres

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

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

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

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

© 2021 V2EX