声明:本文属于探讨性话题,肯定存在很多疏漏和错误,不要盲目相信,大家发现什么错误或者有什么想法请求务必告知
在比较之前,先介绍一个重要的概念:数据库事务
作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。事务是数据库运行中的逻辑工作单位,由DBMS中的事务管理子系统负责事务的处理
由此再简要说明一下ACID
- Atomic:原子性,无论包含多少操作,事务是一个不可分割的整体
- Consistency:一致性,每个事务必须保证数据之间存在的各种关系和约束
- Isolation:隔离性,事务之间的操作是相互独立的,互相之间没有交叉。(影响数据库性能的关键)
- Duration:持久性,事务完成后对于系统的影响是永恒的,不会随时间而改变
有了数据库事务的概念后,我们再来看MongoDB(同时代表大部分NoSql,下文不再重述)和MySql(代表大部分关系型数据库,下文不再重述)的区别,分为三部分。
1 存储结构
数据库 | MongoDB | MySQL |
第一层 | Collection | <