关系型数据库、NoSQL、NewSQL 选型比对

|----------|--------------------------------------------------|----------------------------------------|------------------------------------------|
| 维度 | 关系型数据库(MySQL/PostgreSQL/Oracle) | NoSQL 数据库(MongoDB/Redis/Cassandra) | NewSQL 数据库(TiDB/CockroachDB/Spanner) |
| 核心定位 | 结构化数据、强事务、复杂关联查询 | 非结构化 / 半结构化数据、高吞吐、灵活扩展 | 兼顾 RDBMS 的强一致性 + NoSQL 的水平扩展 |
| 数据模型 | 固定表结构(Schema)、支持 JOIN | 灵活 Schema(文档 / 键值 / 列族 / 图)、弱 JOIN | 兼容 SQL 表结构,支持分布式 JOIN |
| 一致性 | 强一致性(ACID 严格支持) | 最终一致性为主(CAP 取舍偏向 AP) | 强一致性(分布式 ACID,支持 Serializable 隔离级别) |
| 扩展性 | 垂直扩展为主(升级硬件),水平扩展需分库分表(Sharding-JDBC/MyCat),复杂度高 | 天然水平扩展(集群扩容简单),扩容无感知 | 原生分布式架构,水平扩展透明,扩容不影响业务 |
| 查询能力 | 支持复杂 SQL(JOIN / 子查询 / 事务),OLTP/OLAP 均能覆盖(需优化) | 支持简单查询,复杂查询需上层计算框架(如 Spark) | 兼容标准 SQL,支持分布式事务和复杂查询 |
| 并发能力 | 单机并发高(MySQL 单机 TPS 可达 10 万 +),但海量并发需分库分表 | 超高并发读写(Redis 单机 QPS 可达百万),适合高吞吐场景 | 分布式并发(TiDB 集群 TPS 可达百万),支持高并发事务 |
| 适用场景 | 结构化数据、强事务、复杂关联(订单 / 支付 / 用户系统) | 非结构化数据、高并发读写、灵活扩展(日志 / 缓存 / 物联网) | 海量结构化数据、强事务、高并发(互联网核心业务 / 金融) |
| 优劣势 | 优势:强一致性、成熟稳定、生态完善 | 优势:灵活扩展、高吞吐、低延迟 | 优势:分布式强一致、透明扩展、兼容 SQL |
| 优劣势 | 劣势:水平扩展复杂,海量数据性能下降 | 劣势:弱事务、查询能力有限,跨节点事务难支持 | 劣势:部署运维复杂,部分场景性能略低于专类数据库 |

相关推荐
Code blocks38 分钟前
SpringBoot从0-1集成KingBase数据库
数据库
程序员敲代码吗1 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
未来的旋律~2 小时前
sqlilabs注入靶场搭建与sql语句
数据库·sql
一个天蝎座 白勺 程序猿2 小时前
KingbaseES查询逻辑优化深度解析:从子查询到语义优化的全链路实践
开发语言·数据库·kingbasees·金仓数据库
我真的是大笨蛋2 小时前
InnoDB行级锁解析
java·数据库·sql·mysql·性能优化·数据库开发
山茶花.3 小时前
SQL注入总结
数据库·sql·oracle
m0_736919103 小时前
超越Python:下一步该学什么编程语言?
jvm·数据库·python
m0_748229994 小时前
ThinkPHP快速入门:从零到实战
c语言·开发语言·数据库·学习
阿蒙Amon4 小时前
C#每日面试题-Thread.Sleep和Task.Delay的区别
java·数据库·c#
沉舟侧畔千帆过_4 小时前
一个DBA的真心话:搞定Oracle+PG双库,我就靠这招
数据库·oracle·dba