关系型数据库
以表格形式存储,例如MySQL、Oracle、SQL server
非关系型数据库
以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,可以减少一些时间和空间的开销。
非关系型数据库的分类有:面向高性能并发读写的key-value数据库(Redis)、面向海量数据访问的面向文档数据库(MongoDB)、面向搜索数据内容的搜索引擎等
优缺点以及适用场景
关系型数据库 | 非关系型数据库 | |
---|---|---|
成本 | 成本较高,例如Oracle可能需要花费大量费用 | 基本都是开源的免费 |
查询速度 | 数据都存储于硬盘上,查询速度不及nosql数据库 | 数据存储与缓存之中,而且不需要经过sql层解析,较快 |
存储格式 | 表格形式,仅支持存储基础类型 | key,value形式、文档形式、图片等等,可以存储基础类型、对象、集合等各种形式 |
扩展性 | 由于多表查查询机制的限制,扩展性较差 | 数据之间没有耦合性,非常容易水平扩展 |
持久存储 | 适用 | 不适用 |
数据一致性 | 读到的可能是一个中间态的数据,强调的更多是数据的最终一致性 | 强调数据的强一致性 |
事务 | 支持 | 不支持 |
适用场景 |
参考:
1、https://www.jianshu.com/p/fd7b422d5f93
2、https://m.php.cn/article/463593.html