MongoDB空间整理
测试环境:192.168.1.55,单机
数据量: 4千万左右。
测试:db.repaireDatabase效果
db.compact 效果
通过stats命令获取该数据库的相关信息:
db.stats() { "db" : "test",
"collections" : 7, --collection 数量
"objects" : 28, --对象数量
"avgObjSize" : 50.57142857142857, --对象平均大小
"dataSize" : 1416, --数据大小
"storageSize" : 31744, --数据大小(含预分配空间)
"numExtents" : 7, --事件数量
"indexes" : 7, --索引数量
"indexSize" : 57344, --索引大小
"fileSize" : 50331648, --文件大小
"ok" : 1 --本次取stats 是否正常
} >
1. 未删数据前
show dbs
aa 0.000GB
admin 0.000GB
gwgps 3.609GB
local 0.000GB
db.stats()
{
"db" : "gwgps",
"collections" : 1,
"objects" : 41345131,
"avgObjSize" : 554.8684502656431,
"dataSize" : 22941108764,
"storageSize" : 3081945088,
"numExtents" : 0,
"indexes" : 3,
"indexSize" : 792702976,
"ok" : 1
}
2.程序删除N条后
show dbs
aa 0.000GB
admin 0.000GB
gwgps 3.610GB
local 0.000GB
db.stats()
{
"db" : "gwgps",
"collections" : 1,
"objects" : 41344233,
"avgObjSize" : 554.8684691284514,
"dataSize" : 22940611272,
"storageSize" : 3081945088,
"numExtents" : 0,
"indexes" : 3,
"indexSize" : 794288128,
"ok" : 1
}
3.repaireDatabase之后
db.repairDatabase()
{ "ok" : 1 }
show dbs
aa 0.000GB
admin 0.000GB
gwgps 3.609GB
local 0.000GB
db.stats()
{
"db" : "gwgps",
"collections" : 1,
"objects" : 41344233,
"avgObjSize" : 554.8684691284514,
"dataSize" : 22940611272,
"storageSize" : 3081945088,
"numExtents" : 0,
"indexes" : 3,
"indexSize" : 792682496,
"ok" : 1
}
4.compact命令
> db.runCommand({compact:'location'}) { "ok" : 1 }
show dbs
aa 0.000GB
admin 0.000GB
gwgps 3.612GB
local 0.000GB
db.stats()
{
"db" : "gwgps",
"collections" : 1,
"objects" : 41337719,
"avgObjSize" : 554.8686059818637,
"dataSize" : 22937002516,
"storageSize" : 3081945088,
"numExtents" : 0,
"indexes" : 3,
"indexSize" : 795889664,
"ok" : 1
}
经过重复循环多次删除之后,用repaireDatabase,show dbs, du -sh命令查看空间,暂得到如下结论:
1. 使用db.repairDatabase时候建议停止数据库的读写,需要大于等于数据差不多的空间,否则可能无法执行该命令。
2. 4千万数据repairDatabase需要大约10分钟左右,40亿,400亿,4000亿效果待测。
3. storageSize 该值未减少,因为包括预分配空间,有其积极的意义。
4. 实际空间减少的是索引所占的空间。
5. 对空间可控可以禁用日志或日志轮询复写,但不推荐。
6. 禁止预分配空间或预设置分配空间(启动数据库时可以选择noprealloc参数),但影响插入效率。
7. 推荐合适时机定时压缩,采用compact压缩指定collection,或repairDatabase压缩数据库。
MongoDB空间整理的更多相关文章
- mongodb安全整理
本文大都网上参考的,我只是整理了一下 一默认配置情况 1.MongoDB安装时不添加任何参数,默认是没有权限验证的,任何用户都可以登录进来,而且登录的用户可以对数据库任意操作而且可以远程访问数据库,需 ...
- mongodb基础整理篇————常规操作[二]
前言 简单整理一下常规操作. 正文 虽然一般说写代码看的是思想,但是呢,如果不知道mongodb 有哪些常用的操作,那么你怎么能知道mongodb是否符合你的需求,比如说如果聚合功能都没有,你得自己写 ...
- mongodb基础整理篇————副本概念篇[外篇]
前言 副本集整理. 开始逐步把mongodb博客补齐了. 正文 什么是副本集 副本集是一组服务器,其中一个是用于处理写入操作的主节点,还有多个用于保存主节点的数据副本的从节点. 如果主节点崩溃了,则从 ...
- 【面试虐菜】—— MongoDB知识整理
为什么我们要使用MongoDB? 特点: 高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持完全索引,包含内部对象. 支 ...
- 现在开始学习WPF了,mongodb在整理一下
回忆一下自己学习mongodb的过程 1安装 2增删改查 3数据类型转换 4GridFS 5权限管理--开启权限之前先建立一个超级用户(admin库中),开启权限,用该用户登陆,进入admin数据库( ...
- mongodb菜鸟整理 2 C#Driver使用
一下载 从官网上下载... 二 引用 下载完了将其解压到某个文件夹内,打开vs建立一个工程 右键引用,找到刚才解压的目录,把里面说有的dll文件全部添加就好 三 命名空间 我都是先打然后alt+shi ...
- mongodb菜鸟整理
一,mongodb的安装与连接 从官网下载后,解压或者安装到某个目录下 1 首先需要自己创建一个db文件夹 ,用于存放数据库的数据 然后还需要创建一个log文件夹,里面需要自己创建一个mongodb ...
- MongoDB——待整理
MongoDB mongoose——http://mongoosejs.com/ npm i mongoose Mongoose 通过外键与另一张表建立关联:Mongoose Populate 基本使 ...
- mongoDB用法整理
1. mongoDB UI工具, Studio 3T,用Non_Commercial的版本就足够. 2. 查询某字段长度大于特定值的 db.test.find({ F_DAQDATA: { $type ...
随机推荐
- tcp连接管理
[root@ok etc]# cat /proc/sys/net/core/netdev_max_backlog 每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目 ...
- IBM V7000
IBM_V7000 http://www.tuicool.com/articles/7vI7ja http://www.ibm.com/support/knowledgecenter/en/ST3FR ...
- (转)浅谈MD5加密算法中的加盐值(SALT)
我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就 ...
- php session跨页面传递 session值丢失问题
.session_start();应该尽量放置到页面的顶部: .如果php.ini里面没有配置 session Autostart的话,每次会话之前,都得手动开启session:session_sta ...
- poj 3517 约瑟夫环
最简单的约瑟夫环,虽然感觉永远不会考约瑟夫环,但数学正好刷到这部分,跳过去的话很难过 直接粘别人分析了 约瑟夫问题: 用数学方法解的时候需要注意应当从0开始编号,因为取余会等到0解. 实质是一个递推, ...
- 在visual studio 2010中调用ffmpeg
转自:http://blog.sina.com.cn/s/blog_4178f4bf01018wqh.html 最近几天一直在折腾ffmpeg,在网上也查了许多资料,费了不少劲,现在在这里和大家分享一 ...
- LinQ的一些基本语句
LINQ(Language Integrated Query)即语言集成查询.它是一种语言特性和API,使得你可以使用统一的方式编写各种查询,查询的对象包括xml.对象集合.SqlServer数据库等 ...
- SU Demos-02Filtering-02Subfilt
巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑.这种滤波器最先由英国工程师斯替芬·巴特沃斯(Stephen Butterworth)在1930年发表在英国<无线电工程>期刊的一篇论文中提 ...
- 概率 Gym 100502D Dice Game
题目传送门 /* 题意:两个人各掷两个骰子,给出每个骰子的最小值和最大值,其余值连续分布 问两人投掷,胜利的概率谁大 数据小,用4个for 把所有的可能性都枚举一遍,统计每一次是谁胜利 还有更简单的做 ...
- iOS汉字中提取首字母
NSMutableString *mutableStr = [[NSMutableString alloc]initWithString:string]; if (CFStringTransform( ...