Mongodb Capped Collection集合
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素!
创建固定集合
我们通过createCollection来创建一个固定集合,且capped选项设置为true:
>db.createCollection("cappedLogCollection",{capped:true,size:10000})
还可以指定文档个数,加上max:1000属性:
>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})
判断集合是否为固定集合:
>db.cappedLogCollection.isCapped()
如果需要将已存在的集合转换为固定集合可以使用以下命令:
>db.runCommand({"convertToCapped":"posts",size:10000})
以上代码将我们已存在的 posts 集合转换为固定集合。
固定集合查询
固定集合文档按照插入顺序储存的,默认情况下查询就是按照插入顺序返回的,也可以使用$natural调整返回顺序。
>db.cappedLogCollection.find().sort({$natural:-1})
固定集合的功能特点
可以插入及更新,但更新不能超出collection的大小,否则更新失败,不允许删除,但是可以调用drop()删除集合中的所有行,但是drop后需要显式地重建集合。
在32位机子上一个cappped collection的最大值约为482.5M,64位上只受系统文件大小的限制。
固定集合属性及用法
属性
- 属性1:对固定集合进行插入速度极快
- 属性2:按照插入顺序的查询输出速度极快
- 属性3:能够在插入最新数据时,淘汰最早的数据
用法
- 用法1:储存日志信息
- 用法2:缓存一些少量的文档
Capped Collection是性能出色的有着固定大小的集合,以LRU(least Recently Used,最近最少使用)规则和插入顺序执行age-out(老化移出)处理,自动维护集合中对象的插入顺序。
一、创建Capped Collection
创建时候要预先指定大小,如果空间用完,新添加的对象将会取代集合中最近的对象。更新如果超出了collectiond 大小,则会更新失败。虽然不允许删除,但是可以调用drop方法删除集合中所有的文档。 删除后要显示重建集合。在32机器上,一个capped collection的最大值约是482.5M,64位只受系统文件大小的限制。
一个普通的collection转换为Capped Collection,只要调用convertToCapped()命令即可;
二、Capped Collection的用途
Capped Collection是mongodb中日志机制的首选,mongodb没有使用日志文件,而是吧日志文件存储在数据库中。在一个没有索引的capped collection中插入对象的速度与在文件系统中记录的日志速度相当。
在内存中缓存一些对象,比如,计算出来的统计信息一般需要在collection上建立一个索引,因为使用缓存往往是读比写多。
可以利用capped collection的age-out特性,省去写crontab脚本执行人工归档的工作。
三、注意事项
1.如果写比读多,最好不要在上面创建索引;
2,使用natual ordering可以有效地检索最近插入的元素,因为capped collection能够保证自然排序就是插入的顺序。
3. capped collection不能被shard.
4. 可以在创建capped collection时指定collection中能够存放的最大文档数
参见:http://blog.csdn.net/sxb0841901116/article/details/41688003
转载于:https://www.cnblogs.com/GtShare/p/7661882.html
Mongodb Capped Collection集合相关推荐
- mongodb Capped Collection
MongoDB 支持 Capped Collection,一种固定大小的集合,当集合的大小达到指定大小时, 新数据覆盖老数据,MongoDB Replica set 中的 oplog 就是 Cappe ...
- MongoDB Capped Collection 使用
一 Capped Collection 简介 Capped Collection 是一种特殊的集合,它大小固定,当集合的大小达到指定大小时,新数据覆盖老数据.Capped collections可以 ...
- MongoDB Capped Collection介绍
简单介绍 capped collections是性能出色的有着固定大小的集合(定容集合),以LRU(Least Recently Used最近最少使用)规则和插入顺序进行 age-out(老化移出)处 ...
- mongodb的capped Collection集合
db.createCollection(name, {capped: true, autoIndexId: true, size: 1000, max :100} ) name:集合的名字 cappe ...
- MongoDB 之 Capped Collection
MongoDB 支持 Capped Collection,一种固定大小的集合,当集合的大小达到指定大小时, 新数据覆盖老数据,MongoDB Replica set 中的 oplog 就是 Cappe ...
- MongoDB固定集合(capped collection)
一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...
- mongodb固定集合(Capped Collection)和大文件管理(GridFS)
Capped Collection 固定集合(Capped Collection)是性能出色的有着固定大小的集合,以LRU(Least Recently Used最近最少使用)规则和插入顺序进行age ...
- mongodb固定集合(Capped Collections) | MongoDB 自动删除集合中过期的数据——TTL索引
文章目录 mongodb固定集合(Capped Collections) 一.什么是mongodb固定集合(Capped Collections) 二.Capped Collections使用场景 三 ...
- 【MongoDB】固定集合(Capped Collections)
本章内容: 概述 特性 限制和建议 使用步骤 一.概述 固定集合是大小固定的集合,它们支持高吞吐量操作,这些操作根据插入文档和按照插入顺序检索(retrieve)文档.固定集合的工作方式类似于循环缓存 ...
最新文章
- 任意长度的字典生成算法
- 2013-10-31 《October 31st, 2013》
- QT的QCullFace类的使用
- c语言布尔 printf,fmt.Printf中的格式化动作('verb')
- 职场潜规则:领导常说的10句话,学会3句以上你不会混的太差!
- 郝斌--数据结构---汉诺塔实现(c语言实现)
- linux服务器出现黄,linux服务器出现严重故障后的原因以及解决方法
- java permgen_Java 8:从PermGen到元空间
- FFmpeg架构之I/O模块分析
- Elasticsearch 健康状态处理
- 100句话,是否会触动你?
- 对单片机毕业设计的理解
- C语言求:哥尼斯堡七桥问题
- 好用的在线工具,提高你的办公工作效率
- SAP中ABAP的生产订单调用BAPI进行投料BAPI_GOODSMVT_CREATE(根据生产订单号进行投料,可以修改物料数量)
- mtk 手机 linux,【ZT】MTK X20编译环境搭建 烧写安卓固件详细教程
- mysql 查询最近三个月的数据
- BlueHost主机从零开始使用笔记,我踩过的坑你就不要踩了.
- 转龚文祥的一篇文章:对看起来很美的网站要保持审慎的乐观
- 为什么很多企业都在使用短信群发?原来是有3大好处!
热门文章
- 摩根大通CEO吉米·戴蒙质疑比特币2100万枚上限的道理和错误
- 科研论文写作工具推荐
- Exchanger 线程数据交换器
- IBM首位CMO谈新型营销理念:“增强营销”的崛起
- oracle数据库管理题库,oracle数据库题库
- 【HTML】浪漫程序员 HTML5爱心表白动画
- linux系统 gwas分析,GWAS真的只有关联分析这么简单?
- iMeta | 中国农大杨栋组揭示膳食纤维化学结构对肠道微生物的调控
- 【PF三维路径规划】基于matlab改进的粒子滤波无人机三维路径规划【含Matlab源码 1269期】
- Idea中更改编码方式