MongoDB:入门

mongoDB是一个使用C++开发的高性能的、开源的文档型数据库,是NoSQL数据库

文章目录

  • 简介
  • 功能
  • 适用场合

简介

mongoDB是一个面向集合的,模式自由的文档型数据库

  • 面向集合:数组被分组存储在数据集中,被称为一个集合。每个集合在数据库中都有唯一的一个标志名,并且可以包含无限数目的文档。集合形式SQL数据库中的表,区别在于它不需要定义任何模式

  • 模式自由:对于存储在mongoDB中的文件,不需要任何结构定义。比如下面两个记录可以记录在同一个集合中。
    {“location”:“hangzhuo”}
    {“age”:24}

  • 文档型:存储的数据是k-v的集合,k是字符串,v可以是任何类型。也称这种数据格式位BSON

功能

  • 面向集合存储:易于存储对象类型以及JSON的数据
  • 模式自由
  • 支持动态查询:支持丰富的查询表达式,查询指令使用JSON形式的标记,可以轻易查询文档中内嵌的对象以及数组
  • 支持完全索引,包含内部对象以及数组:MongoDB的查询优化器会分析查询表达式,并生成一个高效的查询计划。
  • 支持查询、复制和故障恢复
  • 使用高效的二进制数据存储,包括大型对象(比如视频)
  • 自动处理碎片,以支持云计算层次的扩展性
  • 文件存储格式位BSON
  • 可以通过网络访问
  • 自动分片以及支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可以动态添加额外的机器。

适用场合

  • 网站数据:MongoDB非常适合实时的插入,更新和查询,并且具备网站实时数据存储所需的复制以及高度伸缩性
  • 缓存:由于性能很高,mongoDB也适合作为信息基础设施的缓存层。在系统重启之后,由mongoDB搭建的持久化缓存层可以避免下层的数据源过载
  • 大尺寸,低价值的数据
  • 高伸缩性的场景:mongoDB非常适合由数百台服务器组成的数据库。
  • 用于对象以及JSON数据的存储

参考:《mongoDB实战》

你可能感兴趣的:(数据库)