mongo capped collection功能介绍及使用注意事项
来源:互联网 发布:2017最火的编程语言 编辑:程序博客网 时间:2024/06/16 19:58
简单介绍:
在mongodb中,除了普通的collections,还有一种特殊的collections,叫做capped collections,他有点类似于myql 的ib_logfile,
预先分配大小,插入时以先进先出的方式处理,自动维护集群的大小和顺序,写入时如果不建索引和mysql的日志写入性能差不多,都是顺序写入;
创建方式:
db.createCollection;
function (name, opt) {
var options = opt || {};
var cmd = {create:name, capped:options.capped, size:options.size, max:options.max};
if (options.autoIndexId != undefined) {
cmd.autoIndexId = options.autoIndexId;
}
var res = this._dbCommand(cmd);
return res;
}
5个参数
name:集合名字
capped:创建capped 集合必选
size:文件大小字节
max最大记录数
autoIndexId如果指定为true,会在_id上创建索引,默认情况下collection是创建索引的,但是capped collection不创建
在32为机器上最大大小为482M,在64为机器上受文件系统限制;
查看已经使用了多少空间的函数
validate()
查看是否是固定集合
isCapped()
将普通集合转换为capped collection
db.runCommand({"convertToCapped":"mysqlcoll",size:1000})
使用约束
只能插入和更新,删除需要使用drop()删除所有行,删除行数之后必须显示重新创建;
如果试图插入一个比size还大的集合会失败
检查大小是优先顺序是先size后maxRowNumber
不能sharding
常见用处
1.logging
MongoDB 中日志机制的首选,MongoDB 没有使用日志文件,而是把日志事件存储在数 据库中。在一个没有索引的capped collection中插入对象的速度与在文件系统中记录日 志的速度相当。
2. cache
缓存一些对象在数据库中,比如计算出来的统计信息。这样的需要在 collection 上建立 一个索引,因为使用缓存往往是读比写多。
3. auto archiving
可以利用capped collection的age-out特性,省去了写cron脚本进行人工归档的工作。
推荐用法
1.为了发挥capped collection的最大性能,如果写比读多,最好不要在上面建索引,否则插入速度从"log speed"降为"database speed"。
在mongodb中,除了普通的collections,还有一种特殊的collections,叫做capped collections,他有点类似于myql 的ib_logfile,
预先分配大小,插入时以先进先出的方式处理,自动维护集群的大小和顺序,写入时如果不建索引和mysql的日志写入性能差不多,都是顺序写入;
创建方式:
db.createCollection;
function (name, opt) {
var options = opt || {};
var cmd = {create:name, capped:options.capped, size:options.size, max:options.max};
if (options.autoIndexId != undefined) {
cmd.autoIndexId = options.autoIndexId;
}
var res = this._dbCommand(cmd);
return res;
}
5个参数
name:集合名字
capped:创建capped 集合必选
size:文件大小字节
max最大记录数
autoIndexId如果指定为true,会在_id上创建索引,默认情况下collection是创建索引的,但是capped collection不创建
在32为机器上最大大小为482M,在64为机器上受文件系统限制;
查看已经使用了多少空间的函数
validate()
查看是否是固定集合
isCapped()
将普通集合转换为capped collection
db.runCommand({"convertToCapped":"mysqlcoll",size:1000})
使用约束
只能插入和更新,删除需要使用drop()删除所有行,删除行数之后必须显示重新创建;
如果试图插入一个比size还大的集合会失败
检查大小是优先顺序是先size后maxRowNumber
不能sharding
常见用处
1.logging
MongoDB 中日志机制的首选,MongoDB 没有使用日志文件,而是把日志事件存储在数 据库中。在一个没有索引的capped collection中插入对象的速度与在文件系统中记录日 志的速度相当。
2. cache
缓存一些对象在数据库中,比如计算出来的统计信息。这样的需要在 collection 上建立 一个索引,因为使用缓存往往是读比写多。
3. auto archiving
可以利用capped collection的age-out特性,省去了写cron脚本进行人工归档的工作。
推荐用法
1.为了发挥capped collection的最大性能,如果写比读多,最好不要在上面建索引,否则插入速度从"log speed"降为"database speed"。
2.使用"nature ordering"可以有效地检索最近插入的元素,因为capped collection能够保证自然排序就是插入时的顺序,类似于log文件上的tail操作
参考文献
http://www.cnblogs.com/zhy4606/archive/2011/09/14/2175424.html
http://xiayuanfeng.iteye.com/blog/989024
- mongo capped collection功能介绍及使用注意事项
- mongo capped collection简介
- Mongo 学习笔记--Capped Collection
- MongoDB Capped Collection介绍
- MongoDB Capped Collection 使用
- MongoDB Capped集合 使用注意事项
- mogodb capped collection
- MongoDB---Capped Collection
- MongoDB Capped Collection
- mongodb Capped Collection
- 7、固定集合 (capped collection)
- mongoDB 定长集合(capped collection)
- Mongo 介绍和使用
- mongodb 使用- capped
- PyCharm简单使用介绍及注意事项
- 浮点数介绍及使用注意事项
- AsyncTask 的使用介绍及注意事项
- MongoDB中的Capped Collection和GridFS
- B Have a Nice Day
- 深度解析Android Activity初探
- JAVA从入门到提高—程序设计基础01
- JDK,JRE,JVM区别与联系
- BF,KMP,AC详解
- mongo capped collection功能介绍及使用注意事项
- ZXing 加入条形码一维码处理
- upcoj 2169 DP
- Agile Web Development with Rails第六章笔记——任务A:创建应用程序
- 罗列HostName下所有的git工程
- ffmpeg(1)详细说明:FFMPEG教程01指导1:制作屏幕录像
- 布局参数
- 计算机操作系统调度算法,C++实现FSFS,SJF,RR,多级反馈队列算法
- android studio使用教程