◈ DB 选型参考
← 返回首页

Amazon Aurora

关系型 OLTP #云原生 #存算分离 #全托管 #MySQL兼容 #PG兼容 #Serverless #GlobalDatabase #AWS锁定

AWS 的云原生关系型数据库:计算与存储分离、存储层 6 副本 quorum、MySQL / PostgreSQL 双协议兼容的**全托管**数据库,"不想运维数据库"的团队在 AWS 上的默认答案。

用 AI 深挖这款:
证据等级:官方文档 厂商口径 社区实测 社区共识 待验证

基本信息

项内容
厂商Amazon Web Services(美国)
起源2014 年 re:Invent 发布,2015 年 GA;SIGMOD 2017 发表架构论文
许可证闭源商业,无开源版本
托管服务仅 AWS(这是它唯一的存在形态,无自建版)
主类型关系型(存算分离云原生架构)
兼具类型Aurora PostgreSQL Limitless(分片水平扩展,PG only);向量检索(pgvector)

硬维度(47 项)

1 静态加密 / TDE 有

有官方文档。集群级 KMS AES-256,覆盖存储卷、自动备份、快照、副本;创建时开启,创建后不可修改(immutable,要加密旧库只能快照→加密复制→恢复→切换)。注意两点反直觉:MySQL 的 InnoDB 表空间级 TDE(ENCRYPTION='Y')不支持(查证为无),keyring 插件全系不支持——加密是卷级的,不是表级的。新集群默认开启加密为社区说法,待验证。

2 TLS / 传输加密 有

有官方文档。TLS/SSL;Aurora MySQL 8.4 新集群默认强制 TLS(仅 1.2/1.3);MySQL 侧 require_secure_transport、PG 侧 rds.force_ssl。

3 审计 有

有官方文档。Database Activity Streams(近实时活动流,KMS 加密,sync/async 两种模式,async 高负载可能丢日志);Aurora MySQL 支持 MariaDB Audit Plugin(高级审计);PG 支持 pgaudit 扩展;日志可导出 CloudWatch。

4 认证与权限 有

有官方文档。密码、IAM 数据库认证(token 15 分钟有效期)、Secrets Manager 集成、PG 支持 Kerberos/AD。上限是 rds_superuser,无 SUPER 权限:不能改 pg_hba.conf、不能 ALTER SYSTEM、不能建 C 语言函数、不能装非白名单扩展。

5 备份恢复 有

有官方文档。连续增量备份到 S3(对性能无影响)+ PITR 任意秒级恢复(保留期 1~35 天,恢复=建新集群);手动快照;跨 Region 快照复制;克隆(copy-on-write);Backtrack 仅 Aurora MySQL(建集群时启用,72 小时窗口)。

6 可观测性 有

有官方文档。CloudWatch(Database Insights)、Performance Insights(7 天保留免费,超期按 vCPU 收费)、Enhanced Monitoring(走 CloudWatch Logs 计费)、慢查询日志(要手动在参数组开启并导出,产生日志费用)、DevOps Guru for RDS。

7 连接模型 每连接一个后端进程

每连接一个后端进程(MySQL 线程 / PG 进程),连接风暴靠 RDS Proxy 解官方文档:托管连接池、IAM 认证、Secrets Manager、failover 感知(不靠 DNS)。reader endpoint 是 DNS 轮询(TTL 5 秒),不是真负载均衡——长连接池不回收会钉死在个别 reader 上。

8 事务与隔离级别 继承引擎官方文档

继承引擎官方文档。MySQL:InnoDB,默认 REPEATABLE READ;PG:默认 READ COMMITTED,支持 SERIALIZABLE。写转发下 MySQL 仅支持 REPEATABLE READ;Limitless 跨分片事务有限制;XA 支持(PG 需 max_prepared_transactions > 0)。

9 复制与一致性 有,架构核心

有,架构核心(官方论文 + 官方文档)。存储层 6 副本跨 3 AZ,写 quorum 4/6、读 quorum 3/6;计算层只向存储层发 redo 日志("log is the database");reader 共享同一存储卷,复制延迟为毫秒级厂商口径;Global Database 跨 Region 存储层异步物理复制(厂商口径典型 <1 秒);MySQL 另有 binlog / Enhanced Binlog 逻辑复制选项。

10 扩展方式 纵向

纵向(实例规格;Serverless v2 0~256 ACU 自动)+ 横向读扩展(最多 15 副本)+ 存储自动扩容(10GB→256 TiB,只增不减)。写扩展靠 Aurora PostgreSQL Limitless(分片架构,router/shard 两层)。官方文档

11 兼容性 有

有(官方文档 + 社区共识)。MySQL 协议(3.x ~ MySQL 8.0.45;8.4 ~ 社区 8.4.7 LTS 且版本号对齐)、PG 协议(18.4 等)。JDBC / ORM / DMS / Debezium 等生态工具通用。PG 扩展为白名单制(SHOW rds.extensions),冷门扩展无自助安装通道。

12 许可证与商业模式 有

有(官方文档,闭源商业 + 厂商口径计费模型)。闭源商业,按量付费:计算(实例小时 / ACU-秒)+ 存储(GB-月)+ I/O(Standard 版按百万次)+ 备份/传输;Database Savings Plans / RI 可打折;无开源版。AWS 锁定是最大的商业现实:无他云、无自建,迁出=逻辑迁移。只写计费模型,不写绝对标价。

13 中文资料丰富度 有中文版但部分页面翻译滞后

中等社区共识。官方文档有中文版但部分页面翻译滞后;中文社区实践帖(CSDN/博客)不少,但深度调优、故障排查内容多为英文(re:Post、AWS Blog)。

14 性能与延迟特征 有

