加载中...
NewSQL 是2010年代兴起的数据库类别,试图将 NoSQL 的水平扩展能力与传统关系型数据库的 ACID 事务和 SQL 接口结合。代表产品包括 Google Spanner、CockroachDB、TiDB 等,解决了「要么扩展要么事务」的历史两难困境。

| 术语来源 | Matthew Aslett,451 Research,2011年 |
| 代表产品 | Google Spanner、TiDB、CockroachDB、YugabyteDB |
| 核心技术 | Raft/Paxos 共识 + 分布式事务 + SQL 接口 |
2000年代中期,互联网规模的数据量让传统 RDBMS 捉襟见肘,NoSQL 以放弃 SQL 和事务为代价换取水平扩展。但业务系统(电商、金融、社交)对事务的需求无法回避,分库分表方案运维复杂、跨分片事务几乎无解。NewSQL 的出现是对这一矛盾的直接回应。
2012年 Google 发表 Spanner 论文,展示了在全球数据中心实现外部一致性的分布式 SQL 数据库——TrueTime API 利用 GPS 和原子钟同步时间,让全球节点的事务时间戳可以严格比较,实现了分布式串行化。这篇论文在学界和工业界都引发了巨大震动。[1]
TiDB(PingCAP 开发):存储层(TiKV,基于 RocksDB + Raft)与计算层(TiDB Server)分离,兼容 MySQL 协议,国内互联网公司(微众银行、知乎、美团)有大量生产部署。
CockroachDB:名字来源于「像蟑螂一样难以消灭」,强调极高的容错性,兼容 PostgreSQL 协议,适合对停机零容忍的场景。
YugabyteDB:同时兼容 PostgreSQL(YSQL)和 Cassandra(YCQL)两种接口,灵活适配不同迁移场景。
NewSQL 的工程挑战依然艰巨:Raft 共识协议的写入延迟比单机高,跨机房部署时尤为明显;优化器需要理解分布式代价,比本地 SQL 优化器复杂得多。

| 术语来源 | Matthew Aslett,451 Research,2011年 |
| 代表产品 | Google Spanner、TiDB、CockroachDB、YugabyteDB |
| 核心技术 | Raft/Paxos 共识 + 分布式事务 + SQL 接口 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