`
风雪涟漪
  • 浏览: 497212 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:8773
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:17692
社区版块
存档分类
最新评论

MongoDB 使用大数据量的collection

阅读更多

使用大数据量的collection.

在MongoDB存储信息用多个collection来替代一个collection。这样做每个重复的数据不必存在每个对象中,
并且也不必再这个键上创建索引了。更重要的是性能,可以通过指定组来分布数据。

举个例子,假使我们要存储日志。并且有N种类型,如dev,debug,ops等。我们用一个collection来存储。
{ log : 'dev', ts : ..., info : ...  }

我们现在把这个collection按照类型进行拆分。  'logs.dev' collection, a 'logs.debug' collection, 'logs.ops', 等.:

// logs.dev:
{ ts : ..., info : ... }

当然,如果我们不需要同时查询多个日志,这么做是有意义的。
一般来说,数量较大的collection不会有显著的性能缺陷。

限制

默认的情况下,MongoDB的每个数据库有24000左右命名空间的限制。
每个命名空间有628字节。.nsfile默认为16MB。

每个collection以及索引都算作namespace。因此如果每个collection有一个索引,
我们能创建12000个collection。
--nssize允许提升这个限制。

小心的是每个collection都会占用一些存储-很少的KB。更近一步说,任何的索引都需要至少8KB的数据空间,
也就意味着每个b-tree page大小为8KB.
如果有很多collection以及元数据经常要页输出,会导致核心的操作速度变慢。

 

--nssize


如果需要更多的collection,运行mongod --nssize参数。这个参数会让.ns文件更大,
支持更多的collection。注意的是 --nssize 用于最新创建数据库。如果你运行在一个存在的数据库,
希望重新定义大小,那么在运行--nssize之后,要运行db.repairDatabase()命令来调整大小。

.ns 文件最大为 2GB.

分享到:
评论

相关推荐

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

    一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合...比如日志文件,聊天记录,通话信息记录等只需保留最近某段时间内的应用场景,都会使用到MongoDB的固定集合。 固定集合的优点

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    2.4 MongoDB数据类型 2.4.1 基本数据类型 2.4.2 数字类型 2.4.3 日期类型 2.4.4 数组类型 2.4.5 内嵌文档类型 2.4.6 _id键和ObjectId对象 2.5 MongoDB的下载和安装 2.5.1 MongoDB的下载 ...

    详解Wondows下Node.js使用MongoDB的环境配置

    为了保存网站的用户数据和业务数据...MongoDB使用集合(collection)和文档(document)来描述和存储数据,collection就相当于表,document相当于行,不过MySQL之类的关系型数据库,表结构是固定的,比如某一行由若干列

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

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

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    2.4 MongoDB数据类型 2.4.1 基本数据类型 2.4.2 数字类型 2.4.3 日期类型 2.4.4 数组类型 2.4.5 内嵌文档类型 2.4.6 _id键和ObjectId对象 2.5 MongoDB的下载和安装 2.5.1 MongoDB的下载 ...

    MongoDB学习笔记之MapReduce使用示例

    Map-Reduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。 使用 MapReduce 要实现两个函数 Map 函数和 Reduce 函数, Map 函数调用 emit(key, value),...

    基于JSON的内存数据库jsonDB.zip

    比如以下几种数据 可以同时存在于一个collection中: {'key1':1},{'key2':'value','pic':'value'},{'key3':'value'}JsonDB使用Python语言实现,是一个github开源项目,遵循MIT的LICENCE,基本上可以不受限制用于...

    本地储存库StoreDB.zip

    StoreDB是一个基于localStorage的本地储存库,通过模拟MongoDB的一些API和概念(如“集(collection)”和“文档(document)”),弥补了原生localStorage的多处不足,大大增强了localStorage的功能。 为什么要使用 ...

    jsonDB是一个python实现的基于JSON格式的非关系型内存数据库+源代码+文档说明

    一个数据集合(collection)中的数据,并不需要相同的格式.比如以下几种数据可以同时存在于一个collection中:{'key1':1},{'key2':'value','pic':'value'},{'key3':'value'} ### 当前支持的功能: * 数据插入 * 数据...

    ThinkPHP v5.0.24 完整版.zip

    ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的 Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,...

    EDAAC:EDA Analytics Central

    EDA Analytics Central 问题 尽管芯片设计是一门艺术,但衡量设计过程可以产生... Active Collection(即数据模型提取) :使用中间层函数在流运行期间从数据模型(即OpenDB)提取。 数据存储:在可以支持数据分析任务

Global site tag (gtag.js) - Google Analytics