关系型数据库与非关系型数据库优缺点分析
最初发布于 szhshp的第三边境研究所, 转载请注明
选择它就是因为好用啊
关系型数据库
特点
- 基于单一关系模型,结构化存储,有完整性约束
- 通过二维表建立数据之间的联系
- 采用结构化查询语言(SQL)做数据读写
- 操作保存数据的一致性
优点
- 通过事务处理保持数据的一致性
- 数据更新的开销很小
- 可以进行 Join 等复杂查询
- 技术成熟
缺点
- 数据读写必须经过 sql 解析,大量数据、高并发下读写性能不足
- 为保证数据一致性,需要加锁,影响并发操作
- 无法适应非结构化的存储
- 服务器负担一般很大
- 数据有时候太过抽象,即数据库中存储的对象与实际的对象实体有一定的差别
- 扩展困难
- 数据库庞大,价格昂贵
非关系型数据库
特点
- 非结构化的存储
- 基于多维关系模型
- 部署容易,开源免费,成本低
优势
- 处理高并发、大批量数据的能力强
- 支持分布式集群,负载均衡,性能高
- 内存级数据库,查询速度快
- 存储格式多,支持key-value形式、文档形式、图片形式
没有多表连接查询机制的限制,扩展性高
缺点
- 技术起步晚,维护工具以及技术资料有限
- 不支持 sql 工业标准
- 没有join等复杂的连接操作
- 事务处理能力弱
- 没有完整性约束,对于复杂业务场景支持较差