「国产数据库」这四个字下面其实藏着完全不同的技术路线:有从零自研的分布式数据库,有基于 PostgreSQL 内核深度改造的发行版,有 MySQL 分支,也有专为时序、图、向量设计的专用库。把它们放在一张表里比性能没有意义,正确的问法是:我的业务是哪种形态,需要它解决什么问题。
先分清五类负载
- 交易型(OLTP):高并发、小事务、强一致,典型是订单、账务、用户中心
- 分析型(OLAP):大批量扫描、多表关联、聚合统计,典型是报表与数据仓库
- 时序:按时间持续写入、按时间段查询,典型是设备监控与车联网
- 图:多跳关系查询,典型是反欺诈、知识图谱
- 向量:相似度检索,典型是 RAG 知识库与语义搜索
分类清楚之后,选型就变成了「先定负载,再在同类里挑」。下面按类别看代表产品。
交易型:OceanBase、TiDB、openGauss、达梦
OceanBase:为金融核心准备的分布式库
蚂蚁自研,Paxos 多副本、LSM-Tree 存储,一份数据同时做交易和分析。适合单表过亿、写入密集、不能停机的场景。代价是部署门槛高:三节点起步,每节点 8 核以上,小系统用它属于用高射炮打蚊子。详见 OceanBase。
TiDB:MySQL 用户的水平扩展方案
计算存储分离,兼容 MySQL 协议,扩容加节点即可,不需要在应用层维护分库分表中间件。如果现有系统跑 MySQL 已经到瓶颈、又不想大改代码,TiDB 是迁移成本最低的一档。它同样要求至少三个 TiKV 节点,小项目不划算。详见 TiDB。
openGauss:PostgreSQL 路线的开源选择
华为开源、木兰协议,内核源自 PostgreSQL,但重写了线程模型与执行器,还带全密态计算和 MOT 内存表。适合熟悉 PG、需要国产化资质但不想买商业授权的团队。要注意它主要面向 Linux,Windows 原生支持有限。详见 openGauss。
达梦 DM8:Oracle 迁移的现实选项
国内商业化最早、装机量最大的国产库之一,对 Oracle 的兼容度是它最大的卖点:PL/SQL、数据字典视图、序列、同义词基本能对上,很多运维脚本可以直接跑。党政、金融、能源的信创项目里出现频率最高。它是商业授权产品,需要采购,官网可申请试用。详见 达梦数据库 DM8。
同一条路线上的还有 KingbaseES(PostgreSQL 内核、提供 Oracle 与 PG 双模式)和 MogDB(openGauss 企业发行版,补齐了包、自治事务等 Oracle 特性)。预算有限又想要商业支持时,这两个值得一起做 POC。
分析型:Doris 与 StarRocks
这两个经常被放在一起比较,它们也确实同源——StarRocks 的核心团队来自 Doris。共同点是 MPP 架构、兼容 MySQL 协议、支持数据湖联邦查询,装几个节点就能跑,不需要 Hadoop 那一整套。差别在于 StarRocks 更强调主键模型实时更新与存算分离,Doris 的社区更早、资料更多。两者语法相近但生态独立,插件和运维脚本不能混用。见 Apache Doris 与 StarRocks。
专用库:时序、图、向量
时序看写入吞吐和压缩率:TDengine 用「一设备一表」的模型做到了单机百万点每秒,适合车联网与工业监控;Apache IoTDB 出自清华,树形序列模型和端边云协同更贴合工业现场的层级结构。
图看多跳查询:NebulaGraph 能撑千亿点边,组件多、适合大规模集群;TuGraph 强调单机性能与内置算法,十亿点以内一台高配机器就够。
向量基本绕不开 Milvus,它是这一领域社区最大、生态最完整的项目,RAG 场景的默认选项。
迁移前必须确认的四件事
- 兼容性不是 100%:所谓「Oracle 兼容」「MySQL 兼容」指的是常用语法与协议,存储过程、自定义函数、复杂视图仍需逐条回归,别信零改造迁移
- 硬件与授权成本:分布式库要三节点起步,商业库按 CPU 或节点计费,预算里要把这两块算进去
- 运维能力:换库意味着监控、备份、慢查询分析这一整套都要重建,先确认团队接得住
- 生态工具:驱动、ORM、BI 连接器、数据同步工具是否支持,往往比 TPCC 跑分更影响落地
实操层面,建议先用 Docker 或官方体验环境跑一遍真实业务 SQL,再做一轮压力测试,最后才谈采购与迁移排期。具体命令可以参考《用 Docker 快速试用国产数据库》。