前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDb 的 MMAPv1 和 WiredTiger 存储引擎空间对比(800万文档 )

MongoDb 的 MMAPv1 和 WiredTiger 存储引擎空间对比(800万文档 )

作者头像
田春峰-JCJC错别字检测
发布2018-04-16 16:15:21
9780
发布2018-04-16 16:15:21
举报

MongoDb 的MMAPv1和WiredTiger存储引擎空间对比(800万文档 )

MongoDB的使用经验

  • 版本:3.0.6
  • 数据量:876万个html片段
  • 选择mongoDB的原因,存储的对象是文档格式。
  • MongoDb 和 MySql 的可比性,相当于Java和JavaScript的可比性
数据插入和更新的效率
  • 最高插入记录一秒钟50个记录,同时更新20个记录,表现稳定
关于翻页的效率
  • MongoDB的翻页效率明显低。使用find(filter).skip().limit()的方式,不使用索引,通过全表扫描的方式进行的,如果记录数量上百万,系统几乎不可用。
  • 翻页采用 ( X > _id ) .limit() 的方式后,使用了_id索引,翻页耗时基本相同。
使用MySql MyISAM引擎, 占用空间:75G
代码语言:javascript
复制
  $ sudo ls -lth /jiubugaosuni/mysql_data/data/sample_doc/
  total 75G
  -rw-rw---- 1 327M doc_content.MYI
  -rw-rw---- 1  74G doc_content.MYD
  -rw-rw---- 1  13M shareholder.ibd
  -rw-rw---- 1  14M person.ibd
  -rw-rw---- 1  12M changerecord.ibd
  -rw-rw---- 1  21M basic.ibd
  -rw-rw---- 1 368K branch.ibd
  -rw-rw---- 1  14K shareholder.frm
  -rw-rw---- 1 8.8K person.frm
  -rw-rw---- 1  21K changerecord.frm
  -rw-rw---- 1 8.8K branch.frm
  -rw-rw---- 1  34K basic.frm
  -rw-rw---- 1 8.5K doc_content.frm
  -rw-rw---- 1 112K doc_details.ibd
  -rw-rw---- 1 8.6K doc_details.frm
  -rw-rw---- 1   61 db.opt
使用MMAPv1存储引擎,占用空间 111G
代码语言:javascript
复制
  $ ls -lth /jiubugaosuni/xiaolongren/mongo3data/
  total 111G
  -rw------- 2.0G document.58
  -rw------- 2.0G document.57
  -rw------- 2.0G document.x
  -rw------- 2.0G document.x
  -rw------- 2.0G document.x
  -rw------- 2.0G document.6
  -rw------- 2.0G document.5
  -rw------- 1.0G document.4
  -rw------- 512M document.3
  -rw------- 256M document.2
  -rw------- 128M document.1
  -rw-------  64M document.0
  -rw-------  16M document.ns
  drwxr-xr-x 4.0K journal
  drwxr-xr-x 4.0K _tmp
  -rw-------  64M local.0
  -rw-------  16M local.ns
  -rwxr-xr-x    5 mongod.lock
  -rw-r--r--   69 storage.bson
  -rw-------  16M test.ns
  -rw-------  64M test.0
  -rw-------  16M mongo_test_db_001.ns
  -rw-------  64M mongo_test_db_001.0
代码语言:javascript
复制
   weibo.com/tianchunfeng 微博交流
使用WiredTiger存储引擎,并启用压缩功能,占用空间30G
代码语言:javascript
复制
  $ ls -lth /jiubugaosuni/xiaolongren/mongo3wiredtigerdata/
  total 30G
  -rw-r--r--  894 WiredTiger.turtle
  -rw-rw-r--  44K WiredTiger.wt
  -rw-rw-r--  36K sizeStorer.wt
  -rw-r--r--  30G collection-0-5129251031362114904.wt
  -rw-r--r--  82M index-1-5129251031362114904.wt
  drwxrwxr-x 4.0K journal
  -rw-rw-r--  32K _mdb_catalog.wt
  -rw-rw-r--  32K collection-0--7409425942265573036.wt
  -rw-rw-r--  32K index-1--7409425942265573036.wt
  -rwxrwxr-x    6 mongod.lock
  -rw-rw-r--   95 storage.bson
  -rw-rw-r--  533 WiredTiger.basecfg
  -rw-rw-r--   46 WiredTiger
  -rw-rw-r--   21 WiredTiger.lock
关于_id 值
  • 在新增文档的时候,如果不指定_id字段的值,mongoDB 会自动生成一个唯一值。在与Mysql结合使用的场景下,可以把对应Mysql主键值当作mongoDB _id 值。
其他
  • 用mongoDB存储文档类或小文件类的数据,且数据带有一部分的元数据;
  • 以主键建立关联,用MySql满足复杂的查询需求,用mongoDB满足多变的schema数据结构需求;
  • MySql是面向字段的,mongoDB 是面向内容的
  • 字段名尽量短一点,mongoDB占用空间比MySql多
参考
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年10月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MongoDb 的MMAPv1和WiredTiger存储引擎空间对比(800万文档 )
    • MongoDB的使用经验
      • 数据插入和更新的效率
      • 关于翻页的效率
      • 使用MySql MyISAM引擎, 占用空间:75G
      • 使用MMAPv1存储引擎,占用空间 111G
      • 使用WiredTiger存储引擎,并启用压缩功能,占用空间30G
      • 关于_id 值
      • 其他
      • 参考
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档