MongoDB学习笔记之了解MongoDB

数据库 其他数据库 MongoDB
MongoDB的数据结构非常松散,是类似json的bjson格式,同时支持对数据建立索引。是一个面向集合的,模式自由的文档型数据库。
MongoDB是一个开源的、无模式的文档型数据库,是当前流行的NOSQL类型数据库的一种(非关系型数据库)

MongoDB的数据结构非常松散,是类似json的bjson格式,同时支持对数据建立索引。是一个面向集合的,模式自由的文档型数据库。

1.面向集合

意思是数据被分组存储在数据集合中,被称为一个集合

2.模式自由

意味着对于存储在MongoDB 数据库中的文件,我们不需要知道它的任何结构定义。提了这 么多次"无模式"或"模式自由",它到是个什么概念呢?例如,下面两个记录可以存在于同一 个集合里面:

  1. {"welcome" : "Beijing"} {"age" : 25} 

特点:

面向集合存储,易于存储对象类型的数据

  •  模式自由
  •  支持动态查询
  •  支持完全索引,包含内部对象
  •  支持查询
  •  支持复制和故障恢复
  •  使用高效的二进制数据存储,包括大型对象(如视频等)
  •  自动处理碎片,以支持云计算层次的扩展性
  •  文件存储格式为BSON(一种JSON的扩展)

体系结构:

  • MongoDB 中一系列物理文件(数据文件,日志文件等)
  • MongoDB 的文档(document),相当于关系数据库中的一行记录。
  • 多个文档组成一个集合(collection),相当于关系数据库的表。
  • 多个集合(collection),逻辑上组织在一起,就是数据库(database)

数据存储结构:

在MongoDB 内部,每个数据库都包含一个.ns 文件和一些数据文件,而且这些数据文件会随着数据量的 增加而变得越来越多。所以如果系统中有一个叫做 foo的数据库,那么构成foo这个数据库 的文件就会由foo.ns,foo.0,foo.1,foo.2 等等组成

MongoDB 内部有预分配空间的机制,每个预分配的文件都用 0 进行填充,由于有了这个机制, MongoDB始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增而带来的磁盘压力过大的问题。

由于表中数据量的增加,数据文件每新分配一次,它的大小都会是上一个数据文件大小的2 倍,每个数据文件*** 2G。这样的机制有利于防止较小的数据库浪费过多的磁盘空间,同 时又能保证较大的数据库有相应的预留空间使用。

数据库的每张表都对应一个命名空间,每个索引也有对应的命名空间。这些命名空间的元数 据都集中在*.ns文件中。

需要注意的命名空间:$freelist,这个命名空间用于记录不再使用 的盘区(被删除的 Collection 或索引)。每当命名空间需要分配新的盘区的时候,都会先查 看$freelist是否有大小合适的盘区可以使用,这样就回收空闲的磁盘空间。

原文链接:http://www.cnblogs.com/zhy4606/archive/2011/09/13/2174411.html

【编辑推荐】

  1. MongoDB 2.0 正式版发布
  2. 主流NoSQL数据库全方位评测之MongoDB
  3. 教你如何利用MySQL学习MongoDB
  4. 在Windows环境下MongoDB搭建和简单操作
  5. Mongodb源码分析之Mongos分析
责任编辑:艾婧 来源: K!ngZ饿博客
相关推荐

2011-03-08 10:27:25

MongoDB介绍安装

2011-03-21 13:28:14

MongoDB文件存取

2011-03-28 13:29:22

MongoDB索引用法效率分析

2011-03-17 09:06:34

MongoDB文档结构

2011-03-11 09:16:12

MVCJqgrid

2012-07-26 08:32:38

MongoDB

2011-05-24 09:10:24

MySQLMongoDB

2011-05-23 09:23:19

MySQLMongoDB

2011-05-24 09:23:16

MySQLMongoDB

2011-05-24 09:51:07

MySQLMongoDB

2011-05-23 13:30:00

MySQLMongoDB

2011-05-24 10:11:30

MySQLMongoDB

2011-04-19 15:38:16

MongodbCursor

2011-05-26 10:05:48

MongoDB

2017-05-05 10:00:51

MongoDB查询数据

2011-03-09 09:18:49

MongoDBsamus

2011-06-09 12:56:31

MongoDB

2023-04-18 08:45:28

MongoDB部署模式

2011-09-07 17:19:16

Web widget

2023-03-30 08:01:59

点赞
收藏

51CTO技术栈公众号