Amazon RDS for PostgreSQL 现在支持 pgactive 实现主动-主动复制

AWS 宣布 pgactive 在 RDS for PostgreSQL 上正式可用

AWS 最近宣布了 pgactive 在 RDS for PostgreSQL 上的正式可用。pgactive 是一种 PostgreSQL 的复制扩展,支持异步的主动-主动复制,用于在数据库实例之间流式传输数据,从而增强系统的弹性和灵活性。

pgactive 的核心功能

pgactive 基于开源的 BDR 项目,提供了节点同步、复制延迟指标以及不同的自动冲突解决策略,包括“最后更新胜出”、“首次更新胜出”或可自定义规则。它支持最多 16 个写入实例,异步的主动-主动复制允许为最终一致性设计的应用程序写入两个或更多的 RDS 实例,从而在不同数据库操作中保持可用性,并减少跨多个区域分布的工作负载的写入延迟。

逻辑复制与冲突解决

AWS 首席产品经理 Jonathan Katz 解释,主动-主动复制的核心组件是逻辑复制。逻辑复制使用一种数据格式,允许外部系统在将更改应用到目标数据库之前解释这些更改。这使得目标系统能够执行额外的操作,如检测和解决写入冲突或将语句转换为目标数据库软件支持的格式。默认情况下,扩展会记录所有冲突,并使用“最后更新胜出”策略,接受时间戳最新的事务中的更改。

开发者评价

Mydbops 的数据库可靠性工程师 Aakash Muthuramalingam 评论说,AWS 为 PostgreSQL 用户推出了一项具有革命性的功能,这种创新的数据库复制方法能够实现前所未有的性能、弹性和可扩展性。

使用注意事项

Jonathan Katz 警告说,pgactive 并不是所有应用程序的即插即用解决方案。使用 pgactive 进行主动-主动数据库集群的应用程序必须做出特定的设计决策,以确保其能够安全运行。即使你将写入流量路由到单个 pgactive 实例,也必须确保你的应用程序架构支持主动-主动复制拓扑。

其他扩展与开源贡献

在过去一年中,RDS for PostgreSQL 引入了对其他扩展的支持,包括 pgvector、plrust、h3-pg、hypopg、tcn 和 seg,并为 pg_tle 提供了处理自定义数据类型的新更新。尽管 AWS 最近强调了其团队对开源数据库的贡献,但社区仍需要更多说服力,一些开发者质疑 pgactive 是否会开源。

可用性与配置

该扩展在所有 AWS 区域的 PostgreSQL 15.4-R2 及更高版本的数据库实例上可用。要启用此功能,需要在 DB 参数组中将 rds.enable_pgactive 参数设置为 1。在数据库中创建扩展会自动启用 rds.logical_replicationtrack_commit_timestamp,并将 wal_level 设置为逻辑。

阅读 60
0 条评论