`

mongoDB capped collection预先分配磁盘空间

阅读更多

                 生产环境为了存储一个大数据,建立了一个定额的表,额度是size = 500G  count = 5亿,我需要在12台机器上建立这个定额的表,之前测试都使用的小额度限制,创建很快,这次在线上创建这么大的额度,结果直接卡主了,其实不是卡住了,是server一直在预先分配磁盘空间,mongo建立文件是从16K 32K 64K 直到2G 然后不再增大,这次定额的500G,mongoDB在server端预先建立了接近250个文件,总共耗费时间24分钟,可恨之前没考虑到这个,现在我12台机器需要将近5个小时,如果是并行只有24分钟就ok。所以以后建立定额的大表,记得需要并行来操作。之前日常没发现这个问题。同时mongo这个定额功能预先分配磁盘空间对于运行时使用效率有大大的提高了。

 

分享到:
评论

相关推荐

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

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

    基于MongoDB的日志系统Mongodb-Log.zip

    MongoDB 的 Capped Collection是一个天生的日志系统,MongoDB自己的oplog就是用它来存储的,Capped Collection的特点是可以指定Collection的大小,当记录总大小超过设定大小后,老的数据会被自动抹掉用于存储新的...

    MongoDB释放空闲空间的几种常用方法

    然而,当我们在MongoDB中删除文档或集合后,MongoDB不会立即释放这些已占用的磁盘空间,而是保留空记录列表供后续插入操作使用。这可能导致磁盘空间利用率低下,尤其是在频繁进行增删改操作的环境中。为了优化空间...

    详解清除MongoDB所占用的多余的磁盘空间的方法

    首先一点就是mongodb 不会释放已经占用的硬盘空间,即使drop collection也不行,除非drop database。如果一个db曾经有大量的数据一段时间后又删除的话,硬盘空间就是一个问题,如何收回被mongdodb占用的多余空间?...

    OpenStack Ceilometer用MongoDB解决占用磁盘空间过大问题

    OpenStack Ceilometer用MongoDB解决占用磁盘空间过大问题 背景:Ceilometer使用MongoDB作为数据库,不断进行采样,导致数据量膨胀,占用过多的磁盘空间。 知识背景 1.数据库文件类型 1.1. journal 日志文件 跟...

    解析MongoDB的内部构造

    这种预分配策略可以保证写入性能的稳定性,防止因频繁分配磁盘空间而导致的阻塞。如果不需要预分配,可以通过启动参数`--noprealloc`关闭此功能。 数据库的结构包括名字空间和盘区。名字空间是数据库的组成部分,每...

    python2.7导入shp文件到mongodb

    def shp2mongodb(shape_path, mongodb_server, mongodb_port, mongodb_db, mongodb_collection, append, query_filter): """Convert a shapefile to a MongoDB collection""" print('Converting a shapefile to a ...

    五、MongoDB 学习PPT

    MongoDB的核心概念包括库(database)、集合(collection)和文档(document)。库是MongoDB中数据的最高级别组织单位,类似于SQL中的数据库。集合是库中的逻辑单元,类似表,但不需要预定义模式,这意味着集合内的...

    collection-sample:MongoDB集合中的样本文档

    mongodb-collection-sample 来自MongoDB集合的样本文档。 安装 npm install --save mongodb-collection-sample 例子 npm install mongodb lodash mongodb-collection-sample var sample = require ( 'mongodb-...

    basyt-mongodb-collection:basyt mongodb数据库连接软件包。 有关详细信息,请参见basyt。

    在本场景中,`basyt-mongodb-collection` 是一个JavaScript库,专门用于连接和操作MongoDB数据库。由于提供的信息较少,我们将基于一般性的MongoDB使用和JavaScript库操作来探讨相关知识点。 1. **MongoDB基础概念*...

    mongodb Windows7 64位

    - 数据库操作:一旦连接成功,你可以使用MongoDB的Shell命令进行数据库和集合的管理,如创建数据库(`use <database_name>`)、插入文档(`db.<collection>.insert()`)、查询数据(`db.<collection>.find()`)等。...

    mongodb需要的jar

    7. 高级特性:MongoDB Java驱动还支持地理空间查询、索引管理、复制集操作、事务处理等高级特性,以满足不同应用场景的需求。 在实际开发中,引入`mongodb.jar`后,开发者需要在项目配置中添加对这个库的依赖,通常...

    mongodb7.0.0安装包

    3. 硬盘空间:MongoDB需要足够的空间来存储数据库文件,所以确保有足够空闲的磁盘空间 4. .NET Framework:MongoDB的部分组件可能依赖于.NET Framework,确保已安装了合适的版本 安装步骤如下: 1. 下载:首先,从...

    MongoDB 学习文档,内附Java代码

    - 如果需要创建固定大小的集合(即capped collection),可以使用以下格式: ```javascript db.createCollection( "collection_name", {capped: true, size: 1000000, max: 10000} ) ``` - 其中`capped`为...

Global site tag (gtag.js) - Google Analytics