有(存算分离;读扩展与故障恢复快)。

  • 读副本共享存储卷,加节点不复制数据;故障恢复通常秒级(存储层仲裁)官方文档。
  • 写仍是单 writer 上限;延迟与 vanilla MySQL/PG 相近 社区共识。
  • Serverless v2 支持自动纵向伸缩,应对波峰 官方文档。

15 合规与认证 有

有(继承 AWS 合规体系;中国区走光环/西云)。

  • AWS:SOC2、ISO27001、PCI DSS 等厂商口径厂商口径。
  • 中国区(北京/宁夏,由光环新网/西云数据运营)参与等保测评 厂商口径。
  • 无信创名录信息;政企选型以上云版本资质为准 待验证。

16 成熟度与社区生态 有

有(2014 年发布;云原生数据库的开创者)。

  • 2014 年 re:Invent 发布,MySQL/PG 兼容双引擎;AWS 增长最快的服务之一 社区共识。
  • 生产案例极多,调优/排障资料丰富 社区共识。
  • 闭源云服务:行为由 AWS 定义,大版本跟进上游有延迟 社区共识。

17 标杆用户 有

有(AWS 上最流行的关系型之一)。

  • Airbnb、Capital One 等公开案例厂商口径厂商口径。
  • 大量从自建 MySQL/PG 迁移上云的用户 社区共识。
  • 中国区(宁夏/北京)亦有规模化用户 厂商口径。

18 生态工具链 有

有(AWS DMS+快照/PITR 全托管)。

  • 迁移:AWS DMS(异构/同构);快照共享跨账号/跨区 官方文档。
  • 备份:连续备份到 S3,PITR 到秒级 官方文档。
  • 监控:CloudWatch/Performance Insights;CDC:DMS/Kinesis 集成 官方文档。

19 云托管与 Serverless 有

有(本身就是云服务;Serverless v2)。

  • Aurora 本身就是 AWS 托管服务;Serverless v2 自动伸缩 官方文档。
  • Global Database 跨区,Backtrack 回拨 官方文档。
  • AWS 绑定,无本地版(Outposts 除外)社区共识。

20 数据接入与摄入 有

有(S3 直导(LOAD DATA FROM S3/aws_s3);DMS)。

  • Aurora MySQL:LOAD DATA FROM S3 并行导入;Aurora PG:aws_s3 扩展从 S3 导入/导出 官方文档。
  • DMS 支持同构/异构迁移与持续复制 官方文档。
  • 跨区/跨账号 S3 导入注意 IAM 权限与网络 社区共识。

21 外部数据访问 部分支持

部分支持(PG 版经 aurora_analytics 直查湖仓;MySQL 版无外部表语义)。

  • Aurora PG:postgres_fdw、dblink 可用;aws_s3 可读写 S3 对象 官方文档。
  • Aurora PG 17.11+/18.6+ 新增 aurora_analytics 扩展:DuckDB 内嵌于 Aurora 内部,可直接建外表查询 Glue Data Catalog 中的 Iceberg 表及 S3/S3 Tables 上的 Parquet/Iceberg 数据,免 ETL;一条 SQL 可联合实时数据(含未提交写入)与湖仓历史数据。谓词下推、列裁剪与实例级缓存均为厂商口径,2026-10-01 由 AWS 官方博客宣布 AWS 官方博客。
  • 限制与对等风险:仅 PG 版支持,Aurora MySQL 无对应能力;需 IAM role(AuroraAnalytics)+ Glue Catalog 配置;单毫秒级延迟场景仍需 CTAS 物化到原生表(写入走主实例);尚无独立第三方性能对比,查询加速效果为厂商口径 AWS 官方博客。
  • Aurora MySQL:无外部表语义 社区共识。

22 CDC 与下游同步 有

有(binlog/逻辑复制;DMS、Debezium)。

  • Aurora MySQL 开 binlog;Aurora PG 开逻辑复制,均可对接 Debezium 官方文档。
  • DMS 做持续复制到下游 官方文档。
  • 只读副本延迟与主库 binlog 保留期是常见坑 社区共识。

23 TTL 与数据生命周期管理 部分支持

部分支持(分区+event 定时清理;无原生行级TTL)。

  • MySQL 版:分区表 + event scheduler 定时删过期分区 社区共识。
  • PG 版:pg_cron + 分区裁剪,沿用 PG 生态做法 官方文档。
  • 无原生行级 TTL;大表逐行 DELETE 又慢又胀 undo 社区共识。

24 在线 DDL 与 Schema 演进 部分支持

部分支持(PG 标准版四类同社区 PG;Limitless 分片版有官方 DDL 限制;MySQL 版在线 DDL 有限)。

  • 一、只改定义,不碰数据:Aurora PG 同社区 PG(加可空列/非 volatile 默认列/重命名/删列标记/NOT VALID 约束/COMMENT,O(1));Aurora MySQL 同 InnoDB,加列多可在线 官方文档。
  • 二、重写数据,但数据住哪不变:Aurora PG 标准版同社区 PG——改列类型需重写,CREATE INDEX CONCURRENTLY 在线建索引(AWS 官方运维指南对 Aurora/RDS 直接沿用社区 PG 的 CONCURRENTLY / REINDEX CONCURRENTLY / pg_repack 手段)官方文档;Aurora PG Limitless(分片版)有官方 DDL 限制:分片表不支持 CREATE UNIQUE INDEX CONCURRENTLY 官方文档;Aurora MySQL 改主键/列类型仍重建,大表用 gh-ost 更稳 社区共识。
  • 三、搬数据:Aurora PG 标准版同社区 PG(改分区键/分区策略、分区合并拆分、CLUSTER 重排需重建,不在线);Limitless 分片表的搬数据类操作同样不在线,且受官方 DDL 限制文档约束 官方文档。
  • 四、验证约束:Aurora PG 同社区 PG(NOT VALID + VALIDATE CONSTRAINT 两阶段)官方文档;Aurora MySQL 加约束走 InnoDB 路径,大表注意锁 社区共识。
  • 规模:第二、四类代价 O(n),小表大表两个世界 官方文档。
  • 语义:Aurora PG 版 DDL 事务性/锁/长事务卡 DDL 同社区 PG(CREATE INDEX CONCURRENTLY 不能在事务块里跑);Aurora MySQL 版 DDL 非事务性(隐式提交),翻车靠快照恢复/回溯(backtrack)兜底 社区共识/官方文档。

25 多租户与资源隔离 部分支持

部分支持(集群级隔离;Serverless v2 自动扩缩)。

  • 租户隔离靠多集群/实例,单集群内无资源组限流 社区共识。
  • Serverless v2 按负载自动扩缩,部分缓解 noisy neighbor 官方文档。

26 跨地域多活 部分支持

部分支持(Global Database 跨区读;写单主)。

  • Global Database:一写多读跨区,读延迟低,写仍单 region 官方文档。
  • 跨区故障转移分钟级,有数据丢失窗口(RPO 非零)官方文档。
  • 写多活需应用层分片,无原生方案 社区共识。

27 高可用架构与 RTO/RPO 有

有(存储 6 副本,故障切换 15 秒级)。

  • 存储层 6 副本跨 3AZ,计算故障切换通常 15-30 秒 官方文档。
  • RPO≈0(存储层复制),是其 HA 核心优势 官方文档。
  • 切换期间连接闪断,应用需重试逻辑 社区共识。

28 行级安全与数据脱敏 部分支持

部分支持(随引擎版本;PG版有RLS)。

  • Aurora PostgreSQL 兼容版继承 PG 原生 RLS;MySQL 兼容版无原生 RLS 官方文档
  • 脱敏可叠加 AWS Glue 数据目录敏感数据识别等云上工具,但属管控面 厂商口径
  • 跨可用区存储复制不改变引擎层语义 社区共识

29 JSON 与半结构化能力 有

有(MySQL 版 JSON;PG 版 jsonb)。

  • Aurora MySQL:原生 JSON 二进制类型,虚拟生成列+索引,JSON_TABLE 可用 官方文档。
  • Aurora PG:jsonb 完整;两引擎 JSON 互不兼容,选型时按引擎看 社区共识。

30 全文检索能力 有

有(ngram 中文分词;PG tsvector)。

  • MySQL 版:FULLTEXT 索引 + ngram parser 中文分词 官方文档。
  • 相关性排序弱于专业检索引擎,大规模检索仍建议外挂 OpenSearch 社区共识。

31 存储效率与压缩 有

有(存储层压缩+按量计费自动优化)。

  • Aurora 存储层自动压缩与去重,存储按实际使用量计费,用户无需管理。官方文档
  • MySQL 兼容版继承 InnoDB 压缩;PG 兼容版继承 TOAST 压缩。官方文档
  • 压缩为黑盒自动能力,用户侧无调优参数,压缩比不公开披露。待验证

32 开源协议与厂商锁定风险 有

有(AWS 深度绑定;存储层无法迁出)。

  • Aurora 是 AWS 托管服务,存储层(6 副本 quorum)与计算深度绑定 AWS,无法在 AWS 之外运行。官方文档
  • 虽兼容 MySQL/PG 协议可降低应用层迁移成本,但存储与高可用架构必须重构。社区共识
  • 无开源版本,协议风险即云锁定风险。社区共识

33 查询优化器与计划稳定性 有

有(引擎优化器同 MySQL/PG;存储层透明)。

  • 查询优化器与对应引擎(MySQL 8 / PG)一致,hint、EXPLAIN 行为相同 官方文档。
  • Aurora 的存储层优化对优化器透明,不改变计划选择逻辑 社区共识。
  • 计划翻转的根因(统计信息、参数)与原生引擎相同 社区共识。

34 参数调优与自治能力 部分支持

部分支持(参数组可调;Performance Insights 强)。

  • 通过参数组调参,常用参数与原生引擎一致 官方文档。
  • Performance Insights、Enhanced Monitoring 诊断能力强 官方文档。
  • 无自动索引/自动重写,自治能力弱于 AlloyDB 等 社区共识。

35 静默数据损坏防护 部分支持

部分支持(存储层 6 副本仲裁写,底层校验用户不可见)。

  • 存储层 6 副本跨 AZ、quorum 写,单副本损坏可被仲裁掩盖,用户无可见校验开关。官方文档
  • MySQL 兼容版继承 InnoDB 页 checksum 与 doublewrite,但存储卸载后部分语义由云层接管。官方文档
  • 用户无法主动触发全库校验或查看底层修复记录。社区共识

36 存储过程/触发器/过程语言 有

有(SP/触发器/事件完整)。

  • MySQL 版支持存储过程、触发器、事件调度;PG 版 plpgsql 完整 官方文档。
  • MySQL 过程语言无包、调试弱,去 O 迁移改写成本高 社区共识。

37 约束与数据完整性 有

有(InnoDB 约束完整)。

  • InnoDB 外键、CHECK(8.0.16+ 强制)、唯一约束完整 官方文档。
  • 外键级联大批量删除易放大写入与锁等待 社区实测。

38 分析 SQL 完备性 有

有(MySQL 8 窗口/CTE;PG 完整)。

  • MySQL 版:8.0 窗口函数、CTE(含递归)可用 官方文档。
  • 复杂分析性能弱于 OLAP 引擎,大宽表关联仍是短板 社区共识。

