MongoDB 2.0新功能逐个看之Compact Command

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

Compact Command整理命令

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

db.runCommand({compact:'myCollcetionName'}) db.mycollction.runCommand("compact")

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

对于Replica Sets中的Primary instance,直接运行这个命令会报错,需要使用force:true作参数来强制运行,所以并不建议在Primary上运行。 对于Replica Sets中的Secondary instance,开始运行这个命令时,该instance会自动降为"recovery"状态,直到命令完成。 在整个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 =,以上内容基本上取自官方文档,我会在随后附上实际实验。

时间: 2024-10-26 07:14:23

MongoDB 2.0新功能逐个看之Compact Command的相关文章

IIS 5.0新功能

Windows 2000的IIS(Internet Information Services) 5.0提供甚麼樣的新功能呢? IIS 5.0新功能如下: l 安全性上:包括摘要式驗證.整合的Windows驗證.SGC (Server-Gated Cryptography ) .Microsoft Certificate Services 2.0.集區處理程序之程式保護等. l 管理上:包括IIS重新啟動.站台CPU使用時間的限制.CPU資源使用記錄.使用終端機服務遠端管理IIS.自訂錯誤訊息等.

IBM Domino/Notes 9.0 新功能:Notes联邦登录的介绍及其部署使用

引言 对于希望部署并体验 Notes 联邦登录(Federate Login)的用户而言,首先需要知道并理解 Notes 联邦登录实际上是通过 SAML(安全性断言标记语言,Security Assertion Markup Language)来完成的单点登录(Single Sign On)功能,如果用户同时还能够理解"联邦身份",将对配置部署 Notes 联邦登录有很大的帮助,因为在配置部署过程中需要完成一个步骤来实现联邦身份.下文将先介绍 SAML 以及联邦身份,以此引导用户逐步进

REDGATE SQLPROMPT 6.0新功能

原文:REDGATE SQLPROMPT 6.0新功能 REDGATE SQLPROMPT 6.0新功能 下载地址:http://files.cnblogs.com/lyhabc/SQLPrompt6.02013-11-2.rar (1)自动刷新代码提示,当数据库中有对象更改过之后马上可以看到更改后的内容 (2)tab窗口改变颜色(由数据库操作者自己设置颜色,用来提醒自己当前他自己所操作的数据库是在什么环境下)        注意:这个功能是自己手动设置的不是自动的(这个功能只适用于SQLSER

Photoshop CC 14.0新功能与安装教程

享有更多的自由.速度和功能,让令人惊叹的影像栩栩如生.您可取用数十种的新增和重新研发的功能,包括市面上最先进的锐利化工具.直接从 Photoshop CC 将作品分享至 Behance,以获得回馈并展示您自己的项目.每当新功能一发布,就能立即取用.完整的创意挥洒空间,一个应用程序就满足您的所有需求.一切尽在 Creative Cloud. Photoshop CC 提供了众多新增功能.您可使用全新的智能型锐利化 工具使细节更为鲜明,还可将低分辨率的相片转化为高分辨率的大型影像,更可取得所有先进的

.NET4.0新功能:任务(Task)

用过.NET线程池的程序员都知道通过调用ThreadPool类的QueueUserWorkItem 方法把要执行的代码放入线程池去执行.由于.NET FCL的强大,使得这个操作极 其简便.但使用线程池有个明显的不足之处,那就是我们无法获取线程池执行方 法的返回值,因为WaitCallback委托的返回值为void.注:WaitCallback委托的 原型为:public delegate void WaitCallback(Object state). 比如,我们有个方法代码是这样的: publ

Android 7.0新功能在哪些?安卓7.0新功能一览

Android 7.0预览版已经跟我们见面,我们来简单汇总下,Android 7.0的一些性功能: 1.分屏多任务 其实这个功能,之前不少厂商已经做了,而谷歌终于让7.0原生支持了它,从实际体验来看,点击多任务按键后,长按其中一个应用,将其拖拽到屏幕顶部或底部,然后再点击另外一个应用就可以实现分屏多任务功能. 2."Data Saver" 这个功能简单来说就是减少App在后台流量偷跑,用户可以设置黑名单,当Data Saver开启后,这些黑名单中的App将会受到流量限制措施,同时谷歌也

Android 6.0 新功能:云备份/全局翻译/文件管理器

Android 6.0 Marshmallow 值得一提的几个新功能是:自动备份应用数据,自动将翻译功能整合到流行应用如 LinkedIn. WhatsApp 和 TripAdvisor 中.前者让用户在更换 Android 设备后自动同步所有应用数据,后者可以让用户不需要切换到翻译软件就能将文本翻译到其它语言.Android 系统早就内置有云同步功能,但同步的是 Google 相关的应用和 Google Play 应用下载,而不是应用相关的数据,重新安装的应用会处于新用户状态,而不是你在另一台

微信发布版本5.0 新功能一览

新版欢迎页面 飞机大战今日,微信发布新版本5.0正式上线.在我们天天使用的微信新版本中,会有哪些变化和新功能呢,赶紧跟随小编来了解下吧!打开新版本的微信后,不再是以前无趣欢迎页面,取而代之是游戏飞机大战.在进入微信前,用户可以玩上一把打飞机游戏.用户点击并移动自己的大飞机,在躲避迎面而来的其它飞机时,大飞机通过发射炮弹打掉其它小飞机来赢取分数.撞上其它飞机,游戏就结束.是不是很像童年时候在游戏机上玩过的飞机游戏呢!在游戏结束后,用户可以看到自己的分数,然后点击继续则可以选择回到微信或者是再玩一次

蚕豆网精品APP推荐第145期:新功能抢先看

每日看酷闻,当日新鲜IT资讯全Hold住,移动互联耍酷玩Fashion尽在蚕豆!欢迎订阅 蚕豆网.[产品资讯] 苹果iOS 6地图数据将由TomTom和OpenStreetMap提供今早,一张iOS6的细节截图被泄露,其中我们可发现TomTom公司是苹果的全新地图应用程序映射数据的主要提供者之一. 如下图所示,这张截图显示了苹果地图应用程序数据提供的列表.我们可以看到iOS地图上的设置菜单,上面清楚地印有TomTom字样,此外,还包括 OpenStreetMap,它于今年早些时候开始提供提供iO