MongoDB 基本概念

博文目录


MongoDB官网
MongoDB官网下载
MongoDB中文网

MongoDB 基于分布式文件存储的数据库

Mongo 是 humongous 的中间部分,在英文里是“巨大无比”的意思。所以 MongoDB 可以翻译成“巨大无比的数据库”,更优雅的叫法是“海量数据库”。

Mongodb是一款非关系型数据库,区别于关系型数据库最显著的特征就是没有SQL语句,数据没有固定的数据类型,关系数据库的所使用的SQL语句自从 IBM 发明出来=,已经有 40 多年的历史了,但是时至今日,开发人员一般不太喜欢这个东西,因为它的基本理念和程序员编程的想法不一致。后来所谓的 NoSQL 风,指的就是那些不用 SQL 作为查询语言的数据存储系统,而文档数据库 MongoDB 正是 NoSQL 的代表。

MongoDB和关系型数据库的差异

  1. MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。MongoDB文档类似于JSON对象。字段的值可以包括其他文档,数组和文档数组。MongoDB数据模型和你的对象在内存中的表现形式一样,一目了然的对象模型。
  2. 同一个集合中可以包含不同字段(类型)的文档对象:同一个集合的字段可能不同
  3. 线上修改数据模式(?猜测是切换关系和非关系模式),修改时应用与数据库都无须下线

关系型数据库和文档型数据库主要概念对应

关系型数据库文档型数据库
模型实体集合
模型属性字段
模型关系表关联内嵌数组, 引用字段关联

文献数据库

MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。MongoDB文档类似于JSON对象。字段的值可以包括其他文档,数组和文档数组。
在这里插入图片描述

使用文档的优点是

  • 文档(即对象)对应于许多编程语言中的本机数据类型。
  • 嵌入式文档和数组减少了对昂贵连接的需求。
  • 动态模式支持流畅的多态性。

集合/视图/按需实例化视图

MongoDB将文档存储在集合中。集合类似于关系数据库中的表。

除集合外,MongoDB还支持:

  • 只读视图(从MongoDB 3.4开始)
  • 按需实例化视图(从MongoDB 4.2开始)。

主要功能

高性能

MongoDB提供高性能的数据持久性。特别是,

  • 对嵌入式数据模型的支持减少了数据库系统上的I / O活动。
  • 索引支持更快的查询,并且可以包括来自嵌入式文档和数组的键。

丰富的查询语言

MongoDB支持丰富的查询语言,以支持读写操作(CRUD)以及:

  • 资料汇总
  • 文本搜索和地理空间查询。

也可以看看

  • SQL到MongoDB的映射图
  • SQL到聚合的映射图

高可用性

MongoDB的复制工具(称为副本集)提供:

  • 自动故障转移
  • 数据冗余。

甲副本集是一组保持相同的数据集,从而提供冗余和提高数据可用性的MongoDB服务器。

水平可伸缩性

MongoDB提供水平可伸缩性作为其核心 功能的一部分:

  • 分片在一组计算机集群分布数据。
  • 从3.4开始,MongoDB支持基于shard键创建数据区域。在平衡的集群中,MongoDB仅将区域覆盖的读写定向到区域内的那些分片。有关 更多信息,请参见区域手册页。

支持多种存储引擎

MongoDB支持多个存储引擎:

  • WiredTiger存储引擎(包括对静态加密的支持 )
  • 内存中存储引擎。

此外,MongoDB提供可插拔的存储引擎API,允许第三方为MongoDB开发存储引擎。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值