关系型与非关系型数据库的优缺点

本文转自:https://blog.csdn.net/G_Q_L/article/details/77946483

关系型数据库

特点

  1. 基于单一关系模型,结构化存储,有完整性约束
  2. 通过二维表建立数据之间的联系
  3. 采用结构化查询语言(SQL)做数据读写
  4. 操作保存数据的一致性

优点

  1. ☆通过事务处理保持数据的一致性
  2. 数据更新的开销很小
  3. 可以进行Join等复杂查询
  4. 20多年的技术历程,技术成熟

缺点

  1. 数据读写必须经过sql解析,大量数据、高并发下读写性能不足
  2. 为保证数据一致性,需要加锁,影响并发操作
  3. 无法适应非结构化的存储
  4. 大量数据集中到一台服务区处理,使服务器不堪重负
  5. “阻抗失谐”,即数据库中存储的对象与实际的对象实体有一定的差别
  6. 扩展困难
  7. 数据库庞大,价格昂贵

NOSql数据库

特点

  1. 非结构化的存储。
  2. 基于多维关系模型。
  3. 部署容易,开源免费,成本低

优点

  1. 处理高并发、大批量数据的能力强
  2. 支持分布式集群,负载均衡,性能高
  3. 解决“阻抗失谐”问题
  4. 内存级数据库,查询速度快
  5. 存储格式多,支持key-value形式、文档形式、图片形式
  6. 没有多表连接查询机制的限制,扩展性高

缺点

  1. 技术起步晚,维护工具以及技术资料有限
  2. 不支持sql工业标准
  3. 没有join等复杂的连接操作
  4. 事务处理能力弱
  5. 没有完整性约束,对于复杂业务场景支持较差

典型的NoSQL数据库

临时性键值存储(memcached、Redis)、永久性键值存储(ROMA、Redis)、面向文档的数据库(MongoDB、CouchDB)、面向列的数据库(Cassandra、HBase)

redis、memcache和MongoDb

猜你喜欢

转载自blog.csdn.net/lvdou_lvdou/article/details/88223290