上一篇数据库江湖(四):NoSQL 真正拆掉的,不是 SQL,而是“一种秩序统治所有数据”的幻觉写 NoSQL,重点不是“它赢了”,而是它拆掉了数据库行业长期维持的单一正统幻觉。

可幻觉拆掉之后,问题并没有结束。

相反,新的问题会很快浮出来:

  • 多种存储协作变复杂
  • 一致性边界越来越难讲
  • 应用侧兜底成本越来越高
  • 团队需要维护的系统越来越多

这时候,行业会开始想起一件以前被嫌麻烦的东西:

原来事务、SQL 和统一模型,并不是毫无价值的旧包袱。

于是 NewSQL 才显得顺理成章。

它不是简单地“回到关系型”。

它更像数据库世界的一次集体表态:

分布式现实我承认了,但我还是想把关系型世界那套熟悉的秩序、语义和开发体验重新拿回来。


01|NewSQL 出现,不是因为 NoSQL 错了,而是因为 NoSQL 把代价暴露得太彻底了

NoSQL 时代最有价值的一点,是它让行业更诚实。

可一旦诚实之后,大家也会看见另一面。

也就是:

如果你把数据库原本承担的很多事情拆回应用层,那么应用和平台迟早会发现自己背上了新账。

这些账包括:

  • 数据一致性逻辑越来越散
  • 多种存储之间的数据同步越来越脆
  • 业务开发者要理解的边界越来越多
  • 运维和排障复杂度显著上升

也就是说,NoSQL 的历史后果并不是“大家终于摆脱旧束缚”。

而是大家在某个阶段会重新意识到:

旧秩序之所以能长期存在,不只是因为保守,也因为它确实替组织承担了很多复杂度。

NewSQL 正是从这种再认识里长出来的。

它不是反动。

它更像反思。


02|Spanner 这条线真正重要的,不只是全球分布式,而是它试图在物理上极难的世界里,重新售卖“像单机关系库一样的确定性”

写 NewSQL 绕不开 Spanner

因为这条线最能说明它到底想卖什么。

很多人第一次听到这类数据库,会被这些词吸引:

  • 全球分布式
  • 横向扩展
  • 高可用
  • 自动分片

这些当然重要。

但如果只停在这层,还不够。

更深的地方在于:

它们想做的,是在分布式这个天然充满物理代价和不确定性的世界里,尽量重新售卖关系型数据库那种“你可以把它当成正式秩序来依赖”的感觉。

所以它们才会特别强调:

  • SQL
  • 事务
  • 一致性
  • 可预测的语义

因为真正让团队有安全感的,往往不是数据库底层多新。

而是:

我还能不能继续用熟悉的方式思考业务正确性。

这一点非常关键。

因为它说明 NewSQL 卖的不是技术新鲜感。

它卖的是:

在新时代基础设施上重新恢复旧秩序的可依赖感。


03|“兼容 MySQL / PostgreSQL”会成为高频卖点,本质上是在替团队降低认知与迁移恐惧

很多分布式 SQL 产品在宣传时,都会刻意强调:

  • 兼容 MySQL
  • 兼容 PostgreSQL
  • 尽量减少应用改动

这不是附带细节。

这几乎是核心卖点。

因为真正卡住团队迁移的,常常不只是性能或成本。

而是恐惧。

具体说,就是这些恐惧:

  • 现有代码要不要重写
  • 现有驱动和 ORM 要不要推倒重来
  • 现有 DBA / 开发经验还能不能复用
  • 故障发生时团队还能不能看得懂

所以很多 NewSQL 产品非常清楚:

如果它们只强调“我们更先进”,不够。

必须同时强调:

你不会因为采用我,就被迫彻底抛弃旧世界。

这也是为什么“兼容”二字会这么重要。

因为它不是语法兼容那么简单。

它是在卖一种迁移心理安全感。


04|NewSQL 的真实野心,是把分布式复杂度重新集中回数据库内部,而不是继续让应用层无限背锅

NoSQL 时代一种默认倾向是:

复杂度可以拆出去。

拆给应用,

拆给中间层,

拆给多个系统协作。

NewSQL 的野心刚好相反。

它想做的是:

把一部分已经被拆散的复杂度,重新收回来。

比如:

  • 分片不再由应用显式处理
  • 一致性不再全靠业务自己兜底
  • SQL 查询不必为了分布式彻底让路
  • 数据分布与副本调度尽量由数据库内部管理

这当然很难。

甚至可以说,难得近乎狂妄。

但为什么市场会愿意买账?

