MySQL | MongoDB | |
---|---|---|
数据库类型 | 关系型 (依赖模型创建数据库) |
非关系型数据库 |
存储方式 | 不同引擎存储方式不同。(mysql数据库5.5版本之后,默认以InnoDB作为存储引擎,InnoDB就是以数据页来存储数据的) | 虚拟内存+持久化 |
查询语句 | 传统sql语句 | 独特mongoDB查询方式 |
数据处理方式 | 不同引擎有自己的特点 | 基于内存,将热数据存放在物理内存中, 达到高速读写 |
成熟度 | 高 | 低 |
广泛度 | 开源数据库, 市场份额不断增长 | 比较完善且开源, 使用人数不断增长 |
事务性 | 支持事务操作 | 仅支持单文档事务操作, 弱一致性 |
占用空间 | 小 | 大 |
术语 | 表 table | 集合 collection |
行 row | 文档 document | |
字段 column | 字段 field | |
索引 index | 索引 index | |
join操作 | 支持join | 没有join。嵌入文档或者链接 |
场景 | 1. 日志收集 2. |
| |
| 优势 |
1. 快速
2. 高扩展
3. 自身的Failover机制。在副本集中, 当主库遇到问题, 无法提供服务时, 副本集将选举一个新的主库继续提供服务
4. Json和Bson格式的数据十分适合文档格式的存储与查询
| |
| 劣势 |
1. 自身没有事务机制。若需要, 需要依赖额外的表, 从逻辑上自行实现事务。
2. 占用空间大
3. noSQL新兴时间短, 应用经验相比较少
| |