转帖:有谁在用 MongoDB 体验怎么样

binqilin1115 2012-09-12 10:16:46
MongoDB已经火了有些时间了,相信已经有不少人将MongoDB用到了自己产品中。不知道大家使用MongoDB的体验怎么样。

MongoDB 的优势应当是速度以及海量数据的支持,另外一个有点就是schemeless。

关于schemeless
真正需要用到schemeless的地方似乎并不是太多。目前很多 MongoDB 封装,也都增加了scheme的定义功能,这基本上等于放弃了schemeless。另外如果过度的schemeless,日子久了后可能自己都搞不清楚自己到底在数据库里放了什么东西。

MongoDB的特性决定了某些关系数据库很容易做的操作在MongoDB中会很不容易实现(比如多表关联查询等,而且据说分页性能也不怎么样?)。为配合MongoDB,在构架设计乃至产品功能需求方面都需要做些调整。

海量,可能大多人都不太会有机会遇到真正需要MongoDB的海量数据。

对于大多应用场景,采用关系数据库为主,以MongoDB为辅的方式是否会更加合理?或者说MongoDB的应用场景还是比较有限的。

帖子来源:V2EX vicalloy
...全文
1064 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
afxcn 2013-10-01
  • 打赏
  • 举报
回复
看来我也不能用它,最近在研究它呢。
jd808 2013-03-28
  • 打赏
  • 举报
回复
没有实践过的人,就不要般文章来误导人啦,免得人家奇虎难下 我就是被误导过来的,因为之前用memcached的,从来没发现这个问题,现在郁闷啊
jd808 2013-03-28
  • 打赏
  • 举报
回复
目前我也在项目中用mongodb(木有上线),测模拟测试中,mongodb CPU占用120% mongodb是单进程,无法使用多核 为啦使用多核,我在服务器上创建sharding(一台服务器,而且是复制集模式),再次测试cpu基本控制在20%左右 但我的应用程序延时达到啦300毫秒(就是查询一条数据) 到现在还没查到啥原因 mongodb理论上很好,但实际中发现呗坑啦,现在想换已经没时间咯
SHOUYU2 2013-03-25
  • 打赏
  • 举报
回复
的测试在我的PC机上已批量的方式插入数据,每个文档1KB,能达到3W左右的速度 这个是什么速度?一次性可以插入3w条数据?还是一分钟插入3w?
lester19872007 2013-03-05
  • 打赏
  • 举报
回复
首先声明一点:没有任何一种技术能满足我们所有的业务需求,mongodb亦是如此! 优势: 快速(有多快?猛击这里,当然这和具体的应用方式有关系,通常来说,它比一般的关系型数据库快5位左右。) 很高的可扩展性-轻松实现BP级的存储 提供两种Replication架构Mater-slave和Replica Set。(稍后具体介绍!) 高性能、易部署、易使用、存储数据非常方便(深有体会!o(∩_∩)o 连数据库和表都不用直接创建。和现在流行的CodeFirst有点类似!) 面向结合存储,易于存储对象类型的数据。 模式自由。(这点没怎么搞明白,难道是指Replication的两种模式?) 直接完全索引,包括内部对象 支持查询(这个简直就是废话,数据库如果不能查询,数据怎么展示给用户?) 支持复制和故障恢复(其实这个sqlserver里面也有类似的支持。) 使用高效的二进制数据存储,包括大型对象(如视频等) 自动处理碎片,以支持云计算层次的扩展性(这点感觉比sqlserver好很多啊。。) 支持ruby、python、java、C++、php、C#等多种语言。 文件存储格式BSON(一种JSON的扩展)。(这点对于使用JQUERY的高手来说应该相当熟悉) 可以通过网络访问。(这点应该和oracle有点类似,可以用过Web页面来访问和管理!) 劣势: 上面说了那么多的优点,有优点就有缺点,但是接触还不深入,硬要写我也只能从应用来写了 公司没有使用过mongodb,缺乏应用经验。 项目相对来说还比较新。 和以往的存储相比,以前对关系型数据库的操作不再存在。(有点头疼哦!)
  • 打赏
  • 举报
回复
怎么会这么大的数据量
jangogo 2013-02-24
  • 打赏
  • 举报
回复
有模糊查询应用场合而且对模糊查询效率有要求的,MongoDB不适合。 效率太低太低。
xymbtc 2013-01-31
  • 打赏
  • 举报
回复
引用 4 楼 zoujian911 的回复:
引用 2 楼 fengyarongaa 的回复:MongoDB的使用褒贬不一。 但是从目前来说适用于稍大一点的数据存放。 再大了也就推荐用redis 了 两个月的测试发现,速度真的跟不上,我们一天要存15个亿的数据量,尤其是集中在零点到8点之间,同时还要生成45个亿的空数据,写入的速度也就是1W上下。
哇, 版主对 redis情有独钟哎
boYwell 2012-12-05
  • 打赏
  • 举报
回复
对强一致性有要求和高HA的需求,不建议使用。
mash5_paul 2012-11-26
  • 打赏
  • 举报
回复
项目中一直使用的mongo,感觉比关系型数据库好使多了,没那么多check约束,没那么多主外键,只要了解数据结构,自己想干嘛就干嘛。
ycproc 2012-11-26
  • 打赏
  • 举报
回复
引用 4 楼 zoujian911 的回复:
引用 2 楼 fengyarongaa 的回复:MongoDB的使用褒贬不一。 但是从目前来说适用于稍大一点的数据存放。 再大了也就推荐用redis 了 两个月的测试发现,速度真的跟不上,我们一天要存15个亿的数据量,尤其是集中在零点到8点之间,同时还要生成45个亿的空数据,写入的速度也就是1W上下。
那你们应该考虑用redis 做集群了。在存储上进行冷热数据分开。 以及生成数据的时段错峰。等等。
zoujian911 2012-11-26
  • 打赏
  • 举报
回复
引用 2 楼 fengyarongaa 的回复:
MongoDB的使用褒贬不一。 但是从目前来说适用于稍大一点的数据存放。 再大了也就推荐用redis 了
两个月的测试发现,速度真的跟不上,我们一天要存15个亿的数据量,尤其是集中在零点到8点之间,同时还要生成45个亿的空数据,写入的速度也就是1W上下。
ycproc 2012-11-25
  • 打赏
  • 举报
回复
MongoDB的使用褒贬不一。 但是从目前来说适用于稍大一点的数据存放。 再大了也就推荐用redis 了
zoujian911 2012-09-12
  • 打赏
  • 举报
回复
你的理解我觉得是正确的,近来我也一直在研究MongoDB这个东西,我们的应用也是以辅助的方式应用,正常的生产库 还是Oracle,MongoDB作为一个中间的过度库,在读写效率上还是很可观的,我的测试在我的PC机上已批量的方式插入数据,每个文档1KB,能达到3W左右的速度,但要是单挑插入,速度就骤降了。这是我的PC测试,服务器正在购置中,来了之后好好测试,静等结果,如果能达到上述的结果的话还是很不错的一天一直写的话保证我们12个亿的数据量应该是没问题的。

但是中间有一个问题就是如果同时读写,速度也会出现波动,所以准备采用复制集的读写分离,对于时效性没那么强的数据交由从服务器读,时效性强和写命令全由主机完成。个人觉得应该可以解决问题。待测试。

1,746

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