Amazon Aurora
实现 MySQL 最高 5 倍、PostgreSQL 最高 3 倍吞吐量的 AWS 自研云原生关系型数据库
概述
Amazon Aurora 是 AWS 从零开始为云设计的关系型数据库引擎。与 MySQL 和 PostgreSQL 兼容,现有的应用程序代码和工具几乎可以直接使用。存储自动复制到跨 3 个可用区的 6 个副本,并自动扩展至集群卷的上限。根据 AWS 文档 (截至 2026 年 9 月),该上限因引擎版本而异,为 128 TiB 或 256 TiB。使用 Aurora Serverless v2 时,数据库容量会根据工作负载自动扩展,降低空闲时的成本。按 AWS 配额 (截至 2026 年 9 月),每个主实例最多可创建 15 个只读副本。故障转移所需时间取决于配置和故障内容。使用 Aurora Global Database 可以将数据异步复制到多个次要区域,也支持区域故障时的故障转移。
计算与存储分离架构
Aurora 高性能的根基在于计算与存储分离的独特设计。传统 RDS 中存储直接挂载到实例上,而 Aurora 的存储层作为独立的分布式系统运行。数据被分割为 10 GB 的段,以跨 3 个 AZ 的 6 个副本形式保存。写入在 6 个副本中有 4 个成功即判定完成 (4/6 仲裁),读取在 3 个副本响应即判定完成 (3/6 仲裁),因此即使同时丢失 2 个副本也能读取数据。检测到故障的段会自动重建。Azure SQL Database Hyperscale 也采用了计算与存储分离的设计,而 Aurora 支持 MySQL 和 PostgreSQL 两种引擎,这是结构上的差异。故障转移所需时间在两种产品中都取决于配置和故障内容。
Serverless v2 与只读副本的使用区分
Aurora Serverless v2 可按 ACU (Aurora Capacity Unit) 为单位以精细的增量自动扩展容量,适合流量波动大的工作负载。可扩展的下限和上限因引擎版本和设置而异,实际数值请查阅 AWS 文档。夜间和非高峰时段会缩减到设置的下限,与容量固定的预置实例相比可降低空闲时的成本。另一方面,读取负载高时添加只读副本更有效,按 AWS 配额 (截至 2026 年 9 月),每个主实例最多可创建 15 个。只读副本也可作为故障转移目标,主实例故障时会自动提升。
回溯与 Global Database 的恢复策略
启用 Aurora MySQL 兼容的回溯 (Backtrack) 功能后,可以在短时间内将数据库回退到保留期内的任意时间点 (可保留的时长上限取决于设置和 AWS 的规格)。对于误执行 DELETE 语句或部署后数据不一致等人为失误的恢复,无需从快照恢复即可完成。对于区域故障的防备,Aurora Global Database 非常有效,可以将数据异步复制到次要区域。跨区域故障转移所需时间和 RPO (恢复点目标) 取决于配置和故障内容,请查阅 AWS 文档确认。在成本方面,使用预留实例预付相比按需价格可以降低费用,折扣幅度取决于合约期限和支付方式。通过 Performance Insights 可视化查询性能,持续进行慢查询识别和索引优化,可以防止实例规格的过度扩展。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。