Submitted by admin on 2019, July 31, 8:24 PM
可以通过传参数,比如
db.stats(1024)
得到的是kb单位的
db.stats(1073741824);
-------
- var collNames = db.getCollectionNames();
- for (var i = 0; i < collNames.length; i++) {
- var coll = db.getCollection(collNames[i]);
- var stats = coll.stats(1024 * 1024);
- print(stats.ns, stats.storageSize);
- }
mongodb | 评论:0
| Trackbacks:0
| 阅读:558
Submitted by admin on 2019, March 20, 10:48 PM
db.runCommand({cloneCollection:"ball.othermatch",from:"127.0.0.1:27017"})
https://blog.csdn.net/wulex/article/details/83479516
mongodb | 评论:0
| Trackbacks:0
| 阅读:324
Submitted by admin on 2018, November 5, 8:36 PM
安全的关闭/停止mongodb的方法
> use admin
> db.shutdownServer()
六.改变oplogSize的大小
变更oplog的大小,这是一个挺大的工程
首先要停掉主节点,然后删除local数据库.
rm /data/db/local.*
接着再以--oplogSize来重新定义大小.
mongod --master --oplogSize 多少MB
再以--autoresync的选项重启所有从节点.
1.配置主节点
创建数据的存放目录与日志的存放目录:
mkdir /mongodb/master
mkdir /mongodb/log
接着把主节点的配置写在一个配置文件中,从而来启动的时候能用--config这个参数来指定配置,配置文件内容如下.
dbpath=/mongodb/master
logpath=/mongodb/log/master.log
master=true
fork=true
port=27017
oplogSize=2048
2.配置从节点
创建数据的存放目录与日志的存放目录:
mkdir /mongodb/slave
mkdir /mongodb/log
接着写从节点的配置文件.
dbpath=/mongodb/slave
logpath=/mongodb/log/slave.log
slave=true
source=192.168.1.2:27017
fork=true
port=27017
autoresync=true
mongodb | 评论:0
| Trackbacks:0
| 阅读:409
Submitted by admin on 2018, October 12, 5:04 PM
1123 git clone https://github.com/mrvautin/adminMongo
1124 cd adminMongo/
1129 npm install
1130 npm start
mongodb | 评论:0
| Trackbacks:0
| 阅读:291
Submitted by admin on 2018, October 12, 5:01 PM
今天看了mongodb的官方文档中的WiredTiger Storage Engine ,说说我对WiredTiger Storage Engine 的理解!
在mongodb3.2版本以后,wiredTiger 存储引擎为默认的储存引擎。
Document Level Concurrency
WiredTiger 的写操作使用了Document 级别的并发控制,因此多个clients可以同时同一个collection 中的不同的document 进行修改。
为了尽可能多的读和写操作,WiredTiger 使用了optimistic concurrency control(乐观的并发控制),相当于乐观锁,WiredTiger的全局的专一的锁,仅仅存在于database 和 collections 级别,例如:drop 一个collections,需要一个database级别的锁。当存储引擎在database 和collection的锁之间发生冲突时,其中的一个将会引发数据库写的冲突导致mongdb 去重新进行此操作。
Snapshots and Checkpoints
WiredTiger 使用 多版本并发控制(MVCC)。再开始的操作中,WiredTiger 为这个事务提供一个数据的时间点的快照(snapshot),一个快照呈现一组在内存中的数据的视图。
当写进磁盘时,WiredTiger 把所有的在snapshot中的数据通过相同的方法传递到磁盘中的数据文件。把在数据文件中的久经耐用的数据作为一个检查站(checkpoint),这个检查站确保数据文件和上一个检查站的数据是一致的,包括最后一个检查站。eg:检查站可以作为数据的恢复的点。mongodb配置的WiredTiger 去创建的站点是在间隔60秒或者2 GB的日志数据。
在写一个新的站点期间,如果前面一个站点仍然是有效的,就这点而论,如果mongodb 意外结束或者突然遇到一个错误,再重新开始之前,mongodb 可以从上一个有效的checkpoint恢复数据。
当WiredTiger 元数据的表被原子性的更新到新的检查站点的说明文档时,这个新的站点变得可用和稳定,一但新的站点变的可用,WiredTiger会释放pages从旧的检查站点。
Journal
WiredTiger 使用一个write-ahead 处理log, 并且结合检查站点去确保数据的耐久性。
WiredTiger 日志呈现了所有的数据在检查站点之间的变化,如果mongodb在检查站点之间退出,它使用日志去重新从上一个检查站点更新所有的被修改的数据,信息更新的频率和mongodb把日志数据写到磁盘的频率相同。WiredTiger 的日志是使用了快速压缩库被压缩,如果自己想指定一个混合的压缩运算或者不压缩使用 storage.wiredTiger.engineConfig.journalCompressor
WiredTiger的最小的log 记录大小是128 bytes。如果一个log 记录小于等于128 bytes, WiredTiger 不会压缩这个log 记录。
Compression
在mongodb中,使用WiredTiger ,mongodb 支持压缩为所有的collection 和index ,压缩是使用额外CPU的开支减少存储空间。默认的情况下,WiredTiger使用块级别的压缩,所有的collections 被使用快速压缩库,所有的索引(index)被使用前缀压缩。在压缩collections 的时候 ,块级别的压缩用 zlib 也是可用的,去指定一个轮流的压缩运算或者不压缩,使用storage.wiredTiger.collectionConfig.blockCompressor ,假如你不想去压缩index,你可以看下storage.wiredTiger.indexConfig.prefixCompression
对于大多数工作的负载,默认的压缩设置平衡了存储效率和处理要求。
Memory Use
mongodb 使用WiredTiger,mongodb 利用WiredTiger内部的cache和文件系统的cache。
在mongdb 3.4 的版本以后,WiredTiger 内部的cache将变得更大:50%内存减去1GB 或者是256MG,通过文件系统的cache ,mongodb 自动的使用所有的空闲的内存,这些内存是不被WiredTiger cache 或者其他进程使用的。数据是在文件系统的cache里被压缩的。去调整WiredTiger内部cache 的大小可以看storage.wiredTiger.engineConfig.cacheSizeGB。
切记 ,不要调整WiredTiger内部cache的大小超过默认值。
mongodb | 评论:0
| Trackbacks:0
| 阅读:284
Submitted by admin on 2018, October 12, 5:00 PM
如何检查当前mongodb是否启用了WiredTiger存储引擎?
可以至少通过以下2种方法 验证:
1、在Linux/OSX上执行如下的命令
WIREDTIGER_CONFIGURED=`ps -ef|grep mongod|grep -i storageengine|grep -ic wiredtiger`
echo ${WIREDTIGER_CONFIGURED}
如果返回为1则说明当前系统中运行着一个以WiredTiger为存储引擎的mongod
2、在Linux/OSX上执行如下的命令
echo "db.serverStatus()"| mongo|grep wiredTiger
若返回信息中有wiredTiger,则说明该mongo连接到了一个启用了wiredTiger存储引擎的mongod.
注意对于启用了wiredTiger的文件路径–dbpath,无法再使用默认mmapv1存储引擎打开,例如:
ac:mongodata maclean$ mongod --storageEngine wiredTiger --dbpath /Users/maclean/mongodata
mongodb | 评论:0
| Trackbacks:0
| 阅读:318
Submitted by admin on 2018, October 12, 4:59 PM
1.MongoDB 3.2之后默认启动的是wiredTiger 引擎这个引擎和原来的引擎访问方式不一样。你用命令mongod --storageEngine mmapv1 --dbpath 数据目录 这样启动的是原来的数据引擎在用MongoVE连接就可以了
2.WiredTiger
MongoDB自身拥有MMAPv1引擎,在3.0版本中加入了之前收购的WiredTiger的存储引擎技术。
通过 WiredTiger,MongoDB 3.0 实现了文档级别的并发控制(Concurrency Control),因此大幅提升了大并发下的写负载。
用户可以自己选择储存数据的压缩比例,MongoDB 3.0提供最高达80%的压缩率,不过压缩率越高数据处理的时间成本也越多,用户可以自行权衡应用。
MMAPv1
增强了集合(collection)级别的并发控制
启动WiredTiger
mongod --storageEngine wiredTiger
---------------------
作者:风灵使
来源:CSDN
原文:https://blog.csdn.net/wulex/article/details/51800612?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
mongodb | 评论:0
| Trackbacks:0
| 阅读:413
Submitted by admin on 2018, October 12, 4:58 PM
教程提供了改变独立MongoDB实例的存储引擎为wiredtiger存储引擎的概述。
注意:
本教程使用mongodump和mongorestore工具导出和导入数据,确保MongoDB组件安装在你的系统之中,另外,确保使用WiredTiger运行的MongoDB实例有足够的存储空间供mongodump导出文件和数据文件。
1.启动将要使用WiredTiger存储引擎的mongo实例
2.使用mongodump导出数据
mongodump --out <exportDataDestination>
适当的指定其他的参数选项,如果开启了authorization认证加上username和password
3.为使用WiredTiger存储引擎运行的mongod实例创建一个目录,mongod必须对这个目录拥有读和写的权限
4.启动mongod实例并且指定存储引擎为WiredTiger和数据存储目录
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath>
5.使用mongorestore导入数据文件
mongorestore <exportDataDestination>
---------------------
作者:随风yy
来源:CSDN
原文:https://blog.csdn.net/yaomingyang/article/details/74913707?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
mongodb | 评论:0
| Trackbacks:0
| 阅读:336