跳到正文
原文
InfoQ 中文· 作者:Daniel Curtis·· 4 小时前AI 评分52

亚马逊云科技 Aurora DSQL 新增外键约束并明确冲突重试机制

亚马逊云科技在 Aurora DSQL 中引入外键约束

AI 摘要

亚马逊云科技宣布 Aurora DSQL 正式支持外键约束,允许应用程序在数据库中强制执行参照完整性,包括 CASCADE、SET NULL 等操作,解决了该服务发布以来阻碍迁移的核心缺失环节。这一功能填补了分布式数据库与“普通”PostgreSQL 之间的关键差距,使 DSQL 在现有系统环境中更具可行性。

技术实现上,Aurora DSQL 利用 Adjudicator 和 PostgreSQL 的 KEY SHARE 机制,在事务提交时基于一致性快照进行隐式检查,无需锁定表即可校验外键关系。若检测到违反约束的更改,相关事务将因序列化错误被拒绝,而非进入等待状态,因此应用程序必须实现重试逻辑。为减少冲突,官方建议保持被引用的键列稳定,避免频繁修改,并将变化值移至非键列。此外,维护参照完整性会导致对被引用或引用表的所有 DML 操作产生额外读取开销,客户需在添加约束前进行基准测试。

社区对此反应总体积极,荷兰国家铁路公司工程师指出这是消除采用障碍的关键一步,但仍有用户担忧性能影响。事实层面,外键约束已上线且文档明确了冲突处理机制;推断层面,该功能可能显著提升 DSQL 在强一致性要求场景下的竞争力;猜测层面,具体工作负载下的性能损耗幅度仍需实测验证,不能仅凭架构描述断定其优劣。

来源:InfoQ 中文 · infoq.cn