核心思路:先梳理业务特征(数据模型、查询模式、并发、规模、一致性、运维成本),再匹配数据库类型,最后做选型对比。
主流数据库大类:关系型 SQL、NoSQL(文档、键值、列存、图数据库)、时序、搜索引擎、向量数据库。
一、先明确 7 个核心评估维度(选型必看)
数据模型:表结构规整?嵌套复杂文档?图关系?时间序列?向量?
查询访问模式:多表 JOIN、复杂事务?还是单键查询、批量读写?多条件全文检索?
一致性与事务:是否需要 ACID 强事务?金融交易必须强一致;日志、统计可以最终一致性。
数据规模:数据量、QPS/TPS、读写比例(读多写多、写多读少)。
扩展性:单机够用?未来需要水平分片扩容?
运维成本:团队技术栈、信创要求、是否接受分布式复杂度。
特殊需求:时序分析、全文检索、AI 向量、地理信息。

二、各类数据库适用场景 & 不适合场景
1. 关系型数据库 SQL(MySQL、PostgreSQL、openGauss、Oracle、SQLServer)
结构化数据,强事务,复杂关联查询
✅适合
业务系统:订单、用户、财务、ERP、后台管理;需要事务、多表 join、约束。
数据结构相对稳定,经常做复杂筛选、聚合。
信创场景:openGauss、PostgreSQL 生态成熟。
❌不适合
海量简单 KV 读写、高吞吐日志存储;嵌套极多的非结构化文档;海量时序打点。
选型小提示:
MySQL:互联网业务,简单事务,生态广;
PostgreSQL:复杂查询、JSON、GIS、自定义类型,能力更强;
openGauss:国产信创,企业级事务。
2. 文档数据库 MongoDB
BSON 文档,类 JSON,结构灵活,弱事务
✅适合
内容、用户画像、商品详情、配置信息,字段经常变动,嵌套对象多。
不需要大量多表 JOIN,以文档为单元读写。
❌不适合
高频跨文档事务、大量关联 join;金融强一致性业务。
3. 键值数据库(Redis)
内存为主,极高吞吐,简单 key‑value
✅适合
缓存、会话、计数器、限流、排行榜、分布式锁。
❌不适合
大容量持久化主存储;复杂条件查询。
4. 列存储数据库(ClickHouse、Doris、HBase)
按列存储,分析型,海量数据聚合
✅适合
日志分析、埋点统计、报表、OLAP 大数据分析。
❌不适合
在线业务高频单行更新、联机事务。
区分:
HBase:宽列存储,写性能极强,适合海量时序原始数据存储;
Doris/ClickHouse:OLAP 分析,快速聚合查询。
5. 图数据库(Neo4j、NebulaGraph)
节点‑边模型,处理实体关系
✅适合
社交关系、知识图谱、风控链路、路径查询、血缘分析。
❌不适合
普通业务表单存储;大规模简单读写。
6. 时序数据库 TDengine、InfluxDB
✅适合
IoT 设备打点、监控指标、传感器数据,按时间大量写入,按时间范围查询。
❌不适合
业务订单、通用业务数据。
7. 搜索引擎 Elasticsearch
✅适合
全文检索、模糊搜索、多维度过滤,日志检索。
❌不适合
作为主库承担事务写入。
8. 向量数据库 Milvus、Chroma
✅适合
AI RAG,Embedding 向量相似度检索。
❌不适合
普通业务表单存储。
三、快速决策对照表

四、现实项目常见架构:多数据库组合(不要试图一个库搞定一切)
绝大多数项目不是单一数据库:
示例:电商系统
MySQL:订单、交易、用户核心业务;
Redis:缓存、热点商品、分布式锁;
Elasticsearch:商品搜索;
ClickHouse:用户行为埋点、运营报表;
MongoDB:商品详情、扩展属性。
五、避坑要点
不要为了新技术选型:如果业务就是简单 CRUD,优先关系库,不要盲目上 Mongo、分布式。
区分主库与辅助库:ES、Redis、向量库一般做辅助,不做核心业务主库。
分布式有成本:分片、多副本带来运维复杂度,单机扛得住就优先单机。
信创项目优先看国产数据库适配:openGauss、达梦、人大金仓。
先评估读写模型:读多写多?写多读少?是否强事务?
六、简单自问自答,快速选出数据库
需要事务、多表关联?→ 关系型数据库
字段经常变,嵌套 JSON?→ MongoDB / PG JSONB
只是缓存,追求极速?→ Redis
海量日志、做统计报表?→ Doris / ClickHouse
设备按时间不停打点?→时序库
要搜索、模糊匹配?→ ES
AI 向量相似度检索?→向量库
实体之间复杂关系?→图数据库
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