Hasty Briefsbeta

双语

Amazon RDS for PostgreSQL 17.4

a year ago
  • #Amazon RDS
  • #PostgreSQL
  • #Database Isolation
  • PostgreSQL采用MVCC实现事务隔离,其中'读未提交'和'读已提交'实际均为读已提交级别,'可重复读'提供快照隔离,而'可序列化'确保真正的可序列化隔离。
  • Amazon RDS for PostgreSQL作为托管服务,自动处理实例配置、复制和备份等任务,其多可用区部署通过同步复制实现高容错能力。
  • RDS提供主节点与只读节点端点:主节点支持所有隔离级别,但从节点不支持可序列化隔离,其最强一致性级别仅限快照隔离。
  • 测试采用适配Jepsen框架的工作负载,针对RDS集群执行整数列表事务操作,通过数据流依赖关系检测隔离异常。
  • Amazon RDS for PostgreSQL在所有测试版本(13.15至17.4)中均出现违反快照隔离的G非相邻循环异常,包括长分叉异常。
  • 这些异常表明RDS可能提供的是并行快照隔离(弱于单节点PostgreSQL的强快照隔离),可能影响事务一致性。
  • 建议用户审查存在长分叉风险的事务结构,或将安全性关键操作限制在主节点端点以规避异常。
  • Jepsen的研究结论属于实验性质,虽能证明缺陷但无法验证绝对正确性,且该独立分析未收取任何形式补偿。