2019 年 10 月 15 日,AWS 的首席布道者 Jeff Barr 在官方博客发布标题为《迁移完成–亚马逊的消费者业务部关闭最后的 Oracle 数据库》的文章,以下内容由云头条编译发布。
在亚马逊工作的 17 年间,我发现工程团队的同事们永远不满足于良好的现状。他们会定期评估每个内部系统,尽可能地提高系统的可扩展性,高效性,高性能和安全性。一旦发现改进的途径,他们将竭尽毕生所学,彻底革新现有的架构和实现方法(implementation),有时甚至打散现有系统;必要时,从头再来。
我此刻向您介绍的内部数据库迁移工作就是上述观点的例证,这项工作经过几年的努力刚刚结束。多年来,我们意识到一个问题,即我们花太多时间管理和扩展数千个陈旧的 Oracle 数据库。公司的数据库管理员(DBA)未将精力聚焦在高价值的差异化工作,而是在事务速率不断攀升、存储数据总量节节增长的情况下,疲于保持系统的流畅运转。他们的大量时间都用于处理复杂且效率低下的硬件配置、许可证管理和许多其他本可以由现代化的托管数据库服务来处理的问题。
亚马逊消费者业务部门的 100 多个团队参与这项迁移工作,包括 Alexa,Amazon Prime,Amazon Prime Video,Amazon Fresh,Kindle,Amazon Music,Audible,Shopbop,Twitch 和 Zappos 等直面客户的团队,以及 AdTech,Amazon Fulfillment Technology,消费者付款,客户退货,Catalog Systems,交付体验,数字设备,外部付款,财务,InfoSec,市场, 订购和零售系统.
迁移完成
我高兴地宣布,数据库迁移工作现已完成。亚马逊的消费者业务部门刚刚关闭了最后一些 Oracle 数据库(某些第三方应用程序已与 Oracle 紧密绑定,因此尚未迁移)。
我们将存储在近7,500 个 Oracle 数据库中的 75 PB 内部数据迁移到多项 AWS 数据库服务,包括 Amazon DynamoDB,Amazon Aurora,Amazon RelationalDatabase Service(RDS)和 Amazon Redshift。迁移过程无需停机,覆盖面广泛,涵盖我们全部的专有系统,如复杂采购,目录管理,订单执行,会计和视频流工作负载。我们仔细分析了成本和性能,并得出如下的结论:
- 降低成本:基于我们的应用规模以及所享受的折扣率,我们将数据库成本降低了 60% 以上。从 Oracle 切换到 AWS 可使周期客户报告的成本节省 90%。
- 提升性能:面向消费者的应用程序延迟降低 40%。
- 管理费用:切换到托管服务可将数据库管理支出减少 70%。
数据迁移使内部团队自由选择最契合其需求的专用 AWS 数据库服务,使他们更好地控制预算和成本模型。低延迟服务已迁移到 DynamoDB 和其他高度可扩展的非关系型数据库,例如 Amazon ElastiCache。具有数据高度一致性要求的事务型关系工作负载已移至 Aurora 和 RDS;分析型工作负载已迁移到我们的云数据仓库 Redshift。
我们见证了 Oracle 数据库的最终关闭,并进行了简短的庆祝:
DBA 职业道路正如我之前所提到的,DBA 们曾经花费大量时间管理和扩展陈旧的 Oracle 数据库。迁移后,DBA 解放了双手,他们更专注于执行性能监视和查询优化,所有这些都是为了提供更好的客户体验。
作为迁移工作的一项任务,我们努力为 Oracle 的 DBA 创造新的职业道路,培训他们成为数据库迁移专家和顾问,培训内容包括 AWS 数据库技术,云架构,云安全性,OpEx 式成本管理。他们现在以顾问身份与内部和外部客户一起工作,如此一来,他们有机会在大规模迁移关键任务数据库的项目中共享第一手经验。 迁移案例下面列举几个迁移案例:
- 广告——迁移后,该团队在 RDS 的支持下,在数分钟内将数据库机队规模(及其吞吐量)增加一倍,以适应高峰流量,而这种扩展工作通常需要耗时数月。
- 买方欺诈——在 Amazon Aurora 的支持下,该团队在短短一小时的停机时间内迁移 40 TB 的数据,并以一半的成本实现了相同,甚至更好的性能。
- 财务分类帐——该团队迁移了 120 TB 的数据,将延迟减少了 40%,将成本和费用支出均降低 70%,这一切都得益于 DynamoDB 的支持。
- 钱包——该团队将 100 多亿条记录迁移到 DynamoDB,将延迟减少 50%,并将运营成本降低 90%。