缺点缺点
由于Nosql约束少,所以也不能够像sql那样提供where字段属性的查询。因此适合存储较为
简单的数据。有一些不能够持久化数据,所以需要和关系型数据库结合。
对比比
类型型 存存储形式形式 事事务 数据数据 结构构 存存储模式模式 拓展拓展 其他其他
SQL
数据库表,
增加外部关
系需要在原
表中增加外
键关联外部
数据表
ACID
事务
表格型
存储在
数据
表,彼
此关
联,容
易提取
表结
构必
须预
定
义,
修改
复杂
数据分配成为最小的
逻辑表存储避免重
复,但多表间可能存
在关系限制,多表管
理复杂
纵向扩
展来支
持高并
发量
结构化
查询语
言,大
部分闭
源
NoSQL
key-value的
形式
没有
事务
概
念,
都是
原子
级别
块存储
无需
预定
义,
动态
结构
平面数据集合,数据
经常重复,单个数据
库很少被分开,而是
存储成为一个整体,
读取数据效率高
横向拓
展,分
布式,
通过集
群来实
现负载
均衡
更简单
而且精
确的数
据访问
方式,
大部分
开源
许多大型互联网都会选用MySql+NoSql的组合方案,因为SQL和NoSql都有各自的优缺点。
• 关系型数据库适合存储结构化数据,比如:用户的账号、地址:
1. 这些数据通常需要做结构化查询,比如说Join,这个时候,关系型数据库就要胜出一
筹。
2. 这些数据的规模、增长的速度通常是可以预期的。
3. 事务性、一致性,适合存储比较复杂的数据。
• NoSql适合存储非结构化数据,比如:文章、评论:
1. 这些数据通常用于模糊处理,例如全文搜索、机器学习,适合存储较为简单的数据。