01.MongoDB学习笔记

MongoDB简介

Posted by Chen Xingxu on October 23, 2020

01.MongoDB学习笔记——MongoDB简介

什么是 MongoDB

MongoDB 是一个基于分布式文件存储的数据库。使用 C++ 语言编写。旨在为 Web 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的产品。它支持的数据结构非常松散,是类似 JSON 的 BSON(Binary Serialized Document Format) 格式,因此可以存储比较复杂的数据类型。

MongoDB 特点

MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

它的特点是高性能、易部署、易使用,存储数据方便。主要功能特性有:

  1. 面向集合存储,易存储对象类型的数据;
  2. 模式自由;
  3. 支持动态查询;
  4. 支持完全索引,包含内部对象;
  5. 支持查询;
  6. 支持复制和故障恢复;
  7. 使用高效的二进制数据存储,包括大型对象(如视频等);
  8. 自动处理碎片,以支持云计算层次的扩展性;
  9. 支持 Ruby, Python, Java, C++, PHP, C# 等多种语言;
  10. 文件存储格式为 BSON(Binary JSON)。

MongoDB 体系结构

MongoDB 的逻辑结构是一种层次结构。主要由:文档 (document)、集合 (collection)、数据库 (database) 这三部分组成的。逻辑结构是面向用户的,用户使用 MongoDB 开发应用程序使用的就是逻辑结构。

  1. MongoDB 的文档(document),相当于关系数据库中的一行记录;
  2. 多个文档组成一个集合(collection),相当于关系数据库的表;
  3. 多个集合(collection),逻辑上组织在一起,就是数据库(database);
  4. 一个 MongoDB 实例支持多个数据库(database)。

文档 (document)、集合 (collection)、数据库 (database) 的层次结构如下图:

MongoDB 关系型数据库 MySQL
数据库(databases) 数据库(databases)
集合(collections) 表(table)
文档(document) 行(row)