参考:https://blog.csdn.net/Guijun6/article/details/81205767
关系型数据库与非关系型数据库
关系型数据库
关系型数据库的优势:
- 保持数据的一致性(事务处理)
- 由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)
- 可以进行Join等复杂查询
缺点:
- 高并发读写需求:网站的用户并发非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
- 海量数据的高效率读写:对于数据量巨大的网站来说,关系型数据库的查询效率非常低
非关系型数据库
优点:
- 成本:NoSql数据库简单易部署,基本都是开源软件,不需要使用像oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。
- 查询速度:NoSql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及NoSql数据库。
- 存储格式:NoSql数据库的存储格式是Key,Value形式,文档形式,图片形式等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。
- 扩展性:关系型数据库有类似join这样的多表查询机制的限制,导致扩展很艰难。
缺点:
- 维护的工具和资料有限,因为NoSql属于新技术,不能和关系型数据库10几年的技术同日而语。
- 不提供对Sql的支持,如果不支持Sql这样的工业标准,将产生一定用户的学习和使用成本。
- 不提供关系型数据库对事物的处理。