因为组织真的很怕长期维护一堆半手工拼起来的数据库体系。

应用可以临时背锅。

可一旦公司长大,管理层和平台团队迟早会开始问:

能不能把这些锅重新集中回一个更可治理的中心?

NewSQL 回答的,就是这个问题。


05|但它不是免费恢复旧秩序,而是把很多旧复杂度换成更昂贵的机器账单和基础设施要求

写 NewSQL 如果只写愿景,很容易像产品布道。

真正要压住的是代价。

因为 NewSQL 从来不是把过去那套关系型魔法白送给你。

它只是尝试用新的方式买回来。

而你要付出的,常常是另一种价格:

  • 更多机器
  • 更复杂的时钟和副本协调
  • 更重的网络依赖
  • 更高的基础设施要求
  • 某些场景下更难直觉理解的性能边界

也就是说,NewSQL 不是“回到过去”。

它是:

在分布式时代,用更高的系统工程成本,尽量换回旧世界那种简单而熟悉的开发者心智。

这很像数据库史里反复出现的一幕:

开发体验并不是凭空更简单。

它只是有人在底层替你把复杂度吞下去了。

而吞下去的人,可能是数据库内核,也可能是平台团队,也可能最后是你的云账单。


06|所以 NewSQL 的真正历史意义,不是证明“关系型归来”,而是证明大家始终没停止想要秩序

NoSQL 把数据库世界拆开之后,行业短暂体验到了多种模型共存的自由。

可几年之后,大家又开始努力把一些旧东西捡回来:

  • SQL
  • 事务
  • 强一致语义
  • 单一系统里的更多能力

这说明一件很重要的事。

数据库世界表面上争的是技术路线,

更深层争的却一直是:

谁替组织提供一种足够可信、足够稳定、足够易于协作的秩序。

关系型数据库早年卖的是这种秩序。

NoSQL 时代部分拆掉了它。

NewSQL 则试图在新的物理前提下重建它。

所以它的历史意义,不在“回归”。

而在承认:

秩序这件事,大家其实一直都还想要。


今天遗产:为什么今天很多团队谈数据库升级,本质上都在问“我要为少背多少锅多花多少钱”

NewSQL 留下的今天遗产,已经非常现实:

  • 很多团队谈分布式数据库,不再只是问“能不能扩”,还会问“能不能继续保持熟悉的开发体验”
  • 大家越来越愿意为“少改业务代码、少做分库分表、少在人肉兜底一致性”付钱
  • 兼容 MySQL / PostgreSQL 的叙事,已经成了新数据库争夺企业采用的标准动作

这说明当代数据库选型常常不是“我喜不喜欢新技术”。

而是:

我愿意为把多少复杂度重新塞回数据库内部,多付出多少机器、平台和供应商成本。


小结

  • NewSQL 出现,不是因为 NoSQL 错了,而是因为 NoSQL 把应用侧和平台侧要承担的复杂度暴露得太彻底。
  • Spanner 一类路线真正想卖的,是在分布式现实里重新恢复关系型数据库那种正式秩序感。
  • “兼容 MySQL / PostgreSQL”之所以重要,本质上是在替团队降低认知与迁移恐惧。
  • NewSQL 没有白送简单性,它是用更高的底层系统工程成本,换回更熟悉的开发体验和组织治理能力。

关键人物与组织速览

  • Google / Spanner 团队:理解分布式 SQL 的雄心与代价,绕不开这条线。
  • CockroachDB / TiDB 等厂商:它们把“兼容旧心智 + 新基础设施”这套叙事带进了更广的市场。
  • 企业平台团队:真正愿意为 NewSQL 买单的,往往是那些已经被多库协作和应用侧兜底折腾过的组织。
  • MySQL / PostgreSQL 生态:它们作为兼容对象,本身就说明旧心智仍然是整个行业的参照系。

参考与延伸阅读

  1. Spanner: Google's Globally Distributed Database
    https://research.google/pubs/pub39966/

  2. CockroachDB Docs - Architecture Overview
    https://www.cockroachlabs.com/docs/stable/architecture/overview

  3. TiDB Documentation - TiDB Architecture
    https://docs.pingcap.com/tidb/stable/tidb-architecture

  4. PostgreSQL Documentation - SQL Language
    https://www.postgresql.org/docs/current/sql.html

  5. Google Cloud Spanner Documentation
    https://cloud.google.com/spanner/docs


下篇预告:当数据库越来越像一项服务而不是一套软件时,被重写的为什么不只是架构,还有控制权、出口和议价权。