数据库排名怎么看?我盯了三年榜单的真实感受
2020年那会儿我们团队要选一个数据库做订单系统,我第一次打开 DB-Engines 的排名页面,看到 Oracle、MySQL、SQL Server 稳坐前三,心里就觉得"照着买准没错"。三年过去,我踩过坑也赚过便宜,现在再看榜单,心态完全不一样了。数据库排名这东西有用,但用法得对,用错了比不看还糟糕。
目前被引用最多的两个榜,一个是国外的 DB-Engines,按月更新;另一个是国内的墨天轮中国数据库流行度排行榜,国产库基本看这个。我基本上是每周扫一眼,看看名次有没有大变动。

榜单分数到底怎么算出来的
很多人以为排名是靠用户投票,其实不是。DB-Engines 的模型大概看这么几项:

- 各大网站和博客里提到这个数据库的次数
- Google 搜索趋势里的查询热度
- Stack Overflow 上的提问量和回答量
- 招聘信息里要求会这个数据库的岗位数量
- 技术论坛、社交平台上的讨论热度

说白了,它衡量的是"被讨论的程度",跟性能、稳定性、运维成本一点关系都没有。Oracle 常年在一千二百分上下,MySQL 咬得很紧,PostgreSQL 这几年从六百多分一路往上爬,涨得最猛。MongoDB 大概四百多分,Redis 两百上下,各自在细分领域里稳得很。
排名高不等于适合你的项目
2022年我们做另一个项目,当时 MongoDB 在文档型数据库里排名第一,领导拍板就上。结果业务里全是强关联的订单和库存,写了几十层嵌套查询,性能掉得厉害,最后又迁回关系型库,白折腾了四个月。那次之后我给自己定了个规矩:榜单只用来缩小范围,不做决策依据。
还有一次选型,MySQL 排第二,我们最后用了 PostgreSQL。原因很土:业务里大量 JSON 字段要查,PostgreSQL 的 JSONB 加 GIN 索引直接搞定,MySQL 那会儿还得绕。上线半年,单表两千万行,复杂查询平均 30 毫秒以内,这个结果榜单上根本看不出来。
国产库这块,OceanBase、TiDB、openGauss、达梦在墨天轮榜上常年靠前,分数也涨得快。但我要说句实在话,排名靠前不代表生态成熟。文档质量、报错信息是否清晰、遇到问题能不能搜到答案,这些比名次重要得多。
我自己挑库时看的几件事
- 拿业务里最复杂的那三条 SQL 去做压测,别用官方 benchmark
- 翻 GitHub 上最近半年的 issue,看官方多久回一次
- 看版本发布节奏,一年不更新的库要小心
- 搜招聘网站,本地能不能招到会这个库的人
- 问清楚迁出成本,数据导出的工具链齐不齐
说到底,数据库排名是一张热度地图,告诉你大家在聊什么,仅此而已。真正决定项目成败的,是你的数据长什么样、查询怎么写、团队会不会用。榜单每周看一次就够了,剩下的时间还是去写 SQL 吧。