概览
从 1994 年一个人的初创企业,发展为如今全球领先的电子商务网站之一,Amazon.com 一路克服了诸多挑战。然而,成功也带来了新的挑战,如今该公司面临的一项挑战,会随其成功程度的提升而愈发严峻。
“作为全球最大的在线零售商之一,Amazon 也是全球在线欺诈的主要目标之一。”Amazon 交易风险管理服务(TRMS)团队的软件开发经理 Balachandra Krishnamurthy 表示,“客户在我们的网站和移动应用程序上进行的购买每秒达数百次,我们必须对每一项交易进行筛选,从中发现欺诈行为。”
为此,TRMS 团队的买家反欺诈服务(BFS)系统会为每笔订单收集超过 2000 个实时和历史数据点,并使用机器学习算法检测和防范欺诈概率高的交易。买家欺诈服务(BFS)每年可防范数百万美元的欺诈交易。
“我们投入了大量资源应对欺诈,这不仅是为了保护 Amazon 的盈利,更是为了维系客户和卖家对我们的高度信任。”Krishnamurthy 表示,“Amazon 作为安全标准极高的平台享有盛誉,我们承诺每时每刻都维护这一声誉。”
Amazon Aurora 是此次迁移中最顺利的部分。它从未给我们带来任何一点麻烦。
Josh Gage
Amazon.com 高级软件开发工程师Oracle 数据库不再适用
考虑到这一承诺,TRMS 决定将 100 多个本地 Oracle 数据库迁移到 Amazon Web Services(AWS),其中存储了 40 TB 用于识别欺诈交易的机器学习模型数据。
使用 Oracle 数据库给 TRMS 带来了诸多挑战,例如数据库管理复杂,需要三名工程师全职负责。在峰值负载下,TRMS 团队还面临延迟过高的问题,这影响了系统的有效运行;而解决这些问题需要复杂的、耗时数年的工程项目。此外,2017 年该团队仅硬件配置就花费了 100 小时(不含安装和测试),而他们本希望将这些时间用于更具战略性的工作。
由于买家欺诈服务是一个至关重要的应用程序并且必须以 99.995% 的可用性运营,TRMS 决定使用与 PostgreSQL 兼容的 Amazon Aurora 作为托管其数据库的新平台。Amazon Aurora 是一项同时兼容 MySQL 的云数据库服务,它融合了 Oracle 级的性能与可用性,以及开源数据库的简易性,速度可达标准 PostgreSQL 数据库的三倍。
AWS 数据库迁移服务实现顺畅迁移
尽管迁移到 Amazon Aurora 的理由充分,但团队清楚,迁移一个高吞吐量、高可用性的大型系统也会带来重大挑战。“此次迁移最棘手的是,要迁移如此庞大的数据库,及其所处理的大量交易,同时还要将停机时间降至最低。”TRMS 团队的高级软件开发工程师 Josh Gage 表示,“以 40TB 的数据量,这成为公司历史上向 AWS 迁移的最大规模数据库项目。”
为降低迁移的技术复杂度,TRMS 决定先对买家欺诈服务(BFS)进行平台迁移,暂不进行架构重构。“我们决定进行平台迁移,是为了在尽可能减少干扰的同时,加快迁移速度。”Krishnamurthy 表示,“我们将在后续阶段进一步优化服务设计和数据库架构。”
为快速、安全地完成项目,团队采用了包含 AWS Database Migration Service(AWS DMS)的迁移技术栈。该服务支持与主流商业数据库和开源数据库之间的双向迁移。迁移过程中,AWS DMS 会自动将源数据库中的数据变更复制到目标数据库,因此源数据库可保持运行,直至最终切换。
尽管迁移的数据量庞大,但整个项目仅用六个月完成,且停机时间仅一小时。Gage 将项目成功的很大一部分归功于 Amazon Aurora 的灵活性和易用性。例如,创建 Aurora 只读副本的能力在迁移过程中提供了很大帮助。
“迁移期间,我们能够在大约一小时内启动与 Oracle 数据库完全同步的新数据库实例。”Gage 表示,“这让我们能够灵活尝试不同方法,找到最适合的方案。”
借助 Amazon Aurora 实现更简单的扩展和更低的成本
Krishnamurthy 表示,他对新解决方案的性能和稳定性非常满意。“自从迁移到 Aurora 之后,一切运行都非常顺利。”他表示,“从未出现过数据库中断的情况,而且我们再也不用担心遇到曾在 Oracle 上遇到的执行计划翻转情况。”
如今,AWS 负责大部分管理工作(如补丁更新、维护、备份和升级),工程师可以将精力转向更有价值的工作。“以前,我们需要三名数据库工程师来维护 Oracle 数据库的更新,并负责重新分区、索引优化等性能提升工作。”Gage 表示,“由于 Aurora 将管理开销减少了约 70%,我们不再需要这些资源来维持基本运营,而是可以将其投入到更有价值的任务中。”
此次迁移还带来了显著的成本节约。“迁移的另一个重大好处是,在 AWS 上托管数据库的成本更低。”Krishnamurthy 表示,“在 Amazon Aurora 上,,我们获得了与 Oracle 相当的性能,但成本不到后者的一半。”
此外,借助 AWS,团队不再担心扩展问题。“迁移后,我们对新旧系统进行了负载测试,每秒每分片处理的交易数最高达 900 笔。”Gage 表示,“Aurora 轻松应对这一负载,CPU 使用率极低,而 Oracle 则出现了性能下降。在 Amazon Prime Day 期间,所有区域的系统也都运行正常,这表明 Aurora 能轻松应对峰值流量。”
Gage 表示,该项目的难度远低于一些人的预期。“最终,从 Oracle 迁移到 AWS 变得非常简单。我们遇到了一些障碍,但无论是靠自己,还是在 AWS DMS 团队的帮助下,都成功克服了。他们为产品提供了堪称典范的支持。Amazon Aurora 是此次迁移中最顺利的部分。它从未给我们带来任何一点麻烦。”
AWS 带来的效益
- 仅停机 1 小时即完成了 40 TB 数据的迁移
- 仅用 6 个月完成迁移
- 扩展至每秒每分片处理 900 笔交易,且 CPU 使用率极低
- 性能与 Oracle 相当,成本仅为其一半
关于 Amazon
Amazon.com 是全球领先的在线零售商,也是客户评论、一键购物、个性化推荐、Prime、AWS、Kindle、Alexa 等众多产品和服务的开创者。
开始使用
无论行业无论规模,每天都有各种机构在使用 AWS 实现自身业务转型、实现企业愿景。欢迎您联系我们的专家,立即踏上您的 AWS 之旅。