论坛首页 编程语言技术论坛

mongoDB vs mysql 性能对比测试

浏览 14850 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-04-07   最后修改:2011-04-13

测试环境:

  型号名称:    iMac
  处理器名称:    Intel Core 2 Duo
  处理器速度:    3.06 GHz
  处理器数量:    1
  总核心数:    2
  L2 高速缓存:    3 MB
  内存:    4 GB
  总线速度:    1.07 GHz

测试方案:

js脚本向mongo向一个collection里插入一百万个文档

用mongo的ruby driver做CRDU操作

ruby脚本向mysql的表插入100万条记录

用AR做CRDU操作

 

测试AR的CRDU与mongo ruby driver的CRDU性能

 

测试结果:

 

mysql vs mongo

                                                      |      AR |   MONGO
---------------------------------------------------------------------------
Model.create                                     x1000 |   1.235 |  0.337
Resource#update                                  x1000 |   0.765 |  0.079
Resource#destroy                                   x10 |   0.009 |  0.00074

Model.first                                      x1000 |   0.279 |  0.223

Model.find(id)                                   x1000 |   0.240 |  0.304
Model.find not use index                           x10 |   6.359 |  5.04
Model.find not use index                              x10 |  18.952 |  10.479  ( mysql:big field, mongo:find sub-doc)           

 

结果分析:

 

虽然mysql记录与mongo的文档不是完全一致的,但在同一水平上。

 

1. 基本查找:找first与通过id查找,两者差不多

 

2. 无索引查找:mongo要比mysql快一点 。最后一行数据是指mysql有大字段,而mongo则对子文档字段作查找。

 

3. create, update, destroy, mongo基本要比mysql快一个数量级

 

测试脚本见附件

 

   发表时间:2011-04-11  
nosql快倒是快啊 但是目前阶段还是无法取代关系数据库啊 复杂的查询就是nosql的一个软肋
0 请登录后投票
   发表时间:2011-04-11  
tcray 写道
nosql快倒是快啊 但是目前阶段还是无法取代关系数据库啊 复杂的查询就是nosql的一个软肋

应用场景不同用不同的产品,用了nosql就别考虑复杂查询,单一产品不可能完美。
0 请登录后投票
   发表时间:2011-04-11  
个人认为还是比较一下集群以后的效率才有意义。
复杂查询是设计的问题,mongo无视
0 请登录后投票
   发表时间:2011-04-11  
云中苍月 写道
tcray 写道
nosql快倒是快啊 但是目前阶段还是无法取代关系数据库啊 复杂的查询就是nosql的一个软肋

应用场景不同用不同的产品,用了nosql就别考虑复杂查询,单一产品不可能完美。


同意  看看自己的东西更注重哪个方面吧  没有完美的东西
0 请登录后投票
   发表时间:2011-04-11  
学习下。lz是华为的吧,看工牌带子
0 请登录后投票
   发表时间:2011-04-11  
pingfeng 写道

测试环境:

  型号名称:    iMac
  处理器名称:    Intel Core 2 Duo
  处理器速度:    3.06 GHz
  处理器数量:    1
  总核心数:    2
  L2 高速缓存:    3 MB
  内存:    4 GB
  总线速度:    1.07 GHz

测试方案:

用js脚本向mongo向一个collection里插入一百万个文档

用ruby脚本向mysql的表插入100万条记录

 

测试AR的CRDU与mongo ruby driver的CRDU性能

 

测试结果:

 

mysql vs mongo

                                                      |      AR |   MONGO
---------------------------------------------------------------------------
Model.create                                     x1000 |   1.235 |  0.337
Resource#update                                  x1000 |   0.765 |  0.079
Resource#destroy                                   x10 |   0.009 |  0.00074

Model.first                                      x1000 |   0.279 |  0.223

Model.find(id)                                   x1000 |   0.240 |  0.304
Model.find not use index                           x10 |   6.359 |  5.04
Model.find not use index                              x10 |  18.952 |  10.479  ( mysql:big field, mongo:find sub-doc)           

 

结果分析:

 

虽然mysql记录与mongo的文档不是完全一致的,但在同一水平上。

 

1. 基本查找:找first与通过id查找,两者差不多

 

2. 无索引查找:mongo要比mysql快一点 。最后一行数据是指mysql有大字段,而mongo则对子文档字段作查找。

 

3. create, update, destroy, mongo基本要比mysql快一个数量级

 

测试脚本见附件

 

不能直接拿这两者性能吧,他们的定位都不同。mysql是关系型数据训,而mongodb是基于文档的。

 

后者对关系型数据支持不好,而且没有事务机制,而mongo擅长存储日志,系统动态等没有什么关联,且不太重要的信息。

0 请登录后投票
   发表时间:2011-04-11  
js 和 ruby 两种语言也不在一个量级上啊..
都用ruby来做麻烦么?
0 请登录后投票
   发表时间:2011-04-12   最后修改:2011-04-12
引用

不能直接拿这两者性能吧,他们的定位都不同。mysql是关系型数据训,而mongodb是基于文档的。


后者对关系型数据支持不好,而且没有事务机制,而mongo擅长存储日志,系统动态等没有什么关联,且不太重要的信息。


不知道,有没有用mogodb,和mysql的混合数据库的经验分享下,有的话透露下,我想尝试下。还有mogodb有木有db缓存?或者这方面的插件之类的。
0 请登录后投票
   发表时间:2011-04-12  
一个用ruby,一个用js,外部环境都不同,还谈何比较!
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics