一、执行摘要
成本下降的真正原因被掩盖
不是 OB 替换带来的节省,而是内存化撮合引擎上线后业务架构变化,以及购买 RI 后成本自然下降
对比基准本身就不对
24年底/25年初 RI 覆盖率不到两成;撮合引擎内存化后 Aurora 角色完全变了;拿高配撮合的成本对比只做记录的成本不公平
OB 成本计算不完整
只算了 AWS 基础设施,没算 License、备份、运维成本
核心结论
二、项目背景与关键人物
客户情况
| 客户名称 | Hashkey |
| 行业定位 | 香港合规加密货币交易所(即将上市) |
| 当前风险 | 计划将 Aurora 迁移至 OceanBase |
| 窗口期 | 农历新年后约2周 |
| 决策人 | CTO Steven |
| 执行层阻力 | DBA 陈兴隆(明确 defence OB) |
CTO Steven 决策优先级
根据饭局反馈,Steven 的决策优先级为:
关键人物分析
三、成本问题全面剖析
问题一:时间点分歧的具体表现
我方立场(Weichi)
- 选择 2025年9-11月平均值
- Aurora 平均成本约 $20.3K/月
- OB 优化后成本约 $18.7K/月
- 差异约10个百分点
客户立场(陈兴隆)
24年底/25年初是 Aurora 成本的最高峰时期,用这个时期对比优化后的 OB 成本,显然不公平。
Urgan 补充的关键信息(这个在与客户会议中没有说):
这意味着:24年底/25年初 Aurora 成本高,是因为 RI 覆盖率低。后来成本下降,很大一部分是因为买了 RI,不是因为 OB 替换带来的"节省"。
问题二:成本为什么高?为什么低?
25年12月切换的时候忽然就少了那么多,少了400刀一天,这400刀少在哪里?谁能给我解释清楚?老板问的时候怎么答?"
成本变化详细时间线
你给他的东西让他心服口服,这个东西应该是个渐变的,渐变怎么变的?我觉得这才有说服力。"
具体要求:
- 每个月什么配置(实例类型、数量、RI 覆盖率)
- 每个集群做什么 workload
- 哪里加了 RI、哪里降了配
- 具体数字,不是一句话
问题三:OB 成本计算不完整
成本构成对比
| 成本项 | OceanBase | Aurora |
|---|---|---|
| EC2 实例 | ✓ 包含 | ✓ 包含 |
| 存储 | ✓ 包含(EBS) | ✓ 包含(IO Optimize) |
| 数据传输 | ✓ 包含 | ✓ 包含 |
| License 费用 | ✗ 未计算 | ✓ 已包含 |
| 备份存储 | ✗ 未计算 | ✓ 已包含 |
| 运维人力 | ✗ 未计算 | ✓ 托管服务 |
成本对比的真实数据
1. Aurora 用的是9-11月数据(RI 已加满),如果用24年底/25年初数据 Aurora 会更高——但那时候 RI 覆盖率不到两成,不公平
2. OB 成本只算了 AWS 基础设施,没算 License、备份、运维
我们需要客户补齐的信息
信息清单
- 25年1-12月每月 Aurora 配置变化
- 实例类型、数量
- RI 覆盖率
- 存储配置
- 每个月哪些 workload 被迁移到 OB
- 具体业务类型
- 迁移时间点
- RI 购买时间和覆盖范围
- 撮合引擎内存化的确切上线时间
教训:历史配置问题不要再提
这段历史问题反而暴露了 Aurora 在特定配置下的劣势,被客户利用作为反驳论据。
与CTO的成本沟通策略
第一,时间点选择。我们看了一下数据,24年底25年初那会儿,我们的 RI 覆盖率还不到两成,成本自然偏高。后来4月份补上 RI 之后,成本就下来了。如果拿那个时候的高点来对比优化后的 OB 成本,这个基准本身就不对。
第二,业务架构变化。我们了解到您的撮合引擎在 Q2-Q3 已经内存化了。这意味着 Aurora 从以前承担撮合读写,变成了现在只做记录。用量下降是架构变化带来的,不是 OB 替换省下来的。
第三,成本计算口径。OB 那边的成本只算了 AWS 基础设施——EC2、EBS、数据传输。没算 License,没算运维成本。Aurora 作为托管服务,这些都已经包含在价格里了。"
四、关键突破:内存化撮合引擎
发现过程
所以我们那时候会觉得说他的那个 Aurora 的下降其实是符合预期,因为真的用不到。就不用那个同步操作,因为当前的合约国际站改造完了。"
齐俊的确认(后续补充)
这意味着什么
架构变化前(24年底/25年初)
- Aurora 承担撮合引擎的读写负载
- 需要高性能、高可用配置
- 成本较高是合理的
架构变化后(25年Q2-Q3)
- 撮合引擎内存化,不再依赖数据库
- Aurora 只用于记录交易结果
- 对性能要求大幅降低
- 成本自然下降
- Aurora 用量下降是业务架构变化导致的
- 不是 OceanBase 替换带来的"节省"
- 用24年底/25年初的数据做对比没有意义
- 那时候的配置和业务场景已经完全不同了
与CTO的沟通话术
五、性能对比深度分析
核心结论
测试背景说明
客户(陈兴隆团队)之前做过 Aurora vs OB 的性能测试,结果显示 OB 性能更好。但我们对测试方法有疑问。
我们的测试环境
| 配置项 | Aurora | OceanBase |
|---|---|---|
| 版本 | 3.10.2 (LTS) | 4.3.53 |
| 机型 | r8g.4xl | r7i.2xl × 3 |
| CPU/内存 | 16c/128GB | 租户 16c/128GB |
| 存储 | IO Optimize | IO2 |
| 测试客户端 | r6g.2xl | r6a.2xl |
| 测试表 | 16张 × 100万行 | 16张 × 100万行 |
| 测试模式 | 读写混合 | 读写混合 |
测试结果详细对比
| 数据库 | 平均QPS | 平均95%延迟 | 抖动占比 |
|---|---|---|---|
| Aurora MySQL 8g | 107,960 | 12.11 ms | 0% |
| OceanBase-7i | 44,579 | 33.09 ms | 0.95% |
| OceanBase-6i | 39,040 | 37.54 ms | 0.82% |
| 数据库 | 平均QPS | 平均95%延迟 | 抖动占比 |
|---|---|---|---|
| Aurora MySQL 8g | 108,941 | 11.94 ms | 0% |
| OceanBase-7i | 42,338 | 35.78 ms | 1.45% |
| OceanBase-6i | 39,121 | 38.64 ms | 1.20% |
可视化性能对比
为什么客户测试结果与我们不同
客户测试 vs 我们测试
| 配置项 | 客户测试 Aurora | 我们测试 Aurora | 差异说明 |
|---|---|---|---|
| 版本 | 可能是旧版本 | 3.10.2 (LTS) | 新版性能优化 |
| 机型 | 可能是旧机型 | r8g.4xl | R8G 性能更好 |
| QPS (16c128g) | 20,783 | 188,531 | 9倍差距 |
| 99th延迟 | 59.99ms | 16.12ms | 3.7倍差距 |
OB 为什么会有抖动
技术原理
技术原因:
- OceanBase 使用 LSM-Tree 存储引擎
- 写入时会触发 Mini Merge(转储)和 Major Compaction(合并)
- Merge 过程中会产生大量写 IO,导致 tx committing wait 和 db file compact write 等待事件
- 时间越长,发生 Merge 的概率越大,抖动越明显
GP3 vs IO2:封死客户退路
Urgan 的判断: "客户如果要把业务转成 GP3,那他准备等死。把他的退路直接封死。"
| 指标 | IO2 | GP3 | GP3 相对劣势 |
|---|---|---|---|
| 平均响应时间 | 基准 | 约 3 倍 | 延迟高3倍 |
| 2倍延迟抖动占比 | 0% | 5.6% | 抖动严重 |
| 3倍延迟抖动占比 | 0% | 11% | 严重抖动 |
| 抖动发生概率 | 基准 | 20倍以上 | 极不稳定 |
与CTO的性能沟通话术
延迟只有 OB 的三分之一,12毫秒 vs 33毫秒。
最重要的是,Aurora 完全没有性能抖动,而 OB 有接近1.5%的时间会出现延迟突增。"
六、易用性对比深度分析(扩缩容)
Aurora 切换能力的演进
| 方案 | 切换时间 | 连接状态 | 说明 |
|---|---|---|---|
| 传统方式 | ~1分钟 | 中断 | 需要应用重连 |
| JDBC Wrapper | 2.8秒 | 不中断 | OKX 客户实测 |
| Blue-Green | 27ms | 不中断 | 实验室验证 |
JDBC Wrapper 方案详解
技术原理
- AWS Advanced JDBC Wrapper 是一个驱动层插件
- 包含
bg(Blue-Green)、failover2、efm2等插件 - 能够感知集群状态变化,自动切换连接
- 连接被 Wrapper hold 住,应用层无感知
- 重试机制:5次尝试,500ms 退避
实际效果
| 切换时间 | 2.8秒 |
| 连接状态 | 不中断 |
| 应用改造 | 仅需修改 JDBC URL |
| 客户案例 | OKX(TOP3 交易所) |
Blue-Green 部署方案
OB 扩缩容的真实情况
我们测试发现: 宣传是片面的,只有扩容时成立,缩容时有严重问题。
| 场景 | OB 实际表现 | 问题严重程度 |
|---|---|---|
| 租户扩容 | 无中断,无性能波动 | ✅ 正常 |
| 集群扩容 | 最高 10倍+性能下降,持续40秒 | ⚠️ 有问题 |
| 租户缩容 | QPS 跌到0,约4秒 | ❌ 严重 |
| 集群缩容 | 连接中断,需重连 | ❌ 严重 |
注:陈兴隆没有否认这个问题,只是回避了讨论。
香港 R8G 机型问题
重要性:
R6/R7/R8 性能对比
| 对比 | 性能差异 |
|---|---|
| R6 → R7 | 差距不明显 |
| R6 → R8 | 绝对性的差距 |
与CTO的易用性沟通话术
我们还有 Blue-Green 部署方案,可以做到 27毫秒切换,这是我们在实验室验证的结果。"
缩容的时候,租户缩容会导致 QPS 跌到0,集群缩容会导致连接中断。这个信息可能您的团队没有提到。"
七、与CTO沟通完整指南
沟通目标
主要目标
- 纠正成本认知偏差:30% → 实际3%
- 解释成本为什么高/低:RI、架构变化、计算口径
- 展示技术能力升级:切换从分钟级降到秒级
- 揭示OB的真实问题:缩容时QPS跌0、连接中断
- 给CTO一个"不动"的台阶:迁移风险大、收益小
核心策略
Steven 关心的是:稳定性 > 弹性 > 成本
我们的故事线要对应这个优先级:
- 稳定性:性能2.5倍,完全无抖动
- 弹性:JDBC Wrapper 2.8秒切换
- 成本:差异只有3%,不值得冒险
完整沟通流程(总时长约23分钟)
- 抛出结论:差异只有3%,不是30%
- 解释三个原因:时间点、架构变化、计算口径
- 强调:RI 覆盖率、内存化撮合、License 未计算
- 数据呈现:QPS 2.5倍、延迟低3倍、零抖动
- 业务影响:1.5万笔交易可能受影响
- 解释测试差异:版本和机型
- 展示改进:JDBC Wrapper 2.8秒切换
- 揭示OB问题:缩容QPS跌0、连接中断
- 强调:TOP3 客户已验证
完整话术逐字稿
第一,时间点选择。我们看了一下数据,24年底25年初那会儿,我们的 RI 覆盖率还不到两成,成本自然偏高。后来4月份补上 RI 之后,成本就下来了。如果拿那个时候的高点来对比优化后的 OB 成本,这个基准本身就不对。
第二,业务架构变化。我们了解到您的撮合引擎在 Q2-Q3 已经内存化了。这意味着 Aurora 从以前承担撮合读写,变成了现在只做记录。用量下降是架构变化带来的,不是 OB 替换省下来的。
第三,成本计算口径。OB 那边的成本只算了 AWS 基础设施——EC2、EBS、数据传输。没算 License,没算运维成本。Aurora 作为托管服务,这些都已经包含在价格里了。"
延迟只有 OB 的三分之一,12毫秒 vs 33毫秒。
最重要的是,Aurora 完全没有性能抖动,而 OB 有接近1.5%的时间会出现延迟突增。"
我们还有 Blue-Green 部署方案,可以做到 27毫秒切换。"
Aurora 不仅能满足当前需求,还能支撑您上市后的业务扩展——合约、CaaS、全球共享流动性这些,我们都能支持。
迁移有风险——学习曲线、潜在问题、运维负担。而收益呢?只有3%的成本差异。我们觉得不太值得。
当然,如果您觉得还有什么需要我们证明或者深入聊的,我们随时配合。"
关键话术速查卡
"实际差异只有3%,不是30%。24年底 RI 覆盖率不到两成,成本自然高。OB 的成本还没算 License。"
"撮合引擎内存化后,Aurora 只做记录。用量下降是架构变化带来的,不是 OB 替换省的。"
"性能2.5倍,延迟低3倍,完全无抖动。"
"JDBC Wrapper 2.8秒切换,连接不断。OB 缩容会导致 QPS 跌0。"
八、风险与应对策略
应对话术: "测试结果的差异主要来自版本和机型。我们用的是最新的3.10.2版本和R8G机型。如果需要,我们可以安排一次联合测试,用相同的环境和参数对比。"
关键策略: 保持冷静,数据说话。不要陷入技术口水仗。把问题抛回给 Steven:"这些都是技术细节,我们可以安排专门的技术会议详细讨论。关键是从业务角度看,迁移的风险和收益是否匹配。"
应对话术: "我理解这个想法。但有两个问题:1. 24年底那会儿 RI 覆盖率不到两成,成本自然偏高。如果当时就买了 RI,成本会低很多。2. 更重要的是,撮合引擎内存化之后,Aurora 的角色完全变了。用高配撮合的成本对比只做记录的成本,这个基准本身就不对。我们建议聚焦在当前的实际使用场景来评估。"
应对话术: "R8G 在香港的落地我们正在推进,预计 Q1 完成。不过即使用现在的 R7 机型,性能也比之前有明显提升。而且您现在的业务主要在日本区,等迁回香港的时候,R8G 应该已经就绪了。"
应对话术: "理解您的决定。不过在正式执行前,我们建议再评估一下迁移风险:1. 学习曲线——团队需要时间适应新系统。2. 潜在问题——OB 缩容时的 QPS 跌0 问题在生产环境可能更严重。3. 运维负担——自建数据库的运维成本。如果收益只有3%的成本差异,这个风险收益比值得再考虑一下。"
应对话术: "全球架构这块,Aurora Global Database 可以支持跨区域复制,延迟通常小于1秒。具体的方案设计,我们可以安排专门的架构讨论。您上市后的业务扩展需求——合约、CaaS、全球共享流动性——我们都能支持。"
九、后续行动项
紧急 Rehearsal 前完成(01/15 上午11点前)
高优先级 与 CTO 会面时分工
需要客户补齐的信息
- 25年1-12月每月 Aurora 配置变化
- 实例类型、数量
- RI 覆盖率
- 存储配置
- 每个月哪些 workload 被迁移到 OB
- 具体业务类型
- 迁移时间点
- RI 购买时间和覆盖范围
- 撮合引擎内存化的确切上线时间
结语
准备就绪,可以开始了。
十、附录:详细技术数据
| 并发 | Aurora QPS | Aurora 95%延迟 | OB-7i QPS | OB-7i 95%延迟 |
|---|---|---|---|---|
| 8 | 21,719 | 6.79ms | 8,348 | 18.61ms |
| 16 | 39,314 | 7.84ms | 18,911 | 15.83ms |
| 32 | 71,220 | 8.58ms | 35,428 | 17.32ms |
| 64 | 124,479 | 9.56ms | 53,656 | 26.20ms |
| 128 | 189,862 | 13.70ms | 65,547 | 47.47ms |
| 256 | 201,172 | 26.20ms | 85,582 | 73.13ms |
| 并发 | Aurora QPS | Aurora 95%延迟 | OB-7i QPS | OB-7i 95%延迟 |
|---|---|---|---|---|
| 8 | 22,267 | 6.55ms | 8,811 | 17.95ms |
| 16 | 40,010 | 7.84ms | 17,060 | 17.63ms |
| 32 | 70,730 | 8.74ms | 34,441 | 17.95ms |
| 64 | 124,273 | 9.56ms | 52,432 | 27.66ms |
| 128 | 187,928 | 13.70ms | 65,297 | 47.47ms |
| 256 | 208,443 | 25.28ms | 75,983 | 86.00ms |
| 扩缩容类型 | 数据库 | 方式 | 服务中断 | 服务影响 |
|---|---|---|---|---|
| 垂直扩容 | OB | 租户扩容 | 0 | 无影响 |
| OB | 集群扩容 | 0 | 最高10倍+性能下降,40s | |
| 垂直缩容 | OB | 租户缩容 | 0 | QPS 跌0,4s |
| OB | 集群缩容 | <1s | 连接中断 | |
| 垂直扩/缩容 | Aurora | 预置Failover | <4s | 需重试机制 |
| 垂直扩/缩容 | Aurora | JDBC Wrapper | 2.8s | 连接不中断 |
| 版本升级 | Aurora | Blue-Green | 27ms | 连接不中断 |
| 指标 | IO2 | GP3 | GP3 相对劣势 |
|---|---|---|---|
| 平均响应时间 | 基准 | 约 3 倍 | 延迟高3倍 |
| 2倍延迟抖动占比 | 0% | 5.6% | 抖动严重 |
| 3倍延迟抖动占比 | 0% | 11% | 严重抖动 |
| 抖动发生概率 | 基准 | 20倍以上 | 极不稳定 |
| 指标 | 结果 |
|---|---|
| 最快停机时间 | 27ms |
| 成功率 | 100% |
| 永久失败事务 | 0 |
| Worker 受影响率 | 约55%,由重试机制自动恢复 |
| 重试机制 | 5次尝试,500ms 退避 |
| 应用改造 | 仅需修改 JDBC URL |
| 时间 | 事件 | 对成本/架构的影响 |
|---|---|---|
| 2024年12月初 | 开始迁移部分 workload 到 OB | Aurora 成本开始波动 |
| 2025年3月前 | Aurora RI 覆盖率不到两成 | Aurora 成本较高(关键!) |
| 2025年3月12日 | 上线 OMS | 架构开始变化 |
| 2025年4月后 | 开始购买 RI | Aurora 成本开始下降 |
| 2025年 Q2-Q3 | 内存化撮合引擎上线 | Aurora 角色变化,用量大幅下降 |
| 2025年6月 | 国际站交易量下滑 | 做了缩容 |
| 2025年12月24日 | OB 降配 EBS | OB 成本降至 $18.7K |