MongoDB学习笔记之了解MongoDB

MongoDB是一个开源的、无模式的文档型数据库,是当前流行的NOSQL类型数据库的一种(非关系型数据库)

创新互联建站专业为企业提供唐山网站建设、唐山做网站、唐山网站设计、唐山网站制作等企业网站建设、网页设计与制作、唐山企业网站模板建站服务,10多年唐山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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是否有大小合适的盘区可以使用,这样就回收空闲的磁盘空间。

新闻名称:MongoDB学习笔记之了解MongoDB
路径分享:http://www.shufengxianlan.com/qtweb/news45/223395.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联