39 被遗忘权与数据擦除 部分支持

部分支持(手动DELETE;连续备份35天残留)。

  • Aurora 连续备份保留最长 35 天,被删数据在此窗口内可恢复 官方文档
  • 快照为全量,删除合规需管理快照保留与删除 官方文档
  • 无原生擦除证明 社区共识

40 数据血缘与目录集成 部分支持

部分支持(Glue 爬网元数据;无原生血缘)。

  • Glue crawler 可抓取 Aurora 表元数据进 Data Catalog 官方文档。
  • 无原生列级血缘,需第三方血缘工具 社区共识。

41 存算分离 vs 存算一体 有

有(存算分离标杆:分布式存储+计算分离)。

  • 存储与计算分离,存储自动扩缩至 128TB,按使用量计费 官方文档。
  • 存储层 6 副本跨 3 AZ,故障切换秒级 官方文档。
  • 写入需经存储层仲裁,超高并发小事务延迟高于本地盘 社区实测。

42 多模能力 部分支持

部分支持(随引擎:MySQL JSON / PG 向量生态)。

  • Aurora MySQL:JSON 类型+全文索引;Aurora PG:jsonb、pgvector(RDS 系支持)官方文档。
  • 无原生图/时序引擎 社区共识。

43 FinOps 成本可观测性 有

有(AWS 标签归因+Budgets 预算告警)。

  • 支持成本分配标签,Cost Explorer 按集群/实例/标签维度分析 Aurora 支出。官方文档
  • AWS Budgets 支持预算阈值告警;Serverless v2 按 ACU 秒级计量。官方文档

44 驱动与多语言生态 有

有(原生协议兼容;RDS Proxy 增强)。

  • 完全兼容 MySQL/PG 协议与驱动 官方文档。
  • RDS Proxy 提供连接池与故障切换加速 官方文档。

45 物化视图 部分支持

部分支持(PG 版手动物化视图;MySQL 版无)。

  • Aurora PG:物化视图手动 REFRESH(含 CONCURRENTLY)官方文档。
  • Aurora MySQL:无物化视图,靠汇总表+触发器/定时任务模拟 社区共识。

46 支持跨云 无

无(AWS 绑定,无跨云)。

  • 仅 AWS,无其他云版本 官方文档。
  • 迁出靠 DMS/逻辑导出,无跨云原生复制 官方文档。

47 热点数据更新能力 部分支持

部分支持(MySQL 线有锁释放优化,PG 线靠应用层)。

  • MySQL 线并发原语:InnoDB 行级记录锁,后来者排队等锁,等待时长受 innodb_lock_wait_timeout(默认 50 秒)限制;环路死锁由内核检测并回滚代价较小的一方(报 1213),重试由应用负责;热点行即串行单点 官方文档。
  • MySQL 线内置缓解:2016 年 v1.10 以 lab mode 引入针对热页/热点行的锁释放算法改进,官方称 TPC-C 场景最高 16 倍提升;该优化在当前大版本中是否为默认开启未找到明确证据 待验证。
  • MySQL 线衰减与运维:高并发热点下死锁检测本身的 CPU 开销会成为瓶颈,社区常见做法是关闭 innodb_deadlock_detect、调小锁等待超时并由应用重试;代价是真正的死锁要等到超时才释放 社区共识。
  • PG 线:行锁行为与社区 PG 一致——后来者排队、死锁检测常开、重试靠应用;官方明确指出行锁竞争与存算分离的存储层无关;官方推荐应用层"行拆分"(row splitting)模式,称可将吞吐从约 4900 提升到 21000+ TPS 厂商口径。
  • 应用层模式与代价:两条线通用模式为短事务、计数器分片、队列削峰;MySQL 线还可用 RDS Proxy 合并连接;代价是读聚合复杂度、短暂不一致窗口与额外组件运维 社区共识。

招牌能力

  1. 存算分离 + 6 副本 quorum 存储层("log is the database") 真本事:计算层无本地持久化,跨过网络的只有 redo 日志;存储层 6 副本跨 3 AZ(写 4/6、读 3/6),单 AZ 故障写可用性不受影响;计算崩溃重启无需 redo 回放。这是 Aurora 故障切换能做到秒级、备份对性能零影响的根本原因(SIGMOD 2017 论文)。 边缘真相:见深水区一——"存储无限弹性"是错觉,单 writer 实例规格仍是写吞吐天花板;热点写入会让少数 10GB protection group 抖动,而存储层没有暴露给用户的分区级限流数字,排查只能靠指标推断。
  2. Serverless v2(2026-04 起改名 Aurora serverless):0~256 ACU、按秒计费、可缩到 0 真本事:扩容秒级、连接不断;2024-11 起支持缩到 0 ACU 自动暂停,暂停期间计算费为 0,约 15 秒恢复厂商口径。波动/间歇负载和开发测试环境的"不用不花钱"终于名副其实。 边缘真相:见深水区六——"零费用"有三道关:默认最小 0.5 ACU 是地板价、暂停期间存储费照收、挂 RDS Proxy / 开逻辑复制 / 做 Global 主集群会阻止暂停。每天早上第一波流量要吃冷启动。
  3. Global Database:跨 Region 单写多读 + Region 级 DR 一体 真本事:存储层物理复制不经过引擎,主实例性能不受影响;厂商口径典型延迟 <1 秒;计划内 switchover 可做到 RPO=0(<30 秒)。从 Region 本地读延迟低,全球化读场景的天然方案。 边缘真相:见深水区四——计划外 failover 的 RPO = 当时的实际复制延迟,必须看 AuroraGlobalDBRPOLag 实时指标;跨 Region 传输费 + 复制 I/O 费另计;写永远只在主 Region,跨 Region 写转发只是"方便",每条 DML 付一次跨 Region RTT。
  4. 克隆(Clone):copy-on-write 分钟级复制整个集群 真本事:与源共享存储块,初始几乎不占额外存储;测试、压测、故障复现"复制一个生产库"从小时级变成分钟级。 边缘真相:创建便宜≠持有便宜——克隆体持续写入会累积差异存储与 I/O 费用;克隆是"快照式"一次性复制,不会自动跟随源更新,过期克隆上的测试结论可能失真。
  5. I/O-Optimized 计费模式:I/O 密集型负载的成本可预测性 真本事:取消按次 I/O 收费,I/O 费用占总支出超约 25%(厂商口径盈亏线)的负载切换后更划算,有案例总体节省可观。 边缘真相:代价是计算与存储单价上浮厂商口径;I/O 占比低、存储量大但访问少的库切过去反而亏;Standard→I/O-Optimized 30 天只能切一次,切错要等一个月。

