`
gaojingsong
  • 浏览: 1182530 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【mongodb之固定集合】

阅读更多

创建固定集合

有点类似数据结构中的循坏队列,先进先出方式。满队列删除原来的元素。

 

MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素!

Capped collections are fixed-size circular collections that follow the insertion order to support high performance for create, read, and delete operations. By circular, it means that when the fixed size allocated to the collection is exhausted, it will start deleting the oldest document in the collection without providing any explicit commands.

Capped collections restrict updates to the documents if the update results in increased document size. Since capped collections store documents in the order of the disk storage, it ensures that the document size does not increase the size allocated on the disk. Capped collections are best for storing log information, cache data, or any other high volume data.

 

Capped Collection(固定集合)简单介绍:

Cappend collection是性能出色的有着固定大小的集合,以LUR(Least Recently Used最近最少使用)规则和插入顺序进行age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创建时要预先指定大小,如果空间用完,新添加的对象将会取代集合最旧的对像,永远保持最新的数据

 

功能特点:

可以插入及更新,但更新不能超过collection的大小,否则更新失败,不允许删除,但是可以调用drop()删除集合中的所有行,但是drop后需要显示的重建集合,在32位机目前一个capped collection的最大值约为482.5M,64位上只受系统文件大小的限制

 

属性及用法:

属性1:对固定集合进行插入速度比较快

属性2:按照插入顺序的查询速度比较快

属性3:能够在插入最新数据时,淘汰最早的数据

 

用法1:储存日志信息

用法2:缓存一些少量的文档

 

创建固定集合

不像普通集合,固定集合需要显式的创建使用

createCollection命令来创建

 

db.createCollection('my_collection', {capped:true, size:10000});

创建一个集合为"my_collection"的固定庥合,大小为10000字节,还可以限定文档个数,加上Max 100属性

注意: 指定的文档上限,必须指定大小,文档限制是容量没满时进行淘汰,要是满了,就根据容量限制进行淘汰

 

db.c1.stats(); //查看集合的详细信息,capped是否为真表示为固定集合

 

 

 

转换为固定集合

普通集合可以通过 convertToCapped将普通集合转为固定集合

db.runCommand({convertToCapped:”test_2”,size:10,max:3})

但是固定集合的特点是: 

不能进行分区,因为它本身就是不是针对大数据集合的,所以,也许这个时候可以考虑使用TTL索引。

0
1
分享到:
评论

相关推荐

    MongoDB固定集合.pdf

    MongoDB的固定集合(Capped Collections)是一种特殊类型的集合,设计用于高效地存储有固定大小限制的数据,类似于一个循环缓冲区。固定集合的主要特点是它的大小是固定的,一旦达到上限,新的插入操作会覆盖最早的...

    MongoDB固定集合(capped collection)的知识小结

    MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection)。 固定集合可以声明collection的容量大小,其行为类似于循环队列。数据插入时,新文档会被插入到队列的末尾,如果队列已经...

    MongoDB固定集合与管理工具.pdf

    在MongoDB中,固定集合(capped collection)是一种特殊类型的集合,具有固定大小和自动溢出处理机制。当固定集合达到其容量时,新插入的文档会替换最旧的文档,确保集合始终保持在设定的大小内。 1. 创建固定集合...

    MongoDB Java创建集合.pdf

    这段代码会创建一个上限为1MB且最多存储10000个文档的固定大小(capped)集合。 6. 关闭连接 当完成数据库操作后,别忘了关闭连接: ```java mongoClient.close(); ``` 7. 错误处理 在示例代码中,我们使用了异常...

    MongoDB文档与集合.pdf

    MongoDB 还提供了一种特殊的集合类型——“固定大小集合”(Capped Collections),用于实现高性能的队列功能。Capped Collections 有固定的存储容量,一旦达到上限,新插入的数据会替换最旧的数据,保持集合的大小...

    mongodb基本命令和实例

    集合可以通过 `db.createCollection(name, options)` 创建,其中`options`可以包含`size`(预分配空间)、`capped`(是否为固定大小的集合)和`max`(固定集合的最大文档数)等。 4. **删除集合**: `db.mycoll....

    MongoDB基础入门之创建、删除集合操作

    - **size**: 当`capped`为 `true`时,此参数用于指定固定集合的最大大小(以字节为单位)。例如,`1024000`表示1MB。 - **max**: 当`capped`为 `true`时,此参数用于设定固定集合中允许的最大文档数量。例如,`...

    探索MongoDB的心脏:集合的奥秘

    2. **集合**:MongoDB 中的文档被组织在集合(Collections)中,类似于关系数据库中的表,但它们不需要有一个固定的模式。 3. **高性能**:MongoDB 提供高性能的数据持久化,特别是在处理大量的读写操作时。 4. **...

    真实可用的mongodb下周地址.txt

    视频目录: 01-mongodb文档型...07-固定集合 07-索引 08-备份与恢复 08-用户管理 09-mongoDB备份与恢复 09-安全和认证 10-replication复制集 10-主从复制 11-shard分片 11-分片 12-使用java操作mongodb

    MongoDB安装包

    相比于传统的行式数据库,MongoDB更加适合处理结构不固定或半结构化的数据。 在Linux环境下安装MongoDB 4.0.0,首先要确保系统满足其依赖条件,通常包括GCC编译器、curl库和其它必要的开发工具。接下来,可以通过...

    MongoDB入门.pdf

    MongoDB支持多种操作系统,包括Windows、Linux等,并且提供了丰富的功能集,使其成为非关系型数据库中功能最为强大且接近关系型数据库的产品之一。 #### 二、MongoDB的特点与优势 - **高性能**:MongoDB通过内存...

    MongoDB_two_MongoDB_

    MongoDB采用NoSQL数据模型,它不同于传统的关系型数据库,如MySQL或Oracle,后者依赖于固定的表结构和行列式数据存储。MongoDB使用文档(BSON格式,一种JSON的扩展)作为数据存储单元,这些文档可以包含嵌套的数据...

    详解MongoDB中创建集合与删除集合的操作方法

    在MongoDB中,数据存储在集合(Collections)中,类似于关系型数据库中的表。本篇文章将详细解析如何在MongoDB中创建和删除集合的操作方法。 ### 创建集合 创建集合主要使用`createCollection()`方法。在MongoDB ...

    mongoDB部署.doc

    MongoDB的强大之处还在于其支持大数据处理,可以处理大规模的数据集。它内置了复制集功能以实现数据冗余和高可用性,以及分片(sharding)机制以实现水平扩展,处理海量数据。此外,MongoDB还支持多种数据类型,包括...

    MongoDB;学习资料

    2. **集合(Collection)**:集合相当于关系型数据库中的表,但没有固定的模式。集合包含一个或多个文档,文档之间不必有相同的字段或结构。 3. **数据库(Database)**:数据库是MongoDB中存储数据的基本单位,...

    MongoDB简介与实践.pdf

    MongoDB使用的是集合(Collection)作为存储数据的容器,每个集合可以包含多个JSON格式的文档(Document)。它支持嵌套文档(Embedded Document)和分片(Shard),使用分片键(ShardKey)来分布数据。 9. MongoDB...

Global site tag (gtag.js) - Google Analytics