二、Collections
概述
Collections可以理解为关系数据库中的表。Mongo是一个模式自由的数据库,意味着在存入数据之前不必声明字段类型。一个Collections会在第一次插入数据的时候自动创建。
命名规则
一个Collections必须以字母或下划线开头,可以包含数字。$是保留字符。每个Collections的命名长度上限为120个字符(包括索引名和数据库名),推荐保持在80~90个字符以内。
Capped Collections
这是一种固定大小的Collections,具有非常高的性能,LRU算法(特意百度了一下,一种类似GC的机制)。必须在创建Collections的时候就指定是Caped Collections和以字节为单位定义空间大小。
db.createCollection("mycoll", {capped:true, size:100000})
需要注意的地方:
1、mongo不允许删除一个非空的Capped Collections,使用drop()方法先把Collections内的所有记录删除。
2、一个capped Collections在32位系统上的最大值为1e9字节*(约和482.5M),在64位系统则只有系统限制。
3、一旦存储空间用完,则最后插入的数据会覆盖掉最早插入的数据。
4、logging。Mongo中日志机制的首选,Mongo没有使用日志文件,而是把日志事件存储在数据库中。在一个没有索引的capped collection中插入对象的速度与在文件系统中记录日志的速度相当。
5、 cache。缓存一些对象在数据库中,比如计算出来的统计信息。这样的需要在collection上建立一个索引,因为使用缓 存往往是读比写多。
6、auto archiving。可以利用capped collection的roll out特性,省去了写cron脚本进行人工归档的工作。
7、可以在创建capped collection时指定collection中能够存放的最大文档数。但这时也要指定size,因为总是先检查size后检查maxRowNumber。可以使用validate()查看一个collection已经使用了多少空间,从而决定size设为多大。如:
db.createCollection("mycoll", {capped:true, size:100000, max:100});
db.mycoll.validate();
max=1时会往collection中存放尽量多的documents。
8、上述的createCollection函数也可以用来创建一般的collection,还有一个参数"autoIndexID",值可以为"true"和"false"来决定是否需要在"_id"字段上自动创建索引,如:
db.createCollection("mycoll", {size:10000000, autoIndexId:false})
默认情况下对一般的collection是创建索引的,但不会对capped collection创建。
未完待续
http://www.mongodb.org/display/DOCS/Capped+Collections
分享到:
相关推荐
mongodb学习笔记资料,从安装到操作库collection 对document的crud 索引 replicaSet sharding 备份与恢复
自己在学习MongoDB的一些笔记,里面有各个查询选择器的使用截图,还有一些索引的介绍。
mongodb学习笔记
MongoDB学习笔记思维导图.pdf
MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_...
Mongodb 学习笔记
主要介绍了MongoDB学习笔记之GridFS使用介绍,本文介绍了GridFS的作用、GridFS的一些使用方法、GridFS实现原理及注意事项等,需要的朋友可以参考下
mongoDB学习笔记及工具
mongodb学习资料,包括mongodb_and_python学习笔记、mongodb权威指南、mongodb学习手册、mongodb总结。
总结的MongoDB的学习笔记,基本上包括了MongoDB的方方面面,每个知识点,都有示例代码,有需要的朋友,可以下载下来进一步补充完善。
一、关于MongoDB的驱动MongoDB支持多种语言的驱动,在此我们只介绍C#的驱动 二、通过samus驱动实现HelloWorld存取在进行下述操作之前,请
MongoDB学习MongoDB学习MongoDB学习
二、MongoDB结构 3 二、MongoDB 数据库关系型(这里并不是值关系型数据库的关系) 3 1、MongoDB一对一关系型 3 2、MongoDB一对多关系型 4 3、MongoDB多对多关系型 4 三、创建数据库(mongodb_test) 4 四、MongoDB得...
MongoDB 入门教程笔记
主要介绍了MongoDB学习笔记之分组(group)使用示例,本文直接给出一组测试数据,然后练习分组的基本使用,需要的朋友可以参考下