深水区

深水区一:quorum 存储层——数学很美,热点很痛(domain:存储引擎)

  • 机制:数据切 10 GiB protection group,6 副本跨 3 AZ,写 4/6、读 3/6;计算层只发 redo 日志,从不写数据页(官方论文)。
  • 推到边缘:丢整个 AZ(2 副本)写不受影响;再坏 1 个节点(共 3 副本丢失)写 quorum 凑不齐→写不可用、读仍可用——这是设计目标,不是 bug。写入高度倾斜时压力集中在少数 protection group,社区基准测试观察到规律性性能抖动,AWS 官方调优指南建议主键轻量、外键检查移到应用层。存储层没有暴露分区级限流数字,热点症状是写延迟抖动而非明确报错待验证。
  • 选型含义:选 Aurora 是选"计算无状态、故障切换不搬数据";但别把"自动扩展"理解成"无限",单 writer 规格与写入热点模型必须先压测。
  • 来源:Verbitski et al. SIGMOD 2017 论文;AWS 官方文档;DZone 热点抖动基准

深水区二:写转发与读扩展——"15 副本"是 15 份计算,不是 15 份数据(domain:复制与读扩展)

  • 机制:reader 可接受写 SQL 并转发给 writer(Aurora MySQL 3.04+、PG 16.4+/15.8+/14.13+,官方文档);reader endpoint 做 DNS 轮询分发。
  • 推到边缘:写转发硬限制多——MySQL 仅 REPEATABLE READ,两引擎均不支持 DDL / SAVEPOINT / XA / LOCK / TRUNCATE / COPY / 游标,PG 还不支持存储过程与 LISTEN/NOTIFY;转发会话占用 writer 连接池配额(MySQL 默认 10%、PG 默认 25%),突发写先触达的是这个配额。跨 Region 写转发每条 DML 付一次跨 Region RTT(官方博客实测 us-east-1↔us-east-2 每条 +12~15ms)。reader endpoint 是 DNS 轮询(TTL 5 秒)不是负载均衡,JVM 默认无限缓存 DNS、连接池长期持有连接都会导致"读不均"(官方博客)。
  • 选型含义:写转发是"偶发写"的便利功能,不是第二写入口,单 writer 本质不变;读一致性要求高的链路走 writer endpoint;长连接池必须配连接回收(ConnMaxLifetime)。
  • 来源:AWS 官方文档;官方博客

深水区三:故障切换——数据库 30 秒恢复,应用可能几分钟不可用(domain:高可用)

  • 机制:按 failover priority tier 提拔 reader 为 writer,共享存储无需拷贝数据;writer endpoint DNS(TTL 5 秒)切换;厂商口径通常 30 秒内完成,社区实测 30~60 秒端到端。已提交事务靠 4/6 quorum 不丢,未提交 in-flight 事务全丢。
  • 推到边缘:DNS 缓存是第一杀手——JVM 默认 DNS 缓存 30 秒~无限,不设 networkaddress.cache.ttl 会持续打旧 IP;社区压测显示一个 JVM 参数把应用恢复从约 5 秒降到约 100ms社区实测。无 reader 的集群故障时间拉长到分钟级(生产至少配 1 个 reader 是硬要求)。RDS Proxy 可把应用侧恢复压到秒级(AWS 内部基准:平均约 3 秒 vs 直连约 14~24 秒,厂商口径)。MySQL vs PG 的 failover 目标时间无公开可区分数字,不应作为引擎取舍依据待验证。
  • 选型含义:Aurora 的 RTO 本质是"控制面切换",真正的 RTO 取决于应用侧重连工程;混沌演练要把客户端行为一起测。
  • 来源:AWS 官方文档;社区实测(re:Post)

深水区四:Global Database——RPO 必须绑定实时 lag 指标理解(domain:容灾)

  • 机制:1 主 Region + 最多 10 个从 Region(官方文档;上线初期为 5),存储层物理复制,厂商口径典型延迟 <1 秒。
  • 推到边缘:计划内 switchover 可 RPO=0(<30 秒);计划外 failover 的数据丢失量 = 当时的实际复制延迟,必须用 AuroraGlobalDBRPOLag 度量而非默认 RPO=0(社区建议 lag >2s 持续 5 分钟告警)。灾难切换后旧主 Region 卷被替换、需从快照重建(小时级)——DR 演练必须用 switchover,用 failover 做演练会引入不必要的重建与数据丢失风险社区实测。从 Region 挂载会挤占主集群 reader 配额(每挂 1 个从集群,主 reader 配额减 1)。rds.global_db_rpo 参数可把从 Region 落后反压回主 Region 写路径,打开后主写延迟与从 Region 健康度耦合。
  • 选型含义:Global Database 是"单写多读 + Region 级 DR",不要当多活;把 "~1s RPO" 写进 SLA 前先看 P99 lag;跨 Region 传输费 + 复制 I/O 费另计,多 Region 预算至少按单 Region ×2 起。
  • 来源:AWS 官方文档;社区 runbook

