MongoDB 2.0新功能逐个看之Compact Command

今天到了公司打开邮箱,惊喜地发现有MongoDB的新闻信,打开一看竟然是2.0更新了,哈哈,于是迫不急待地开始尝试,因为我平时主要只维护数据库,并不涉及开发部分,所有理解有限,大部分还是以翻译为主。以下为官方文档地址:http://www.mongodb.org/display/DOCS/2.0+Release+Notes?mkt_tok=3RkMMJWWfF9wsRonv6TPZKXonjHpfsX%2B6eopWKag38431UFwdcjKPmjr1YICRMt0dvycMRAVFZl5nV0IHeWb#2.0ReleaseNotes-Journalingenhancements

Compact Command整理命令

事实上我也不知道到底应该将这个命令翻译成什么比较合适,它的作用是整理collection,将其中的内容全部抽出后重新排列整齐,有点类似系统的磁盘整理,所以我就这么叫它了。在2.0版本之前,需要进行类似的操作,要使用整理命令是以collection为单位进行操作的。使用这个命令的方法有两种:

  1.  db.runCommand({compact:’myCollcetionName’})
  2.  db.mycollction.runCommand(“compact”)

这个命令要等完成后才会返回状态,可以通过mongod的log文件来查看过程纪录,或是在另一个mongo实例中通过命令db.currentOp() 远程查看正在进行整理的collection的在内存中的状态。需要特别注意的是,在运行这个命令时是无法进行其它操作的,所以推荐在Replica Sets中使用。同时,在Replica Sets中使用时,也有一些要注意的是:

  1.  对于Replica Sets中的Primary instance,直接运行这个命令会报错,需要使用force:true作参数来强制运行,所以并不建议在Primary上运行。
  2.  对于Replica Sets中的Secondary instance,开始运行这个命令时,该instance会自动降为”recovery”状态,直到命令完成。
  3.  在整个Replica Set中,需要在每上instance上分别进行Compact操作,这种整理的行为并不会自动同步。

官方文档上提供的说明是进行 Compact操作带来的明显效果是能去掉了数据库中所有的Padding Factor,Padding Factor是Mongo为了提高数据操作的效率而预留的一部分磁盘空间,所以说其实Compact功能并不完全适合需要经常进行数据更新的 Collection,但是对于比较稳定不常进行update操作的数据库来说,还是可以提高查询速度的。

另外在杀掉Compact进程时要特别注意的,Compact操作是将所有的内容从一个Collection中取出,最后再将它们在collection中重建,所以中断这个Compact 会带来数据丢失。此时就需要Journal来减少这种损失了。Journal在1.9+时就作为一个重点的测试功能出现了,因为考虑到它还不稳定,我没敢在实际项目中试用它,只作了一些小测试,2.0中它已经是正式出道了,我会好好地疼爱它的= v =,以上内容基本上取自官方文档,我会在随后附上实际实验。

原文链接:http://www.cnblogs.com/sasafly/archive/2011/09/14/2176209.html

【编辑推荐】

  1. MongoDB之父:MongoDB胜过BigTable
  2. 主流NoSQL数据库全方位评测之MongoDB
  3. 教你如何利用MySQL学习MongoDB
  4. 在Windows环境下MongoDB搭建和简单操作
  5. Mongodb源码分析之Mongos分析

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/261067.html<

(0)
管理的头像管理
上一篇2025-05-03 11:08
下一篇 2025-05-03 11:09

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注