MongoDB

hithyc 2020-04-26

旨在为WEB应用提供可扩展、高性能分布式数据存储解决方案;

分布式文件系统通过计算机网络与节点相连。服务端默认端口为27017;推荐运行在64位平台,在32位模式运行时支持的最大文件尺寸为2GB;

类似于面向对象的查询语言,可以实现类似于关系数据库的单表查询的绝大部分功能,而且还支持对数据建立索引

主要功能特征:面向集合存储,使用高效的二进制数据存储包括大型对象(如视频等)),文件存储格式为BSON(一种JSON的扩展)

存储模式自由:不需要结构定义,可以把不同结构的复杂的数据类型的文件存储在同一个数据库里;

存储在集合中的文档,被存储为-值对的形式键用于唯一标识一个文档(为字符串类型),而值则可以是各种复杂的文件类型,即存储形式为BSON(Binary Serialized(序列化的、串行化) Document Format);

文档:是MongoDB中数据的基本单位,类似于关系型数据库中的行(但比行复杂);

集合:是一组文档,类似于关系型数据库中的表,集合是无模式的,集合中的文档可以是各式各样的;

数据库:多个文档组成集合,多个集合组成数据库

MongoDB中存在以下系统数据库:

Admin数据库:权限数据库,创建用户时将该用户添加到此数据库中,就自动继承了所有数据库的权限;

Local数据库:这个数据库永远不会被复制,可以用来存储本地单台服务器的任意集合;

Config数据库:当MongoDB使用分片模式时,config数据库在内部使用,用于保存分片的信息;

根据官网的描述,Mongo适合于以下场景:

  1. 网站数据:Mongo非常适合实时的插入,更新和查询,并具备网站实时数据存储所需的复制及高度伸缩性;
  2. 缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源过载;
  3. 大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储;
  4. 高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库,Mongo的路线图中已经包含对MapReduce引擎的内置支持;
  5. 用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询;  

1、mongodb 分片原理概述 + 部署 mongoDB

MongoDB

2、mongodb的总结

MongoDB

 

3、hadoop+spark+mongodb+mysql+c...大数据项目开发

MongoDB

4、基于mongodb的海量遥感影像大数据

MongoDB

相关推荐