深水区五:I/O 计费——Aurora 第一成本深水区(domain:成本)

  • 机制:Standard 版除计算 + 存储外,读写 I/O 按百万次单独计费(询价/看账单)。
  • 推到边缘:全表扫描/缺索引、working set 装不进内存(Serverless v2 上限配太小是典型诱因)会导致读放大;社区真实账单案例(2026-06):某 1.0 ACU 上限的小库 I/O 费占当月 Aurora 总账单 68%~88%社区实测。优化过的查询退化也会引爆 I/O 费。排查看 Cost Explorer 的 Aurora:StorageIOUsage 行项与 CloudWatch VolumeReadIOPs/VolumeWriteIOPs。
  • 选型含义:上 Aurora 第一件事是给 I/O 设账单告警;内存宁可配大一点,ACU 的钱比 I/O 惊魂账单便宜;I/O 占比超约 25% 就评估切 I/O-Optimized(但 30 天只能切一次,别切错)。
  • 来源:社区账单案例(2026-06,社区实测);AWS 官方文档

深水区六:Serverless v2——"serverless"三道关(domain:成本/运维)

  • 机制:0~256 ACU,0.5 步长,按秒计费;0 ACU 自动暂停后约 15 秒恢复(厂商口径;暂停超 24 小时社区实测约 12~30 秒)。
  • 推到边缘:"不用不花钱"三道关——①默认最小 0.5 ACU 是 24×7 的地板价;②暂停期间存储费照收;③挂 RDS Proxy、开逻辑复制/binlog 复制、做 Global 主集群会阻止自动暂停,实例卡在 0.5 ACU社区实测。扩容秒级但缩容按分钟级(防抖动);恢复期间新连接排队/超时,有团队用定时 ping 保活规避冷启动社区实测。
  • 选型含义:开发/测试/间歇负载设 0 ACU 最划算;在线业务设 2~4 ACU 保底避开早高峰冷启动;"预置 writer + Serverless v2 reader"混搭是社区验证过的省钱组合。
  • 来源:AWS 官方文档;AWS Database Blog;社区实测

深水区七:版本滞后与升级之痛——托管的代价是"等 AWS 发版"(domain:兼容/版本)

  • 机制:Aurora MySQL 3.x 对应社区 8.0 的小版本长期滞后数月;Aurora PG 大版本落后社区数月到一年以上(官方发版日历 + 社区共识)。
  • 推到边缘:2026-05-21 是个转折点——Aurora MySQL 8.4 GA,对齐社区 8.4.7 且版本号与社区对齐,官方承诺大版本 12 个月内、小版本 3 个月内跟上厂商口径,此前"RDS MySQL 早有 8.4 而 Aurora 没有"被 re:Post 反复追问。大版本升级是运维最痛:MySQL 2→3 的 precheck 常因数据字典不一致等问题失败、升级后执行计划回退(优化器变化、query cache 移除、默认字符集变 utf8mb4);PG 升级靠蓝绿部署但有隐藏前提(源库不能有活跃逻辑复制槽——文档未写,社区实测排查数小时;切换期间禁 DDL;切换后需 ANALYZE/REINDEX);in-place 升级无回滚。
  • 选型含义:追新特性的团队选 Aurora 要接受"等发版"的节奏,RDS(非 Aurora)通常跟得更快;大版本升级走蓝绿部署 + 升级前逐项 precheck,把回滚路径(蓝绿回切)当必选项。
  • 来源:AWS What's New;AWS 官方文档;re:Post 社区实测

客户经验

内核 日志即数据库(log is the database)—— 存储计算分离的"真"实现

一句话
只写日志不写数据页,15 个只读副本共享同一份存储、零数据拷贝、毫秒级复制延迟——云原生数据库的范式转移。
窄场景
读扩展需求大(报表、读多写少)、要求故障转移秒级 RTO、TB 级数据量的 MySQL/PG workload;不想再运维"每个副本一份全量数据 + binlog/WAL 复制延迟"的传统主从。
机制
Aurora 把 redo log 作为唯一的写路径:计算层只把日志记录发给存储层,由存储节点负责落盘、回放、生成数据页;存储层 6 副本跨 3 AZ(写 quorum 4/6、读 quorum 3/6),连续备份到 S3。只读副本不存独立数据——挂载同一份分布式存储、只重放收到的日志,加副本≈挂载卷;崩溃后只需重放未应用的日志,RTO 大幅缩短。
生产验证
AWS SIGMOD'17 论文公开了上述设计(厂商论文,机制部分可信);社区架构深潜总结将其提炼为云原生数据库的范式转移(https://github.com/design-gurus/grokking-system-design/blob/HEAD/deep-dives/aurora-cloud-native-database.md)。厂商"快 5 倍于 MySQL"口径(sysbench 类基准)无生产 workload 独立复现。
竞品差距
RDS MySQL/PG、自建主从——每个副本一份全量数据拷贝 + 复制延迟,加副本慢、延迟高、存储成本线性涨;Oracle RAC——多写但无存算分离的弹性扩展;PolarDB——同路线(阿里云版实现),两者是路线之争而非代际差。在 AWS 生态内,"读扩展不加存储成本"是独占体验。
证据等级
社区共识 + 厂商论文(机制)+ 架构深潜总结
最后核验
2026-10-01

内核 Backtrack 时间倒流 + 秒级克隆 —— 把"恢复"变成"撤销"

