在 AWS re:Invent 上,Amazon 预览了 Aurora DSQL,一款分布式 SQL 数据库,并强调它“兼容 PostgreSQL”。但现实是,它缺失了不少核心功能,比如外键、视图、触发器、序列、扩展以及部分 SQL 语法支持,甚至连 CREATE TABLE 的参数都做了大量裁剪。
Aurora DSQL 的架构与传统数据库完全不同。它被拆分为多个独立微服务组件,包括前端、查询处理器、事务日志(journal)以及协调模块(adjudicator)。每个组件都可以独立扩展,从而提升整体吞吐能力与容错性。Amazon CTO Werner Vogels 表示,这种设计避免了单体数据库“必须整体过度扩容”的低效问题。同时,事务在写入日志时就被视为完成,而不是等数据真正落盘,这也与传统数据库不同。
不过,正是这种分布式架构导致了 PostgreSQL 兼容性的折扣。AWS 数据库负责人解释称:首先,存储层与 PostgreSQL 不同,一些依赖底层存储结构的扩展(例如地理信息相关扩展)无法直接使用。其次,分布式环境无法假设“所有状态都在一个进程里”,例如自增 ID 在分布式系统中会变得不可用或复杂化。
另外,一些功能被暂时延后实现,例如外键和存储过程。还有一个关键变化是:DDL(数据定义语言)必须异步执行,比如 CREATE INDEX 需要写成 CREATE INDEX ASYNC,因为在分布式系统中无法使用强锁机制。整体设计采用乐观并发控制,以保证系统在高并发下依然稳定运行。
尽管兼容性不完整,但 AWS 强调这是有意取舍的结果。DSQL 的优势在于完全无服务器、自动扩展、更新无感知。随着负载增加,系统可以自动扩展查询节点、日志节点和存储副本。官方甚至表示,一些基于 PostgreSQL 的应用(如 ERP 系统)可以在一天内迁移完成。
总体来看,Aurora DSQL 更像是“重构后的分布式数据库”,而不是传统 PostgreSQL 的升级版。它在牺牲部分兼容性的同时,换来了更极致的扩展能力与云原生体验。









苏公网安备32021302001419号