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

news/2024/12/5 5:53:54/

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

  $ 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

  $ 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.nsdrwxr-xr-x 4.0K journaldrwxr-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
   weibo.com/tianchunfeng 微博交流

使用WiredTiger存储引擎,并启用压缩功能,占用空间30G

  $ 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.wtdrwxrwxr-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多

参考

  • mongodb data compression 

  • 微博: weibo.com/tianchunfeng





http://www.ppmy.cn/news/376819.html

相关文章

腾讯AI Lab开源800万中文词的NLP数据集 | 资源

允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI 鹅厂开源,1 again~ 又一来自腾讯AI实验室的资源帖。 腾讯AI实验室宣布,正式开源一个大规模、高质量的中文词向量数据集。 该数据包含800多万中文词汇,相比现有的公开数据集,在覆盖率…

工程师离职倒卖公司源码,获利 800 万被抓

(给技术最前线加星标,每天看技术热点) 转自:北京市公安局 最近,北京市公安局海淀分局破获一起离职员工通过非法提高个人权限,盗取原公司关键信息数据,倒卖获利近八百万元的非法获取计算机信息系…

好家伙!Java程序员开发了一套系统,卖了800万,成都买了6套房!属实是走上人生巅峰了!

大家好,我是然然。今天内心比较澎湃; 刚刚 群里,段大佬发布技术搞钱交流会,如下图: 某大佬开发一套系统,卖了800万,成都买了6套房,把普通人两辈子的钱都一次性赚好了。 作为有几年…

最高800万,三大机构启动新型冠状病毒研究专项申请!涵盖人工智能辅助诊断!

1月27日,国自然启动新型冠状病毒研究专项项目,直接资助单个项目150万元。1月28日,深圳湾实验室、深圳市科创委陆续启动紧急专项,单个项目资助金额可达200万~800万元!俗话说德不配位,必有灾殃&am…

2011年至2018年全国城市区县历史天气数据集,包含预报高温、低温、风速、风向、天气现象数据,mysql数据集,数据量800万以上数据大小1G

2011年至2018年全国城市区县历史天气数据集,包含预报高温、低温、风速、风向、天气现象数据,mysql数据集,数据量800万以上数据大小1G 数据集格式,数据集来源于网络公开数据,本人整理所得 8249458 2018-11-25 8…

800万行代码的鸿蒙系统,在世界上处于什么水平?

“800万行的代码量,让鸿蒙一跃成为人类有史以来第4大代码量的移动操作系统。要知道当前2.0版本仅包含大屏、手表和车机系统,等到今年12 月手机系统发布后,鸿蒙系统的代码量估计可超过1000万行。而这么庞大的工作量,华为仅用2年便完…

鸿蒙底层系统linux,鸿蒙系统800万行代码,真正属于华为的有几行?

在前几日的华为开发者大会上,华为鸿蒙2.0系统正式发布!并且向全世界的开发者开放源代码。近日,有网友表示鸿蒙系统800万行代码,而真正属于华为的只有15万行,华为吹牛了?其实不是这样的! 该网友解释到为什么暂时不能运行在内存超过128M的设备上的原因:鸿蒙系统里面引用了…

❤️Java程序员开发了一套系统,卖了800万,成都买了6套房

大家好,我是锋哥。今天就不爆照了,主要是内心比较澎湃; 刚刚 群里,段大佬发布技术搞钱交流会,如下图: 某大佬开发一套系统,卖了800万,成都买了6套房,把普通人两辈子的…