一句话
Aurora MySQL 可把整个集群原地回拨到过去 72 小时内任意一秒,无需从备份恢复;TB 级库几分钟克隆出完整可写副本做测试。
窄场景
误删/误更新后的快速自救("刚才那条 UPDATE 没加 WHERE")、上线前影子验证、给测试环境快速造一份生产级数据。
机制
Backtrack 利用 Aurora 连续备份到 S3 的日志流:回拨时把集群"倒带"到目标时间点重放,原地完成,不走"找备份→起新实例→恢复全量→追日志"的传统 PITR 链路。克隆用写时复制:新集群只记录与源的差异页,创建即完成,之后按实际写入收费。
生产验证
Jeff Barr 官方博客发布该功能,给出操作路径与 72 小时窗口说明(https://aws.amazon.com/blogs/aws/amazon-aurora-backtrack-turn-back-time/)。诚实标注:英国司法部 OPG-LPA 的公开运维 runbook 检索中确认依赖 Backtrack 做恢复,但逐字 URL 未留存。
竞品差距
传统 PITR(RDS、自建 MySQL/PG)TB 级恢复要数十分钟到数小时,RTO 差出数量级;RDS 快照克隆分钟级但按全量收费。"后悔药"的 RTO 只有 Aurora 一个量级。
证据等级
官方博客 + 第三方公开生产 runbook(URL 未留存,诚实标注)
最后核验
2026-10-01

避坑 I/O 按次计费 —— 一个未优化查询就能炸掉账单

一句话
Aurora Standard 按 I/O 请求次数计费,缺索引/全表扫描类查询会把账单推上天——这是社区对 Aurora 最大的恐惧。
窄场景
查询质量不可控(ORM 生成的烂 SQL、临时分析查询直接打生产)、I/O 密集型 workload;选型时只看实例单价、没算 I/O 账的团队。
机制
Aurora Standard 的计费 = 实例费 + 存储费 + I/O 请求费。存算分离的代价是:每次逻辑读都可能变成对存储层的 I/O 请求并计费。一个全表扫描在自建 MySQL 上只是慢,在 Aurora 上是"慢 + 烧钱"。AWS 被迫推出 I/O-Optimized 配置(固定单价约贵 30%、免去按次 I/O 计费)——等于官方承认了该模式的账单不可预测性。
生产验证
HN 讨论串是社区共识现场:"I/O charges" 是 Aurora 用户最大的账单惊吓来源,多人分享被意外账单教育的经历(https://news.ycombinator.com/item?id=37079909)。
竞品差距
RDS MySQL/PG、自建——I/O 成本含在机器里,慢查询只慢不贵;Aurora Serverless v2 同样有 I/O 计费问题。这是 Aurora 独有的"财务风险维度",选型必须做 I/O 建模。
证据等级
社区共识(HN 讨论串,多人生产账单经历)
最后核验
2026-10-01

用户最买账的 5 点

  1. 故障切换快
    • 为什么是真的:共享存储免数据拷贝,提拔 reader + 切 DNS 即可;厂商口径通常 30 秒内,社区实测 30~60 秒端到端,显著快于传统主从重建。
    • 边缘与限度:快的是"数据库恢复",应用恢复取决于 DNS 缓存与重连工程;无 reader 的集群故障时间拉长到分钟级;配 RDS Proxy 或 Advanced JDBC Wrapper 才能把应用侧也压到秒级。
  2. 运维省心
    • 为什么是真的:OS/引擎打补丁、备份、存储扩容全托管;小版本可自动升级;计算层无状态,实例坏了重建即可。
    • 边缘与限度:省的是"机器运维",不是"数据库运维"——慢 SQL、索引、参数调优、版本升级规划一件不少;无 SUPER 权限意味着某些救火手段(如直接改系统表、装任意扩展)用不了,救火天花板比自建低。
  3. 读扩展容易
    • 为什么是真的:加 reader 不拷贝数据,分钟级上线,最多 15 个;reader endpoint 自动分发。
    • 边缘与限度:endpoint 是 DNS 轮询不是真负载均衡,长连接池不回收会读不均;PG 的 ReplicaLag 是 page-cache 语义,平稳期之外的延迟解读要小心;写扩展没有——单 writer 是硬天花板,写到头只能上 Limitless(PG only)或分库分表。
  4. Serverless 弹性
    • 为什么是真的:0~256 ACU 按秒计费,扩容连接不断;波动负载和开发环境是真的省。
    • 边缘与限度:见深水区六——地板价、存储费、阻止暂停的四种配置、冷启动;I/O-Optimized 下 ACU 单价更贵,选存储配置要连 ACU 单价一起算。
  5. MySQL / PG 兼容,迁移平滑
    • 为什么是真的:协议兼容,JDBC/ORM/DMS/Debezium 通用;从自建 MySQL/PG 迁过来应用层基本不用改。
    • 边缘与限度:兼容的是"协议与大部分语法",不是"运维习惯"——MyISAM 表要转 InnoDB、压缩表要解压、keyring/TDE 要改 KMS 卷加密、SUPER 权限要降级、C 扩展/PAM 认证要重做(官方迁移限制清单);版本滞后意味着社区新特性要等。

吐槽清单

分类吐槽影响版本状态
成本坑Standard 版 I/O 按量计费,内存配小/缺索引时 I/O 费可超计算费数倍(真实账单案例 I/O 占 68%~88%)Standard 版全引擎partially-fixed(I/O-Optimized 可解,需主动切换,30 天限切一次)
成本坑存储自动扩容只增不减;删 50% 数据当月账单按 GB-Month 均值只降约 10%社区实测;手动快照永久保留持续收费,删集群忘删快照是经典漏水全引擎open
成本坑Performance Insights 超 7 天保留收费、Enhanced Monitoring 走 CloudWatch Logs 计费、日志导出按量收费——开了长保留才发现账单项全引擎open
成本坑Global Database 跨 Region 传输费 + 复制 I/O 费另计,多 Region 预算至少 ×2Global Databaseopen
运维坑无 SUPER 权限(最高 rds_superuser);不能改 pg_hba.conf / ALTER SYSTEM / 建 C 函数 / 装非白名单扩展全引擎open(设计使然)
运维坑PG 扩展白名单:timescaledb、pgrouting、citus、自定义 C 扩展等不在列;想要只能发邮件请求,无 SLAAurora PGpartially-fixed(白名单逐年增加,pgvector/pg_cron 已支持)
运维坑大版本升级:MySQL 2→3 precheck 常失败、执行计划回退;PG 蓝绿部署要求源库无活跃逻辑复制槽(文档未写)、禁 DDL、切换后冷缓存需预热;in-place 无回滚全引擎open(每次大版本复现)
运维坑故障切换后 buffer cache 是冷的,性能数分钟到数小时才恢复全引擎open
运维坑DDL 必须在 writer 执行,reader 有复制延迟;大 DDL 期间读流量可能读到旧 schema;蓝绿期间禁 DDL全引擎open
性能坑Aurora MySQL reader 上 TempTable 溢出直接报 ERROR 1114,社区 MySQL 会转磁盘临时表——同样查询在 reader 上挂掉Aurora MySQL 3.xopen
兼容坑版本滞后:Aurora MySQL 3.x 小版本落后社区数月;Aurora PG 大版本落后数月到一年以上全引擎partially-fixed(MySQL 8.4 GA 后承诺大小版本跟进 SLA,厂商口径)
兼容坑MySQL InnoDB 表空间级 TDE(ENCRYPTION='Y')不支持、keyring 插件不支持、MyISAM/压缩表/C 语言 UDF/自定义插件/PAM 认证不支持Aurora MySQLopen(产品定位)
生态坑Serverless v1 已于 2025-03-31 EOL(自动迁移到 v2);老文档/博客的 v1 经验过期历史版本fixed-in-v2
授权坑仅 MySQL/PG 双引擎,无 MariaDB 兼容版;Oracle/SQL Server 只能走 RDS;闭源无自建,AWS 锁定全系open(产品定位)
运维坑Multi-AZ DB cluster(RDS 的 1 写+2 可读 standby)与 Aurora 被频繁混淆,failover 时间与计费模型搞混是高频选型错误概念open
中国区宁夏/北京区功能与版本滞后全球区、定价独立;Serverless v2 auto-pause 与 I/O-Optimized 在中国区的实际可用状态待验证中国区partially-fixed / 待验证

判决

  • 适合谁:已在 AWS 上的团队;不想运维数据库、愿意为托管付溢价的团队;读多写少、需要快速加读副本的业务;负载波动大/间歇性的业务(Serverless v2);需要跨 Region 读就近 + Region 级 DR 的全球化业务(Global Database);MySQL/PG 协议迁移上云。
  • 不适合谁:预算敏感的小库(同等规格 RDS 或自建更便宜,Aurora 存储层开销在小稳负载上不划算);写密集到单 writer 成为瓶颈且不愿接受 Limitless 分片改造成本的业务;需要最新社区 MySQL/PG 特性"第一时间"上线的团队;重度依赖 PG 冷门扩展、SUPER 权限、自建插件的团队;多云/信创/出 AWS 部署要求。
  • 迁移成本:MySQL → 低(协议兼容,DMS/快照/XtraBackup 工具链成熟,注意 MyISAM/压缩表/TDE/keyring/SUPER 改造项);PostgreSQL → 低(协议兼容,注意扩展白名单与 rds_superuser 降级);Oracle → 高(无 Oracle 兼容模式,Babelfish 仅 PG 且 Limitless 不支持,走应用层改造或选 EDB 等)。

来源与待验证清单

  • 版本信息:AWS What's New(Aurora MySQL 3.13 GA 2026-08-28;Aurora MySQL 8.4 GA 2026-05-21)、AWS Aurora PostgreSQL 发版日历(18.4 / 17.10 / 16.14 / 15.18 均于 2026-08-21 发布;LTS:17.7 / 16.8 / 15.10)
  • 架构机制:Verbitski et al. SIGMOD 2017 论文(quorum 数学、log is the database);AWS 官方文档(存储上限 256 TiB 2025-07 公告、Global Database、写转发、Backtrack、蓝绿部署);AWS Database Blog(Serverless v2 缩到 0 ACU、写转发跨 Region 延迟实测、RDS Proxy 联动蓝绿 2026-04)
  • 深水区实测:DZone 热点抖动基准、re:Post(PG lag 语义、DNS 问题)、社区 runbook(Global Database lag 阈值、switchover vs failover)、Debezium 社区笔记(Backtrack 与 Enhanced Binlog 互斥)、aws-samples db-advisor 技能库(成本模型、升级清单)
  • 吐槽采集:re:Post、Hacker News 账单讨论、GitHub 社区笔记、aws-samples 迁移限制清单
  • 待验证项:中国区 Serverless v2 auto-pause / I/O-Optimized 实际可用状态与定价差异;新集群默认加密 at-rest 的默认策略;MySQL vs PG failover 时长的可区分数字;存储层热点的分区级限流数字
  • 下次评审:跟踪 Aurora MySQL 8.4 的版本跟进 SLA 是否兑现(官方承诺大版本 12 个月/小版本 3 个月)、Aurora PG 19 的发版节奏、Limitless 的扩展白名单与生产案例成熟度