01.MongoDB学习笔记——MongoDB简介
什么是 MongoDB
MongoDB 是一个基于分布式文件存储的数据库。使用 C++ 语言编写。旨在为 Web 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的产品。它支持的数据结构非常松散,是类似 JSON 的 BSON(Binary Serialized Document Format) 格式,因此可以存储比较复杂的数据类型。
MongoDB 特点
MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
它的特点是高性能、易部署、易使用,存储数据方便。主要功能特性有:
- 面向集合存储,易存储对象类型的数据;
- 模式自由;
- 支持动态查询;
- 支持完全索引,包含内部对象;
- 支持查询;
- 支持复制和故障恢复;
- 使用高效的二进制数据存储,包括大型对象(如视频等);
- 自动处理碎片,以支持云计算层次的扩展性;
- 支持 Ruby, Python, Java, C++, PHP, C# 等多种语言;
- 文件存储格式为 BSON(Binary JSON)。
MongoDB 体系结构
MongoDB 的逻辑结构是一种层次结构。主要由:文档 (document)、集合 (collection)、数据库 (database) 这三部分组成的。逻辑结构是面向用户的,用户使用 MongoDB 开发应用程序使用的就是逻辑结构。
- MongoDB 的文档(document),相当于关系数据库中的一行记录;
- 多个文档组成一个集合(collection),相当于关系数据库的表;
- 多个集合(collection),逻辑上组织在一起,就是数据库(database);
- 一个 MongoDB 实例支持多个数据库(database)。
文档 (document)、集合 (collection)、数据库 (database) 的层次结构如下图:
MongoDB | 关系型数据库 MySQL |
---|---|
数据库(databases) | 数据库(databases) |
集合(collections) | 表(table) |
文档(document) | 行(row) |