分享更有价值
被信任是一种快乐

如何压缩MongoDB的数据文件

文章页正文上

如何压缩MongoDB的数据文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  MongoDB采用了磁盘空间预分配的机制,为了避免磁盘碎片以及使用mmap后造成的近一步的内存碎片,但是随着数据的增删除改操作,数据文件不可避免的会产生空洞,造成磁盘空间和内存的浪费。  怎样压缩MongoDB的数据文件  1.通过repairDatabase整理数据文件  repairDatabase是MongoDB内置的一个db上的方法,调用这个方法,MongoDB会扫描db中的所有数据,并将通过重新插入来重新整理数据集合。  这种方法的代价是对这个db的读写操作会变得非常之慢,甚至会出现写操作丢失的情况。所以这个时候最好直接停掉客户端的写操作。  可以创建bar.js文件,写入如下代码:  //Getathecurrentcollectionsize.  varstorage=db.foo.storageSize();  vartotal=db.foo.totalSize();  print(‘StorageSize:’+tojson(storage));  print(‘TotalSize:’+tojson(total));  print(‘———————–‘);  print(‘Runningdb.repairDatabase()’);  print(‘———————–‘);  //Runrepair  db.repairDatabase()  //Getnewcollectionsizes.  varstorage_a=db.foo.storageSize();  vartotal_a=db.foo.totalSize();  print(‘StorageSize:’+tojson(storage_a));  print(‘TotalSize:’+tojson(total_a));  然后运行:  $mongofoobar.js  运行结果:  MongoDBshellversion:1.6.4  connectingto:foo  StorageSize:51351  TotalSize:79152  ———————–  Runningdb.repairDatabase()  ———————–  StorageSize:40960  TotalSize:65153  怎样压缩Mong免费主机域名oDB的数据文件  2.如果应用可以接受,可以考虑使用cappedcollection  cappedcollection是MongoDB中的一种特殊collection免费主机域名,它的大小可以限定,数据在这个限定大小内循环写入,在数据集合达到上限后,新数据会覆盖老的数据。这样磁盘上的空洞在一段时间后会自动消除。  事实上使用replication相关的功能也可以实现以上说的数据压缩,具体过程比较麻烦,还会涉及到客户端的切换等操作。看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注云技术行业资讯频道,感谢您对云技术的支持。

相关推荐: Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动

本篇内容介绍了“Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Ubuntu 16.04下要连接…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册