RDS 上的 Postgres 实例与 Aurora

Postgres Instance on RDS vs Aurora

我正在考虑在 AWS 中设置 Aurora Postgresql 或 RDS Postgresql 实例。

我希望数据库实例 运行 位于 2 个不同的区域,并且希望设置实时复制。我也希望没有停机时间进行补液/修补等。

根据我到目前为止阅读/与同事讨论的内容,我的印象是 Aurora Postgresql 是一个可供选择的选项,因为 RDS 需要几分钟的停机时间来重新水化,而 Aurora 支持跨不同数据库实例的实时复制地区。

我的理解是否正确,还有其他我应该注意的因素吗?

没有 RDS 产品支持 "real-time" 跨区域复制。跨区域复制始终是异步的。

You can expect to see a higher level of lag time for any Read Replica that is in a different AWS Region than the source instance, due to the longer network channels between regional data centers.

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.XRgn

此外,Aurora/Postgres 的跨区域副本尚不可用。

跨区域副本仅适用于 Aurora/MySQL...但跨区域副本不适用于零停机时间或故障转移,无论如何 - 它仅适用于 geo/latency-based 读取横向扩展或者灾难恢复,因为一旦你提升了副本,原来的主控就不得不被放弃,因为复制是单向的。

如果当您说 "region," 时您实际上指的是可用性区域,那么这就更简单了,因为 Aurora 实例的后备存储是在该区域内的 3 个可用性区域之间复制的,并且复制是同步。单个区域中的所有副本都可以是同步的,即使在不同的 AZ 中也是如此,因为它们都共享相同的复制存储。