博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【MongoDB】Mongodb数据库之Capped Collection集合
阅读量:4169 次
发布时间:2019-05-26

本文共 790 字,大约阅读时间需要 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中能够存放的最大文档数。 

你可能感兴趣的文章
MySQL数据库文件管理
查看>>
MySQL数据库字符集管理
查看>>
linux系统应用-ftp建立连接优化
查看>>
PG数据库死锁无法insert和update操作
查看>>
信息安全加固-linux系统修改SSH端口号
查看>>
linux系统管理—存储管理未完成
查看>>
SQL数据库管理—DBCC数据库修复
查看>>
MySQL数据库默认数据库
查看>>
ITIL-IT运维管理-概述
查看>>
MySQL初始化过程与源代码分析
查看>>
MySQLInnoDB存储引擎基本管理20201018
查看>>
MySQLInnoDB表空间管理20201102
查看>>
MySQL深入分析InnoDB2020-11-22
查看>>
MySQL- InnoDB监控20201122
查看>>
MySQL版本升级20201128
查看>>
liux7防火墙管理20201209
查看>>
MySQLInnoDB锁与事务理解20201210
查看>>
MySQLInnoDB存储引擎基本管理20201128
查看>>
MySQLInnoDB表空间管理20201109
查看>>
MySQL InnoDB redo与undo20201222
查看>>