选择它就是因为好用啊

关系型数据库

特点

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

优点

  • 通过事务处理保持数据的一致性
  • 数据更新的开销很小
  • 可以进行 Join 等复杂查询
  • 技术成熟

缺点

  • 数据读写必须经过 sql 解析,大量数据、高并发下读写性能不足
  • 为保证数据一致性,需要加锁,影响并发操作
  • 无法适应非结构化的存储
  • 服务器负担一般很大
  • 数据有时候太过抽象,即数据库中存储的对象与实际的对象实体有一定的差别
  • 扩展困难
  • 数据库庞大,价格昂贵

非关系型数据库

特点

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

优势

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

缺点

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