**
初识MongoDB
**
-
先看看各种概念:
- 数据: 能够输入到计算机中并被识别处理的信息集合
- 数据结构: 研究也数据集合中数据之间的关系
- 数据库:按照数据结构,存储管理数据的仓库。数据库是在数据库管理系统管理和控制下,在一定介质上的数据集合。
- 数据库管理系统: 管理数据库的软件,用于建立和维护数据库
- 数据库系统: 由数据库和数据管理系统,开发工具等组成的集合
-
关系型数据库、非关系型数据库:
-
关系型数据库:
采用关系模型来组织数据结构的数据库(二维表)
优点:- 容易理解,类似我们常见的表格
- 使用方便,都是使用sql语句,SQL语句非常成熟
- 数据一致性高,冗余度低,完整性好
- 技术成熟,可以使用外部链接等比较复杂的操作
缺点:
- 不能很好的满足高并发的需求,每次都需要进行sql语句的解析
- 针对海量数据的瞬间爆发读写性能不足,关系型数据库内部每步操作都需要加
锁保 - 证操作的原子性(原子性:不可再分)
- 数据扩展普遍比非关系型困难
- 数据一致性高,有时会浪费大量空间
-
非关系型数据库:
优点:- 高并发,大数据读写能写强
- 支持分布式,容易扩展
- 弱化了数据结构,降低了数据的一致性
缺点:
- 通用性差,没有想sql那样一致的操作
- 操作灵活,容易混乱
- 没有join,有的数据库事务支持等操作
-
-
MongoDB:
MongoDB(非关系型数据库 --> 文档型数据库)- 由C++编写的数据库管理系统
- 支持非常丰富的增删改查数据操作
- 支持非常丰富的数据类型
- 使用方便,便于部署,支持分布,容易扩展
- 支持众多的编程语言接口(Python、ruby、 c++、c#、 PHP)
- 组成结构:键值对——>文档——>集合——>数据库
- MySQL和MongoDB概念对比
MySQL MongoDB 含义 database database 数据库 table collection 表/集合 column filed 字段/域 row document 记录/文档 index index 索引