关系型数据库 - 使用 Amazon RDS 与 Aurora 实现高可用数据库

解析使用 Amazon RDS 与 Aurora 构建关系型数据库的方法。

托管关系型数据库的价值

关系型数据库是企业核心系统的基础,在事务处理、数据一致性和复杂查询处理方面不可或缺。Amazon RDS 是全托管关系型数据库服务,支持 MySQL、PostgreSQL、MariaDB、Oracle、SQL Server 5 种引擎。与本地数据库运维相比,硬件采购、OS 安装、补丁应用、备份管理、故障转移配置等繁琐工作全部自动化。

Amazon Aurora 的创新架构

Amazon Aurora 是 AWS 自主开发的云原生关系型数据库,实现 MySQL 最高 5 倍、PostgreSQL 最高 3 倍的吞吐量。Aurora 存储自动复制到跨 3 个可用区的 6 个副本,最大自动扩展到 128 TB。这种分布式存储架构使存储层故障对数据库可用性的影响极小。Aurora 最多支持 15 个只读副本,故障转移通常在 30 秒内完成。写入操作仅需 6 个副本中的 4 个确认即可提交,读取仅需 6 个中的 3 个,实现高可用性与高性能的平衡。

Aurora Serverless v2 无服务器数据库

Aurora Serverless v2 是根据工作负载需求自动扩展数据库容量的无服务器选项。从 0.5 ACU(Aurora Capacity Unit)到最大 256 ACU,以 0.5 ACU 的细粒度扩展,即时响应需求变化。开发和测试环境中可最小化空闲时成本,负载测试时可扩展到所需容量。与预置实例混合使用,将只读副本设为 Serverless v2 可在读取高峰时自动扩展。 关于数据库设计的详细解析,可参考Amazon 相关书籍

全球部署与灾难恢复

Aurora Global Database 可构建跨 1 个主区域和最多 5 个辅助区域的全球数据库集群。到辅助区域的复制延迟通常不到 1 秒,区域故障时的故障转移在 1 分钟内完成。由此实现 RPO(恢复点目标)不到 1 秒、RTO(恢复时间目标)不到 1 分钟的灾难恢复。辅助区域的只读副本可处理本地读取流量,为全球用户提供低延迟的读取体验。

RDS 与 Aurora 定价

RDS db.r6g.large 每小时约 0.252 美元(月费约 181 美元)。Aurora 同等规格约 0.29 美元/小时,但提供最高 5 倍吞吐量。存储方面 RDS gp3 每 GB 月费约 0.08 美元,Aurora 约 0.10 美元。预留实例可享最高 72% 折扣。Aurora Serverless v2 每 ACU 小时约 0.12 美元,空闲时可缩减到 0.5 ACU 以最小化成本。

总结 - 关系型数据库的最优选择

Amazon RDS 与 Aurora 是从根本上变革关系型数据库运维的服务。大幅减轻 DBA 运维负担的同时确保企业级可用性和持久性。需要 MySQL/PostgreSQL 兼容高性能时选择 Aurora,需要与现有引擎完全兼容时选择 RDS。