你们在数据库选型的时候看了哪些数据库?最后为什么选择了 TiDB ?

在数据库选型过程中,我们围绕业务核心需求(如数据规模、事务一致性、扩展性、运维成本等),覆盖了传统关系型、分布式关系型(NewSQL)二大类主流数据库,以下是具体调研范围、选择 TiDB 的核心原因及优势对比分析:
一、调研的数据库清单及核心定位

  1. 传统关系型数据库
    MySQL:开源成熟,生态丰富,适配中小规模结构化数据场景,水平扩展依赖手动分库分表,跨节点事务支持弱,运维复杂度随数据量增长急剧上升。
    PostgreSQL:功能全面,开源免费,但分布式能力原生缺失。
    Oracle:企业级稳定性强,功能覆盖全场景,但闭源收费(授权 + 硬件成本高),扩展性依赖昂贵的 RAC 集群方案,国产化适配性差,信创不适用。

  2. 分布式关系型数据库(NewSQL)
    TiDB:开源 NewSQL 代表,兼容 MySQL 协议,原生支持分布式架构、强事务、高可用,兼顾 OLTP 与 OLAP 场景。
    CockroachDB:开源 NewSQL,具有强一致性和高可用性,支持分布式事务,但国内场景优化不足,SQL 兼容性(尤其 MySQL 生态工具适配)较弱。
    Google Spanner:谷歌闭源分布式数据库,基于全球分布式架构,强一致性与扩展性顶尖,但无法私有部署。

二、最终选择 TiDB 的核心原因,即TiDB核心优势
TiDB 的核心竞争力在于兼容 MySQL 生态的同时,解决了传统关系型数据库的扩展性瓶颈,又弥补了 NoSQL 数据库在事务和 SQL 支持上的短板。对于我们这类需要 “结构化数据 + 强事务 + 水平扩展 + 低运维成本” 的业务场景,TiDB 是综合性价比最高的选择。

TiDB核心优势:
契合业务规模扩张需求:传统 MySQL 分库分表方案面临运维瓶颈(如跨表查询复杂、扩容停机风险),TiDB 的原生分布式架构可实现无感知水平扩展。
保障核心业务事务一致性:TiDB 基于 Percolator 协议实现分布式强事务,解决跨节点数据一致性问题。
降低应用改造与学习成本:TiDB 高度兼容 MySQL 协议和语法,现有 MySQL 应用无需修改代码即可迁移,开发团队无需学习新的数据库技术栈,工具链(如 Navicat、MyDump)直接复用。
平衡成本与可用性:开源免费且支持私有部署 / 混合云模式,硬件要求灵活(普通 x86 服务器即可),相比 Oracle、Spanner 大幅降低成本;原生多副本(默认 3 副本)与自动故障转移能力,保障 99.99% 高可用。
适配国产化与混合负载场景:作为国内开源数据库标杆,TiDB 已完成国产化操作系统(麒麟、统信)和芯片(鲲鹏、飞腾)适配;通过 TiDB(行存 OLTP)+ TiFlash(列存 OLAP)架构,可同时支撑交易查询与报表分析,无需拆分架构。